وظيفة VBA الصحيحة (أمثلة) | دليل خطوة بخطوة إلى Excel VBA Right

الوظيفة الصحيحة في VBA Excel

الوظيفة اليمنى هي نفسها في كل من دالة ورقة العمل و VBA ، استخدام هذه الوظيفة هو أنها تعطينا السلسلة الفرعية من سلسلة معينة ولكن يتم البحث من اليمين إلى اليسار من السلسلة ، وهذا نوع من وظيفة السلسلة في VBA تستخدم مع طريقة دالة application.worksheet.

الدالة RIGHT في Excel VBA والتي تُستخدم لاستخراج الأحرف من الجانب الأيمن من القيم النصية المتوفرة. في برنامج Excel ، لدينا العديد من الوظائف النصية للتعامل مع البيانات النصية. بعض الوظائف المفيدة هي دالة LEN و LEFT و RIGHT و MID لاستخراج الأحرف من القيم النصية. المثال الشائع لاستخدام هذه الوظائف هو استخراج الاسم الأول واسم العائلة بشكل منفصل عن الاسم الكامل.

الصيغة RIGHT موجودة أيضًا في ورقة العمل أيضًا. في VBA ، نحتاج إلى الاعتماد على فئة دالة ورقة العمل للوصول إلى وظيفة VBA RIGHT بدلاً من أن لدينا وظيفة RIGHT المضمنة في VBA أيضًا.

ألقِ نظرة الآن على بناء الجملة أدناه لصيغة VBA RIGHT.

  • String: هذه هي قيمتنا ومن هذه القيمة ، نحاول استخراج الأحرف من الجانب الأيمن من السلسلة.
  • الطول: من السلسلة المزودة كم عدد الأحرف التي نحتاجها. إذا احتجنا إلى أربعة أحرف من الجانب الأيمن ، فيمكننا توفير الوسيطة كـ 4.

على سبيل المثال ، إذا كانت السلسلة "Mobile Phone" وإذا أردنا استخراج كلمة "Phone" فقط ، فيمكننا توفير الوسيطة مثل أدناه.

RIGHT ("الهاتف المحمول" ، 5)

سبب ذكر 5 لأن كلمة "هاتف" بها 5 أحرف. في القسم التالي من المقالة ، سنرى كيف يمكننا استخدامه في VBA.

أمثلة على الوظيفة الصحيحة لبرنامج Excel VBA

فيما يلي أمثلة على الوظيفة الصحيحة VBA Excel.

يمكنك تنزيل قالب Excel للوظيفة الصحيحة لـ VBA هنا - قالب Excel للوظيفة الصحيحة لـ VBA

مثال 1

سأريكم مثالاً بسيطًا لبدء الإجراءات. افترض أن لديك السلسلة "New York" وإذا كنت تريد استخراج 3 أحرف من اليمين ، فاتبع الخطوات التالية لكتابة الكود.

الخطوة 1: قم بتعريف المتغير على أنه VBA String.

رمز:

 Sub Right_Example1 () Dim k as String End Sub 

الخطوة 2: الآن بالنسبة لهذا المتغير ، سنقوم بتعيين القيمة من خلال تطبيق الدالة RIGHT.

رمز:

 Sub Right_Example1 () Dim k As String k = Right (End Sub 

الخطوة 3:  الوسيطة الأولى هي String وسلسلتنا في هذا المثال هي "New York".

رمز:

 Sub Right_Example1 () Dim k As String k = Right ("New York"، End Sub 

الخطوة 4: التالي هو عدد الأحرف التي نحتاجها من السلسلة المزودة. في هذا المثال ، نحتاج إلى 3 أحرف.

رمز:

 Sub Right_Example1 () Dim k As String k = Right ("New York"، 3) End Sub 

الخطوة 5: لدينا حجتان للتعامل معهما ، لذلك انتهينا. الآن قم بتعيين قيمة هذا المتغير في مربع الرسالة في VBA.

رمز:

 Sub Right_Example1 () Dim k As String k = Right ("New York"، 3) MsgBox k End Sub 

قم بتشغيل الكود باستخدام مفتاح F5 أو يدويًا وشاهد النتيجة في مربع رسالة.

في كلمة "نيويورك" من الجانب الأيمن هناك 3 أحرف هي "ork".

الآن سوف أقوم بتغيير الطول من 3 إلى 4 للحصول على القيمة الكاملة.

رمز:

 Sub Right_Example1 () Dim k As String k = Right ("New York"، 4) MsgBox k End Sub 

قم بتشغيل هذا الكود يدويًا أو باستخدام مفتاح F5 ثم سنحصل على "York".

المثال رقم 2

ألقِ نظرة الآن على مثال آخر ، هذه المرة اعتبر قيمة السلسلة "Michael Clarke".

إذا قمت بتوفير الطول 6 ، فسنحصل على "Clarke" كنتيجة لذلك.

رمز:

 Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke"، 6) MsgBox k End Sub 

قم بتشغيل هذا الرمز باستخدام المفتاح F5 أو يدويًا لمشاهدة النتيجة.

الوظيفة الصحيحة الديناميكية في Excel VBA

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

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

تقوم دالة Instr بإرجاع موضع الحرف المزود في قيمة السلسلة المقدمة. على سبيل المثال ، يقوم Instr (1، "Bangalore"، "a") بإرجاع موضع الحرف "a" في السلسلة "Bangalore" من الحرف الأول (1) .

في هذه الحالة ، تكون النتيجة 2 لأنه من موضع الحرف الأول للحرف "a" هو الموضع الثاني.

إذا قمت بتغيير موضع البداية من 1 إلى 3 فإنه سيعود 5.

Instr (3 ، "بنغالور" ، "أ") .

سبب إرجاعه 5 لأنني ذكرت موضع البداية للبحث عن الحرف "a" من الحرف الثالث فقط. لذا فإن موضع الثاني الذي ظهر "أ" هو 5.

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

على سبيل المثال في السلسلة "New York" إجمالي عدد الأحرف هو 8 بما في ذلك المسافة ، وموضع حرف المسافة هو الرابع. إذن 8-4 = 4 يمين سيستخرج 4 أحرف من اليمين.

الآن ، انظر إلى الكود أدناه للرجوع إليه.

رمز:

 Sub Right_Example3 () Dim k as String Dim L as String Dim S as String L = Len ("Michael Clarke") S = InStr (1، "Michael Clarke"، "") k = Right ("Michael Clarke"، L - S) MsgBox k End Sub 

في متغير الكود أعلاه ، سيعود متغير "L" 14 والمتغير "S" سيعيد 8.

في الصيغة الصحيحة لـ VBA ، قمت بتطبيق L - S أي 14-8 = 6. لذا من الجانب الأيمن 6 أحرف ، أي "كلارك".

حلقات مع الوظيفة الصحيحة في Excel VBA

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

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

رمز:

 Sub Right_Example4 () Dim k as String Dim L as String Dim S as String Dim a as Integer For a = 2 to 5 L = Len (Cells (a، 1) .Value) S = InStr (1، Cells (a، 1 ) .Value، "") Cells (a، 2) .Value = Right (Cells (a، 1)، L - S) Next a End Sub 

نتيجة هذا الرمز كما يلي.


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