سلسلة VBA الفرعية | كيفية استخراج سلسلة فرعية باستخدام وظائف VBA؟

سلسلة فرعية من Excel VBA

السلسلة الفرعية هي جزء من السلسلة أو الجزء أو يسمى حرف السلسلة "سلسلة فرعية". هناك ثلاثة أنواع من وظائف السلسلة الفرعية في VBA LEFT و RIGHT و MID وهي تشبه سلاسل ورقة العمل الفرعية في Excel.

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

في كثير من الأحيان في التفوق عندما نعمل مع البيانات التي هي السلسلة ، نحتاج إلى الحصول على جزء فقط من السلسلة لتسهيل هدفنا. قد لا نحتاج إلى استخدام السلسلة الكاملة ولكننا نحتاج فقط إلى جزء من السلسلة لاستخدامنا. على سبيل المثال ، إذا كان لديك اسم "Sachin Tendulkar" ، فقد تحتاج فقط إلى الجزء الأول من الاسم ، أي "Sachin" فقط. هذا يسمى سلسلة فرعية من السلسلة في Excel VBA. للتعامل مع هذه السلاسل لدينا وظائف مضمنة تحت وظيفة TEXT في فئة excel.

في هذه المقالة ، سنناقش كيفية الحصول على السلسلة الفرعية من السلسلة الكاملة في VBA.

كيفية استخدام وظائف السلسلة الفرعية في VBA؟

لاستخراج السلسلة الفرعية من السلسلة ، لدينا بعض وظائف النص المضمنة وبعض الوظائف المهمة هي LEFT و RIGHT و INSTR و MID في Excel. ستعمل الوظيفة Instr كوظيفة داعمة للوظائف الثلاث الأخرى.

سنرى كيفية استخدام هذه الوظائف لاستخراج السلاسل الفرعية عمليًا. اقرأ على الأمثلة أدناه لفهمها.

يمكنك تنزيل قالب VBA SubString Excel هذا من هنا - نموذج VBA SubString Excel

مثال # 1 - استخدام الوظيفة اليسرى

إذا كان لديك الاسم الكامل مثل "Sachin Tendulkar" وتحتاج فقط إلى الاسم الأول ليتم استخراجه كسلسلة فرعية ، استخدم الكود التالي للحصول على نفس الاسم.

الخطوة 1: قم بإنشاء اسم ماكرو وحدد متغيرين كسلسلة.

رمز:

 SubString_Example1 () الاسم الكامل خافت كسلسلة خافتة الاسم الأول كسلسلة نهاية فرعية 

الخطوة 2: الآن قم بتعيين اسم "Sachin Tendulkar" إلى المتغير FullName .

رمز:

 SubString_Example1 () الاسم الكامل خافت كسلسلة خافت الاسم الأول كسلسلة الاسم الكامل = "Sachin Tendulkar" End Sub 

الخطوة 3: الآن المتغير FullName يحمل قيمة "Sachin Tendulkar". نحتاج الآن إلى استخراج سلسلة Excel VBA الفرعية للاسم الأول من الاسم الكامل. لذلك ، قم بتعيين قيمة المتغير FirstName من خلال دالة LEFT.

رمز:

 SubString_Example1 () الاسم الكامل خافت كسلسلة خافت الاسم الأول كسلسلة الاسم الكامل = "Sachin Tendulkar" الاسم الأول = يسار (نهاية فرعية 

الخطوة 4: الوسيطة الأولى للدالة VBA LEFT هي String ، وهي القيمة الكاملة أو السلسلة الكاملة. في هذا المثال ، القيمة الكاملة أو السلسلة الكاملة هي "Sachin Tendulkar" والتي تم تخصيصها للمتغير FullName.

لذا قم بتوفير FullName المتغير كوسيطة.

رمز:

 SubString_Example1 () الاسم الكامل خافت كسلسلة خافت الاسم الأول كسلسلة الاسم الكامل = "Sachin Tendulkar" الاسم الأول = فرعي الطرف الأيسر 

الخطوة 5:  الوسيطة التالية هي عدد الأحرف التي نحتاجها من السلسلة التي قدمناها ، لذلك في هذه الحالة ، نحتاج إلى الاسم الأول " Sachin " لذلك نحتاج تمامًا إلى 6 أحرف من الجانب الأيسر.

رمز:

 SubString_Example1 () الاسم الكامل خافت كسلسلة خافت الاسم الأول كسلسلة كاملة الاسم = "Sachin Tendulkar" الاسم الأول = يسار (الاسم الكامل ، 6) End Sub 

الخطوة 6: الآن اعرض النتيجة في مربع رسالة في VBA.

رمز:

 SubString_Example1 () الاسم الكامل خافت كسلسلة خافتة الاسم الأول كسلسلة كاملة الاسم = "Sachin Tendulkar" الاسم الأول = يسار (الاسم الكامل ، 6) MsgBox FirstName End Sub 

الخطوة 7: قم بتشغيل الماكرو ، انظر الاسم الأول كسلسلة فرعية في مربع الرسالة.

المثال رقم 2 - احصل على سلسلة فرعية من اليمين

مثلما استخرجنا السلسلة الفرعية من اليسار بالمثل ، يمكننا أيضًا استخراجها من اليمين أيضًا. خذ نفس الاسم كمثال.

الخطوة 1: تحديد متغيرين كسلسلة.

رمز:

 SubString_Example2 () خافت الاسم الكامل كسلسلة خافتة اسم العائلة على أنها سلسلة نهاية فرعية 

الخطوة 2: كالمعتاد ، قم بتعيين القيمة إلى المتغير FullName كـ "Sachin Tendulkar"

رمز:

 SubString_Example2 () الاسم الكامل خافت كسلسلة خافت الاسم الأخير كسلسلة الاسم الكامل = "Sachin Tendulkar" End Sub 

الخطوة 3: الآن بالنسبة للمتغير LastName ، عيّن القيمة من خلال دالة RIGHT excel.

رمز:

 SubString_Example2 () الاسم الكامل خافت كسلسلة خافت الاسم الأخير كسلسلة الاسم الكامل = "Sachin Tendulkar" اسم العائلة = يمين (نهاية فرعية 

الخطوة 4: String هي الاسم الكامل الخاص بنا ، لذا قم بتوفير المتغير.

رمز:

 SubString_Example2 () الاسم الكامل خافت كسلسلة خافت الاسم الأخير كسلسلة كاملة الاسم = "ساشين تيندولكار" 

الخطوة 5: الطول هو عدد الأحرف التي نحتاجها من الجانب الأيمن ، نحتاج إلى 9 أحرف من الجانب الأيمن.

رمز:

 SubString_Example2 () الاسم الكامل خافت كسلسلة خافت الاسم الأخير كسلسلة كاملة الاسم = "Sachin Tendulkar" الاسم الأخير = اليمين (الاسم الكامل ، 9) End Sub 

الخطوة 6: إظهار هذه القيمة في مربع الرسالة .

رمز:

 SubString_Example2 () الاسم الكامل خافت كسلسلة خافت الاسم الأخير كسلسلة كاملة الاسم = "Sachin Tendulkar" الاسم الأخير = اليمين (الاسم الكامل ، 9) MsgBox LastName End Sub 

الخطوة 7: قم بتشغيل الماكرو سنرى الاسم الأخير في مربع الرسالة.

مثال # 3 - استخدام دالة Instr

في الأمثلة أعلاه ، كان لدينا اسم واحد فقط وقمنا بشكل مباشر بتوفير عدد الأحرف التي نحتاجها من اليسار واليمين. ولكن في حالة وجود العديد من الأسماء ، فإن أحرف الاسم الأول والاسم الأخير ليست متطابقة ، فستختلف من اسم لآخر. في هذه الحالات ، لا يمكننا توفير عدد الأحرف مباشرة حتى نتمكن من استخدام الدالة Instr.

ستعيد وظيفة Instr موضع الحرف المزود في السلسلة. للحصول على مثال ، انظر إلى الكود أدناه.

رمز:

 SubString_Example3 () موضع الخافت كسلسلة Position = InStr (1، "Sachin"، "a") MsgBox Position End Sub 

InStr (1 ، "Sachin" ، "a") سيحدد هذا موضع الحرف "a" كأول ظهور في السلسلة "Sachin". في هذه الحالة يكون الحرف "a" في الموضع الثاني. لذلك سوف نحصل على 2 كنتيجة في مربع الرسائل.

مثل هذا ، يمكننا استخدام وظيفة Instr للعثور على حرف المسافة بين الاسم الأول واسم العائلة.

للحصول على مثال ، انظر إلى الاسم أدناه الذي لدي في ورقة إكسل.

باستخدام دالة LEFT و RIGHT و Instr ، يمكننا استخراج السلاسل الفرعية. يوجد أدناه رمز استخراج الاسم الأول.

رمز:

 الاسم الأول الفرعي () خافت K بطول خافت LR طويل LR = خلايا (عدد الصفوف ، 1). نهاية (xIUp). صف للخلايا K = 2 إلى LR (ك ، 2). القيمة = يسار (خلايا (ك ، 1) .Value، InStr (1، Cells (K، 1) .Value، "") - 1) Next K End Sub 

قم بتشغيل الماكرو وانظر الاسم الأول كسلسلة فرعية في مربع الرسالة.

استخدم الكود أدناه لاستخراج الاسم الأخير كسلسلة فرعية.

رمز:

 الاسم الأخير الفرعي () خافت K بطول خافت LR طويل LR = خلايا (عدد الصفوف ، 1). نهاية (xIUp). صف لـ K = 2 إلى LR Cells (K ، 3) .Value = Right (Cells (K، 1) .Value، Len (Cells (K، 1)) - InStr (1، Cells (K، 1) .Value، "")) Next K End Sub 

قم بتشغيل الماكرو وسنرى الاسم الأخير في مربع الرسالة.

لقد قمت بتعيين زر الماكرو إلى ورقة العمل ، وقم بتنزيل المصنف واستخدمه.


$config[zx-auto] not found$config[zx-overlay] not found