كيفية مقارنة السلاسل في vba: مع الأمثلة
يمكنك استخدام الطرق التالية في VBA لمقارنة السلاسل:
الطريقة الأولى: مقارنة السلاسل الحساسة لحالة الأحرف
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
Next i
End Sub
سيقوم هذا الماكرو بإجراء مقارنة سلسلة حساسة لحالة الأحرف بين السلاسل في الخلايا المطابقة في النطاقين A2:A10 و B2:B10 وإرجاع TRUE أو FALSE في النطاق C2:C10 للإشارة إلى ما إذا كانت السلاسل متساوية أم لا.
الطريقة الثانية: مقارنة سلسلة غير حساسة لحالة الأحرف
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
Next i
End Sub
سيقوم هذا الماكرو بإجراء مقارنة سلسلة غير حساسة لحالة الأحرف بين السلاسل الموجودة في الخلايا المطابقة في النطاقين A2:A10 و B2:B10 .
توضح الأمثلة التالية كيفية استخدام كل أسلوب عمليًا مع قوائم السلاسل التالية في Excel:
مثال 1: مقارنة السلاسل الحساسة لحالة الأحرف في VBA
يمكننا إنشاء الماكرو التالي لإجراء مقارنة سلسلة حساسة لحالة الأحرف بين كل سلسلة مطابقة في العمودين A وB:
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يعرض العمود C القيمة TRUE إذا كانت السلاسل متساوية ولها نفس الحالة.
وبخلاف ذلك، يقوم العمود C بإرجاع FALSE .
المثال 2: مقارنة السلاسل غير الحساسة لحالة الأحرف في VBA
يمكننا إنشاء الماكرو التالي لإجراء مقارنة سلسلة غير حساسة لحالة الأحرف بين كل سلسلة مطابقة في العمودين A وB:
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يعرض العمود C القيمة TRUE إذا كانت السلاسل متساوية، بغض النظر عن حالة الأحرف.
يقوم العمود C بإرجاع FALSE فقط إذا كانت السلاسل غير متساوية.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة StrComp في VBA هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
فبا: كيفية استبدال الأحرف في سلسلة
فبا: كيفية إزالة الأحرف الخاصة من سلسلة
VBA: كيفية تحويل سلسلة إلى int