فبا: كيفية تحويل النص إلى أعمدة
يمكنك استخدام الأسلوب Range.TextToColumns في VBA لتحويل خلية نصية إلى أعمدة.
توضح الأمثلة التالية كيفية استخدام هذا الأسلوب عمليًا في سيناريوهات مختلفة.
مثال 1: تحويل النص إلى أعمدة (مسافة كمحدد)
لنفترض أن لدينا قائمة الأسماء التالية في النطاق A1:A9 في Excel:
يمكننا إنشاء الماكرو التالي لتحويل النص في كل خلية إلى أعمدة منفصلة، باستخدام المسافات كمحددات:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه تم تحويل النص الموجود في كل خلية إلى أعمدة منفصلة.
ملاحظة : الوسيطة ConsecutiveDelimiter:=True تخبر VBA بأن يأخذ في الاعتبار المحددات المتتالية معًا كمحدد واحد.
المثال 2: تحويل النص إلى أعمدة (الفاصلة كمحدد)
لنفترض أن لدينا قائمة الأسماء التالية في النطاق A1:A9 مفصولة بفواصل:
يمكننا إنشاء الماكرو التالي لتحويل النص في كل خلية إلى أعمدة منفصلة، باستخدام الفواصل كمحددات:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Comma:=True
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه تم تحويل النص الموجود في كل خلية إلى أعمدة منفصلة.
المثال 3: تحويل النص إلى أعمدة (مع وضع النص بين علامتي اقتباس مزدوجتين)
لنفترض أن لدينا قائمة الأسماء التالية في النطاق A1:A9 مفصولة بمسافات وتتضمن علامات اقتباس مزدوجة:
يمكننا إنشاء الماكرو التالي لتحويل النص في كل خلية إلى أعمدة منفصلة:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه تم تحويل النص الموجود في كل خلية إلى أعمدة منفصلة.
لاحظ أننا استخدمنا الوسيطة TextQualifier:=xlDoubleQuote لإخبار VBA أن النص كان محاطًا بعلامات اقتباس مزدوجة.
ملاحظة : يمكنك العثور على الوثائق الكاملة للأسلوب TextToColumns في VBA هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى باستخدام VBA:
فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى
VBA: كيفية حساب الخلايا التي تحتوي على نص معين