Vba: صيغة بسيطة لـ "إذا كانت الخلية تحتوي على"


يمكنك استخدام بناء الجملة الأساسي التالي لاستخدام صيغة “إذا كانت الخلية تحتوي على” في VBA:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

يتحقق هذا المثال تحديدًا مما إذا كانت كل خلية في النطاق A2:A8 تحتوي على “سلحفاة”، ثم يقوم بتعيين “يحتوي على سلحفاة” أو “لا يحتوي على سلحفاة” لكل خلية مطابقة في النطاق B2:B8 .

ملاحظة : تتحقق طريقة Instr مما إذا كانت السلسلة تحتوي على سلسلة أخرى وتقوم طريقة LCase بتحويل النص إلى أحرف صغيرة لإجراء بحث غير حساس لحالة الأحرف.

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: كيفية استخدام “إذا كانت الخلية تحتوي على” في VBA

لنفترض أن لدينا قائمة الخلايا التالية في Excel تحتوي كل منها على نص مختلف:

لنفترض أننا نريد التحقق مما إذا كانت كل خلية في النطاق A2:A8 تحتوي على النص “سلحفاة” ونعرض النتائج في الخلايا المقابلة في النطاق B2:B8 .

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

يخبرنا العمود B ما إذا كانت الخلايا المقابلة في العمود A تحتوي على كلمة “سلحفاة” في مكان ما في النص أم لا.

ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب VBA Instr هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى

Add a Comment

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