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

Add a Comment

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