كيفية استخدام البحث والاستبدال في vba (مع أمثلة)
يمكنك استخدام الطرق التالية للبحث عن سلاسل محددة واستبدالها في نطاق باستخدام VBA:
الطريقة الأولى: البحث عن السلاسل واستبدالها (غير حساسة لحالة الأحرف)
Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks "
End Sub
سيستبدل هذا الماكرو المحدد كل تكرار لـ “Mavs” بـ “Mavericks” في النطاق A1:B10 .
الطريقة الثانية: البحث عن السلاسل واستبدالها (حساسة لحالة الأحرف)
Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks ", MatchCase:= True
End Sub
سيستبدل هذا الماكرو المحدد كل تكرار لـ “Mavs” بـ “Mavericks” في النطاق A1:B10 فقط إذا كانت الحالة تطابق .
على سبيل المثال، لن يتم استبدال السلسلة “mavs” لأنها لا تتطابق تمامًا مع حالة “Mavs”.
توضح الأمثلة التالية كيفية استخدام هذه الطريقة عمليًا مع مجموعة البيانات التالية في Excel:
المثال 1: البحث عن السلاسل واستبدالها باستخدام VBA (حساس لحالة الأحرف)
لنفترض أننا نريد استبدال كل تكرار لـ “Mavs” بـ “Mavericks” في النطاق A1:B10 .
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks "
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على النتائج التالية:
لاحظ أنه تم استبدال كل تكرار لـ “Mavs” بسلسلة “Mavericks” في عمود الفريق.
المثال 2: البحث عن السلاسل واستبدالها باستخدام VBA (حساس لحالة الأحرف)
لنفترض أننا نريد استبدال كل تكرار لـ “Mavs” بـ “Mavericks” في النطاق A1:B10 فقط إذا كانت الحالة تطابق .
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks ", MatchCase:= True
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أن هذا الاستبدال حساس لحالة الأحرف .
وهذا يعني أنه يتم استبدال كل تكرار لـ “Mavs” ولكن يتم ترك كل تكرار لـ “mavs” بمفرده.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى باستخدام VBA:
فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى
VBA: كيفية حساب الخلايا التي تحتوي على نص معين