فبا: كيفية إزالة الأرقام من سلسلة
يمكنك إنشاء الوظيفة التالية في VBA لإزالة الأرقام من سلسلة في خلية في Excel:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
يمكنك بعد ذلك استخدام هذه الوظيفة لإزالة الأرقام من أي خلية تريدها في Excel.
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: إزالة الأرقام من سلسلة باستخدام VBA
لنفترض أن لدينا القائمة التالية لمعرفات الموظفين في Excel:
لنفترض أننا نريد إزالة الأرقام من كل سلسلة في عمود معرف الموظف .
يمكننا إنشاء الوظيفة التالية في VBA للقيام بذلك:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
بمجرد إنشاء هذه الوظيفة، يمكننا بعد ذلك كتابة الصيغة التالية في الخلية B2 لإرجاع رقم الموظف في الخلية A2 مع إزالة جميع الأرقام:
=RemoveNumbers( A2 )
يمكننا بعد ذلك النقر على هذه الصيغة وسحبها إلى كل خلية متبقية في العمود B:
يعرض العمود B كل سلسلة من السلاسل الموجودة في العمود A مع إزالة الأرقام.
على سبيل المثال:
- 4009 أندي يصبح آندي
- 1540: بوب يصبح بوب
- 1500Chad09 يصبح تشاد
- 1600دوج يصبح دوج
وما إلى ذلك وهلم جرا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى باستخدام VBA:
فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى
VBA: كيفية حساب الخلايا التي تحتوي على نص معين