كيفية استخدام البديل في vba (مع مثال)
يمكنك استخدام الأسلوب Substitute() في VBA لاستبدال كافة تكرارات نص معين في سلسلة بنص جديد.
تستخدم هذه الطريقة بناء الجملة الأساسي التالي:
البديل (نص، نص_قديم، نص_جديد، رقم_المثيل)
ذهب:
- النص : النص الذي تريد استبدال الأحرف فيه
- Old_text : النص المراد استبداله
- New_text : النص الذي سيتم استخدامه كبديل
- Instance_num ( اختياري ) : أي مثيل للنص القديم المطلوب استبداله. إذا لم يتم تحديد أي شيء، فسيتم استبدال كافة تكرارات النص القديم.
توضح الأمثلة التالية كيفية استخدام هذه الطريقة عمليًا.
مثال: كيفية استخدام البديل في VBA
لنفترض أن لدينا قائمة التعبيرات التالية في Excel:
لنفترض أننا نريد بدلاً من ذلك استبدال كل مسافة في كل خلية بفاصلة.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", ",")
Next
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه تم استبدال كل مسافة في كل خلية في العمود A بفاصلة.
لاحظ أنه يمكننا أيضًا استخدام الصيغة التالية لاستبدال كل مسافة بلا شيء:
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", "")
Next
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه تم استبدال كل مساحة في كل خلية في العمود A بلا شيء.
بمعنى آخر، قمنا بإزالة كل المسافات من كل خلية في العمود أ.
ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب VBA البديل هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى باستخدام VBA:
فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى
VBA: كيفية حساب الخلايا التي تحتوي على نص معين