Vba: كيفية استخراج النص بين حرفين
يمكنك إنشاء الوظيفة المخصصة التالية في VBA لاستخراج النص بين حرفين محددين:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
يمكنك بعد ذلك استخدام هذه الوظيفة لاستخراج النص بين حرفين محددين إلى حرف محدد في Excel.
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: استخدام VBA لاستخراج النص بين حرفين
لنفترض أن لدينا مجموعة البيانات التالية في Excel تحتوي على قيم المعرفات وإجمالي مبيعات المنتجات المختلفة في الشركة:
لنفترض أننا نريد استخدام VBA لاستخراج النص الموجود بين قوسين لكل خلية في العمود A وإرجاع النتائج في العمود C.
يمكننا إنشاء الوظيفة التالية للقيام بذلك:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
يمكننا بعد ذلك كتابة الصيغة التالية في الخلية C2 لاستخراج النص الموجود بين قوسين للنص الموجود في الخلية A2 :
=ExtractBetween( A2 , "(", ")")
يمكننا بعد ذلك النقر على هذه الصيغة وسحبها إلى كل خلية متبقية في العمود C:
يعرض العمود C الآن النص الموجود بين قوسين لكل خلية مطابقة في العمود A.
ملاحظة : تعمل هذه الصيغة باستخدام الدالة Instr في VBA لاستخراج موضع أحرف البداية والنهاية المحددة، ثم استخدام الدالة Mid لإرجاع كل النص بين هذين الحرفين.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى باستخدام VBA:
فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى
VBA: كيفية حساب الخلايا التي تحتوي على نص معين