عامل مثل VBA (أمثلة سهلة) | كيفية استخدام "Like" في Excel VBA؟

عامل مثل VBA

Like هو عامل في VBA وهذا عامل مقارنة يقارن سلسلة معينة كوسيطة في مجموعة من السلاسل وتتطابق مع النمط ، إذا تمت مطابقة النمط ، تكون النتيجة التي تم الحصول عليها صحيحة وإذا لم يتطابق النمط مع النتيجة التي تم الحصول عليها خاطئة ، هذا عامل يحمل في ثناياه عوامل في VBA.

عامل التشغيل "LIKE" هو المشغل الأقل استخدامًا على الرغم من استخدامه الرائع. لم أر الكثير من الأشخاص الذين يستخدمون هذا المشغل إلى حد كبير في الترميز الخاص بهم ، في الواقع ، أنا واحد منهم لا يستخدم هذا المشغل كثيرًا. يسمح لنا عامل التشغيل “VBA LIKE” بمطابقة نمط السلسلة مع السلسلة الكاملة. باستخدام عامل التشغيل VBA LIKE ، يمكننا مقارنة سلسلتين مقابل الطارئ المعطى. يمكننا التحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية في VBA أو يمكننا أيضًا التحقق مما إذا كانت السلسلة تحتوي على أي تنسيق محدد. إذا تطابق النمط مع السلسلة ، فسيقوم عامل VBA LIKE بإرجاع TRUE أو FALSE.

أثناء مطابقة السلاسل ، نحتاج إلى استخدام أحرف البدل للطالب الذي نحدده. فيما يلي أحرف البدل التي نستخدمها في مشغل VBA LIKE.

  • علامة الاستفهام (؟): تُستخدم لمطابقة أي حرف واحد من السلسلة. على سبيل المثال ، إذا كان لدينا سلسلة نصية "CAT" والنمط هو "C؟ T" ، فإن عامل التشغيل VBA LIKE سيعيد القيمة TRUE. إذا كانت السلسلة هي "CATCH وكانت الأنماط" C؟ T "، فإن عامل التشغيل VBA LIKE يقوم بإرجاع FALSE.
  • علامة النجمة (*): تتطابق مع صفر أو أكثر من الأحرف. على سبيل المثال ، إذا كانت السلسلة "Good" وكان النمط هو "G ** d" ، فإن عامل التشغيل VBA LIKE يقوم بإرجاع القيمة TRUE.
  • الأقواس ([]): هذا يطابق أي حرف واحد محدد بين قوسين.
  • [Char-Char]: هذا يطابق أي حرف واحد في نطاق Char-Char.
  • [! Chars]: هذا يطابق أي حرف واحد غير موجود في القائمة.
  • [! Char-Char]: هذا يطابق أي حرف واحد ليس في نطاق Char-Char.

أمثلة على VBA LIKE Operator

دعنا نرى بعض أمثلة عامل VBA LIKE الآن.

يمكنك تنزيل قالب VBA Like Excel هنا - قالب VBA Like Excel

مثال # 1 - مع علامة الاستفهام

رمز:

 Sub QuestionMark_Example1 () Dim k As String k = "Good" If k Like "Go؟ d" ثم MsgBox "Yes" Else MsgBox "No" End If End Sub 

في الكود أعلاه ، قمنا بتوفير السلسلة كـ "Good" والنمط هو "Go؟ d". نظرًا لأن علامة الاستفهام يمكن أن تتطابق مع حرف واحد ، فستظهر النتيجة على أنها "نعم".

الآن سوف أقوم بتغيير السلسلة إلى "صباح الخير".

رمز:

 Sub QuestionMark_Example1 () Dim k As String k = "Good Morning" If k Like "Go؟ d" ثم MsgBox "Yes" Else MsgBox "No" End If End Sub 

في هذه الحالة ، ستظهر "لا" لأننا أضفنا كلمة أخرى إلى الجملة ، أي الصباح. لمطابقة أي عدد من الأحرف ، نحتاج إلى استخدام علامة النجمة.

مثال # 2 - مع النجمة

رمز:

 Sub QuestionMark_Example2 () Dim k As String k = "Good Morning" If k Like "* Good *" ثم MsgBox "Yes" Else MsgBox "No" End If End Sub 

في المثال أعلاه ، أضفت علامتين نجميتين قبل وبعد الحرف "* جيد *". سيطابق هذا كلمة "Good" في السلسلة "Good Morning" ويعيد "Yes".

المثال رقم 3 - بأقواس []

رمز:

 Sub QuestionMark_Example3 () Dim k As String k = "Good Morning" If k Like "* [M] *" ثم MsgBox "Yes" Else MsgBox "No" End If End Sub 

يطابق الكود أعلاه الحرف المفرد المذكور في القوس "M" ويعيد النتيجة كـ "نعم".

المثال رقم 4 - بالأقواس والحروف الهجائية [AZ]

رمز:

 Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" If k Like "* [AD] *" ثم MsgBox "Yes" Else MsgBox "No" End If End Sub 

في ما سبق ، أشرت إلى الشخصيات المراد مطابقتها من A إلى D.

سيؤدي هذا إلى إرجاع "لا" لأنه لا توجد أحرف من A إلى D في السلسلة "Good Morning" .

الآن سأغير النمط إلى [آه]

رمز:

 Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" If k Like "* [AH] *" ثم MsgBox "Yes" Else MsgBox "No" End If End Sub 

سيؤدي هذا إلى إرجاع "نعم" لأنه من A إلى H لدينا الحرف "G" في السلسلة "Good Morning"

مثل هذا ، يمكننا استخدام عامل التشغيل VBA “LIKE” لمطابقة أي سلسلة من النمط بأحرف البدل.