كيفية استخدام عامل التشغيل 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: كيفية حساب الخلايا التي تحتوي على نص معين

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *