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:

يقوم VBA باستخراج النص بين حرفين محددين

يعرض العمود C الآن النص الموجود بين قوسين لكل خلية مطابقة في العمود A.

ملاحظة : تعمل هذه الصيغة باستخدام الدالة Instr في VBA لاستخراج موضع أحرف البداية والنهاية المحددة، ثم استخدام الدالة Mid لإرجاع كل النص بين هذين الحرفين.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى باستخدام VBA:

فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى
VBA: كيفية حساب الخلايا التي تحتوي على نص معين

Add a Comment

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