كيفية استخدام عامل التشغيل like في vba (مع أمثلة)
يمكنك استخدام عامل التشغيل Like في VBA لتحديد ما إذا كانت السلسلة تحتوي على نمط معين.
على سبيل المثال، يمكنك استخدام بناء الجملة التالي للتحقق مما إذا كانت كل سلسلة في نطاق الخلايا A2:A10 تحتوي على السلسلة الفرعية “hot” وعرض النتائج في النطاق B2:B10 :
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: كيفية استخدام عامل التشغيل Like في VBA
لنفترض أن لدينا قائمة الأطعمة التالية في برنامج Excel:
يمكننا إنشاء الماكرو التالي للتحقق مما إذا كانت كل سلسلة في العمود A تحتوي على السلسلة الفرعية “hot” وعرض النتائج في العمود B:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يشير العمود B إلى ما إذا كانت كل خلية مطابقة في العمود A تحتوي على السلسلة الفرعية “الساخنة” أم لا.
لاحظ أننا استخدمنا العلامات النجمية ( * ) حول السلسلة الفرعية للإشارة إلى أن أي حرف يمكن أن يأتي قبل أو بعد السلسلة “الساخنة” في الخلية.
إذا أردنا بدلاً من ذلك التحقق مما إذا كانت كل سلسلة تبدأ بـ “hot”، فيمكننا وضع علامة النجمة فقط بعد السلسلة الفرعية:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "hot*" Then
Range("B" & i) = "Starts with hot"
Else
Range("B" & i) = "Does not start with hot"
End If
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يشير العمود B إلى ما إذا كانت كل خلية متطابقة في العمود A تبدأ بـ “ساخن” أم لا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى باستخدام VBA:
فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى
VBA: كيفية حساب الخلايا التي تحتوي على نص معين