سؤال
لدي حوالي 100 صفوف من النص الذي أرغب في تجميله، على حد سواء فيما يلي:
<word> <unknown number of spaces and tabs> <number>
أواجه مشكلة في العثور على وظائف تزيين مع VBA. ما هي أسهل طريقة لتكييف هذه السلاسل في VBA؟
المحلول
يمكنك قراءة السطر حسب الخط واستخدام وظيفة الانقسام لتقسيم الكلمة والعدد حسب الفضاء. أنا غموض Remeber VBA لديه وظيفة الانقسام.
حصلت على الرابط التالي من خلال البحث في Google. غير متأكد من إصدار Office الذي تستخدمه.
http://msdn.microsoft.com/en-us/library/aa155763(office.10).aspx.
هذا الرابط لديه وظيفة الانقسام.
نصائح أخرى
يمكنك استعمال ال Split()
الطريقة أو لمباريات أكثر تعقيدا، يمكنك استخدام "vbscript.regexp"
هدف:
Sub NewRegex()
Dim reg
Dim matches, match, tmpStr As String
Set reg = CreateObject("vbscript.regexp")
tmpStr = "blah bla ...."
With reg
.IgnoreCase = True
.MultiLine = False
.Pattern = "your regex pattern goes here"
.Global = True
End With
Set matches = reg.Execute(tmpStr)
For Each match In matches
MsgBox match
Next mt
End Sub
إليك برنامج تعليمي على استخدام Regex من VBA: باستخدام التعبيرات العادية (Regexp) في Excel
وظيفة سبليت VBA مباشرة من صفحة MS
http://msdn.microsoft.com/en-us/library/aa155763(office.10).aspx.