كيفية تقسيم سلسلة إلى مصفوفة في VBA (3 طرق)

Hugh West

في هذه المقالة ، سأوضح لك كيف يمكنك تقسيم سلسلة إلى مصفوفة في VBA . Split هي واحدة من أهم الوظائف وأكثرها استخدامًا والتي نستخدمها في VBA . ستتعلم تقسيم سلسلة في VBA بجميع أنواع الطرق الممكنة.

وظيفة تقسيم VBA (عرض سريع)

=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])

تنزيل Practice Workbook

تقسيم سلسلة إلى Array.xlsm

3 طرق لتقسيم سلسلة إلى مصفوفة في VBA

لنحصل على سلسلة في يدنا "تقدمنا ​​بطلب للحصول على تأشيرة الولايات المتحدة وكندا وأستراليا وفرنسا . ” .

سأوضح لك كيف يمكنك تقسيم هذه السلسلة إلى مصفوفة بجميع أنواع الطرق الممكنة باستخدام وظيفة التقسيم .

1. استخدم أي محدد لتقسيم سلسلة إلى مصفوفة في VBA

يمكنك استخدام أي سلسلة كمحدد لتقسيم سلسلة إلى مصفوفة في VBA .

يمكن أن تكون مسافة ("") ، فاصلة ("،") ، فاصلة منقوطة (":") ، حرف واحد ، a سلسلة من الأحرف ، أو أي شيء.

مثال 1:

دعونا نقسم السلسلة باستخدام فاصلة مثل محدد.

سيكون سطر الكود:

Arr = Split(Text, ",")

الكامل كود VBA سيكون:

كود VBA:

3757

الإخراج:

ستقسم السلسلة إلى مصفوفة تتكون من {"تقدمنا ​​بطلب للحصول على تأشيرة الولايات المتحدة" ، "كندا" ، "أستراليا" ، "فرنسا ”}.

المثال 2:

يمكنك أيضًا استخدام مسافة ("") كمحدد.

سيكون سطر الكود:

Arr = Split(Text, " ")

كامل كود VBA سيكون:

كود VBA:

9198

الإخراج:

سوف يقسم السلسلة إلى مصفوفة تتكون من {"We" ، "المطبقة" ، "for" ، “the”، “visa”، “of”، “U.S،”، “Canada،”، “Australia،”، “France،”}.

أشياء يجب تذكرها:

  • المحدد الافتراضي هو مسافة ("") .
  • أي ، إذا لم تقم بإدخال أي محدد ، فسيستخدم مسافة كمحدد.

اقرأ المزيد: تقسيم السلسلة حسب الحرف في Excel (6 طرق مناسبة)

قراءات مماثلة:

  • تقسيم النص إلى عدة الخلايا في Excel
  • VBA للحصول على قيم فريدة من العمود إلى صفيف في Excel (3 معايير)
  • Excel VBA: كيفية التصفية باستخدام متعدد المعايير في المصفوفة (7 طرق)

2. قسّم سلسلة إلى مصفوفة بأي عدد من العناصر

يمكنك تقسيم سلسلة إلى مصفوفة بأي عدد من العناصر وفقًا لرغبتك.

أدخل عدد العناصر كـ الوسيطة الثالث لوظيفة الانقسام .

مثال:

دعونا نقسم السلسلة في العناصر الأولى 3 بمسافة كمحدد.

يكون:

Arr = Split(Text, " ", 3)

و كود VBA سيكون:

كود فبا:

8210

الإخراج:

سوف يقسم السلسلة إلى مجموعة تتكون من العناصر الأولى 3 مفصولة بالمحدد مسافة .

أشياء يجب تذكرها:

  • الوسيطة الافتراضية هي -1 .
  • وهذا يعني ، إذا لم تدخل الوسيطة ، فسوف تنقسم السلسلة إلى أقصى عدد ممكن من المرات.

اقرأ المزيد: كيفية تقسيم السلسلة حسب الطول في Excel (8 طرق)

3. استخدم كل من محدد حساس لحالة الأحرف وغير حساس لتقسيم سلسلة مصفوفة في VBA

تتيح لك وظيفة Split استخدام كل من حساس لحالة الأحرف و غير حساس لحالة الأحرف المحدد.

بالنسبة لمحدد غير حساس لحالة الأحرف ، أدخل الوسيطة الرابعة كـ 1.

وبالنسبة لمحدد غير حساس لحالة الأحرف ، أدخل الوسيطة الرابعة كـ 0 .

المثال 1: المحدد غير الحساس لحالة الأحرف

في السلسلة المحددة ، دعنا نعتبر النص "FOR" هو المحدد و 2 ​​ العدد الإجمالي لعناصر المصفوفة.

الآن ، بالنسبة لحالة غير حساسة لحالة الأحرف ، سيكون سطر الكود:

Arr = Split(Text, "FOR ", 3,1)

و كود VBA سيكون:

كود VBA:

7582

الإخراج:

نظرًا لأن المحدد غير حساس لحالة الأحرف هنا ، "لـ " سيعمل كـ "لـ" وسوف يقسم السلسلة إلى مصفوفة من عنصرين.

مثال 2: المحدد الحساس لحالة الأحرف

مرة أخرى ، بالنسبة لحالة حساسة لحالة الأحرف ، سيكون سطر الكود:

Arr = Split(Text, "FOR ", 3,0)

وسيصبح رمز VBA الكامل:

كود VBA:

7616

الإخراج:

نظرًا لأن المحدد حساس لحالة الأحرف هنا ، " FOR ” لن تكون “ for ” ولن تقسم السلسلة إلى مصفوفة من عنصرين.

قراءة المزيد: Excel VBA: إزالة التكرارات من مصفوفة (مثالان)

أشياء يجب تذكرها:

  • القيمة الافتراضية للوسيطة هي 0 .
  • أي إذا لم تضع قيمة الوسيطة الرابعة ، ستعمل لمطابقة حساسة لحالة الأحرف .

الخاتمة

لذلك ، باستخدام هذه الطرق ، يمكنك استخدام Split function من VBA لتقسيم سلسلة إلى مصفوفة من العناصر. هل لديك اسئلة؟ لا تتردد في سؤالنا.

هيو ويست مدرب ومحلل إكسل ذو خبرة عالية ولديه أكثر من 10 سنوات من الخبرة في هذا المجال. حاصل على درجة البكالوريوس في المحاسبة والمالية ودرجة الماجستير في إدارة الأعمال. لدى هيو شغف بالتدريس وقد طور منهجًا تعليميًا فريدًا يسهل اتباعه وفهمه. ساعدت معرفته الخبيرة ببرنامج Excel الآلاف من الطلاب والمهنيين في جميع أنحاء العالم على تحسين مهاراتهم والتميز في حياتهم المهنية. من خلال مدونته ، يشارك Hugh معرفته مع العالم ، ويقدم دروسًا مجانية في Excel وتدريبًا عبر الإنترنت لمساعدة الأفراد والشركات على تحقيق إمكاناتهم الكاملة.