VBA تصاعدي | كيفية استخدام وظيفة تصاعدي في Excel VBA؟ (رمز أحرف ASCII)

وظيفة Excel VBA Asc

تُستخدم الدالة Asc في VBA لإرجاع قيمة عدد صحيح يمثل رمز حرف يتوافق مع الحرف الأول من السلسلة المزودة (سلسلة يتم توفيرها كوسيطة / معلمة) للدالة. يمكن استخدامه أو تقديمه في رمز ماكرو يتم إدخاله بشكل عام عبر محرر Visual Basic.

بيئة Excel التي يتم فيها تشغيل الماكرو في محرر Visual Basic (VBE) الذي يمكن استخدامه لتحرير رموز الماكرو وتصحيحها. يحمل رمز الماكرو ويربطه بمصنف Excel.

قيمة العدد الصحيح التي تُرجعها الدالة Asc هي رمز أحرف ASCII المقابل في VBA. ASCII (الكود القياسي الأمريكي لتبادل المعلومات) هو ترميز مكون من 7 بتات يحتوي على إجمالي 128 حرفًا محددًا فيه بما في ذلك الأبجدية اللاتينية وعشرة أرقام عربية وبعض علامات الترقيم وأحرف التحكم. لا يحتوي على أحرف تشكيل حيث إنها تتطلب مساحة 8 بت كحد أدنى للتشفير. يتم إجراء هذا الترميز 8 بت مع ANSI (المعهد الوطني الأمريكي للمعايير) الذي يحتوي على إجمالي 256 حرفًا محددًا. يُطلق على ANSI أيضًا اسم ASCII الممتد.

بناء جملة وظيفة VBA تصاعدي

الصيغة العامة لوظيفة ASC هي كما يلي:

يحتوي بناء جملة صيغة ASC على الوسيطة التالية:

سلسلة: مطلوبة ، تمثل السلسلة النصية التي يكون رمز الحرف الأول المطابق لها مطلوبًا ويتم إرجاعه.

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

أمثلة على برنامج Excel VBA Asc

دعونا نرى أدناه كيف يمكن استخدام Asc في Excel VBA.

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

مثال 1

لنفترض أن لدينا ملف Excel يحتوي على بعض السلاسل ، ونرغب في استخدام وظيفة تصاعدي مع هذه السلاسل. دعونا نرى السلاسل الموجودة في الملف:

نستخدم الدالة Asc في VBA في ماكرو يمكن كتابته في محرر Visual Basic ويمكن الوصول إليه على النحو التالي:

انتقل إلى Developer ، ثم انقر فوق وحدات الماكرو:

الآن قم بإنشاء اسم ماكرو: ضمن "اسم الماكرو" اكتب اسم الماكرو المطلوب إنشاؤه ، وحدد PERSONAL.XLSB في القائمة المنسدلة لـ "وحدات الماكرو في". يمكن تخزين وحدات الماكرو في مصنف شخصي يكون مصنفًا مخفيًا يفتح في الخلفية عند بدء تشغيل Excel. سيؤدي تحديد PERSONAL.XLSB إلى حفظ وحدات الماكرو في المصنف الشخصي ، مما يجعل الماكرو متاحًا دائمًا لأن المصنف الشخصي ليس خاصًا بالنظام / الملف.

انقر فوق "إنشاء".

سيؤدي هذا إلى فتح نافذة مع إجراء فرعي لـ VBA في محرر Visual Basic على النحو التالي:

الآن ، حدد النتيجة المتغيرة

رمز:

الكود الفرعي () Dim Result1 End Sub

الآن قم بتعيين المتغير Result1 بالصيغة لإرجاع رمز حرف السلسلة:

رمز:

الكود الفرعي () Dim Result1 Result1 = تصاعدي ("Raj") End Sub

الآن يمكن عرض القيمة الناتجة لـ Result1 وإعادتها باستخدام مربع رسالة VBA (MsgBox) على النحو التالي:

رمز:

الكود الفرعي () Dim Result1 Result1 = تصاعدي ("Raj") MsgBox Result1 End Sub

الآن عندما نقوم بتشغيل هذا الرمز يدويًا بالنقر فوق "تشغيل" في أعلى النافذة أو بالضغط على F5 ، نحصل على رمز الحرف للحرف الأول من السلسلة: "Raj" معروضًا في صندوق الرسائل كما يلي:

لذلك ، يمكننا أن نرى في لقطة الشاشة أعلاه أنه عند تشغيل الماكرو ، يتم إرجاع "82" في مربع رسالة. هذا يعني أن رمز الحرف لـ 'R' هو 82.

الآن ، دعنا نقول في المثال أعلاه أننا نرغب في العثور على رمز الحرف للسلسلة: "Karan". للقيام بذلك ، نتبع نفس الخطوات المذكورة أعلاه.

في الكود بدلاً من ذلك ، سنكتب Karan للحصول على رمز الحرف الخاص به.

رمز:

 Sub String2 () Dim Result2 Result2 = Asc ("Karan") MsgBox النتيجة 2 End Sub 

الآن نقوم بتشغيل هذا الكود يدويًا أو بالضغط على F5 ، ونحصل على رمز الحرف للحرف الأول من السلسلة: "Karan" معروضًا في صندوق الرسائل كما يلي:

لذلك ، يمكننا أن نرى في لقطة الشاشة أعلاه أنه عند تشغيل الماكرو ، يتم إرجاع "75" في مربع رسالة. هذا يعني أن رمز الحرف لـ "K" هو 75.

الآن دعونا نرى كيف تتغير النتيجة للسلاسل المتبقية:

رمز:

 السلسلة الفرعية 3 () معتم النتيجة 2 النتيجة 2 = تصاعدي ("Heena") MsgBox النتيجة 2 إنهاء Sub 

 Sub String4 () Dim Result2 Result2 = Asc ("Arun") MsgBox النتيجة 2 End Sub 

 السلسلة الفرعية 5 () معتم النتيجة 2 النتيجة 2 = تصاعدي ("أ") MsgBox النتيجة 2 نهاية الفرعية 

 السلسلة الفرعية 6 () معتم النتيجة 2 النتيجة 2 = تصاعدي ("أ") MsgBox النتيجة 2 نهاية الفرعية 

عند تشغيل هذه الإجراءات الفرعية واحدًا تلو الآخر ، يتم إرجاع رموز الأحرف التالية في مربع الرسالة (واحد تلو الآخر على التوالي). هذه قائمة القيم المطابقة التي تم إرجاعها للسلاسل أعلاه.

لذلك ، كما توضح لقطة الشاشة أعلاه ، يمكننا أن نرى أن دالة ASC تُرجع رمز الحرف كـ 65 للسلسلة: "Arun" ، وكذلك للسلسلة: "A". هذا لأن رمز الحرف الذي تم إرجاعه هو VBA ASCII أو رمز الحرف المكافئ للحرف الأول من السلسلة في حال كانت السلسلة أكثر من حرف واحد. ومن ثم ، يتم إرجاع 65 لكلا الحرفين الأوليين أو الأول من السلسلة: "Arun" هو أيضًا "A".

المثال رقم 2

إذا كانت السلسلة التي تم توفيرها كمعامل / وسيطة لوظيفة VBA ASC عبارة عن سلسلة فارغة / فارغة (أو سلسلة بدون أحرف) ، فإن الدالة ترجع خطأ وقت التشغيل.

الكود التالي يشرح نفس الشيء.

 فراغ فرعي () نتيجة خافتة = تصاعدي ("") MsgBox (نتيجة) End Sub 

عندما نقوم بتشغيل هذا الرمز ، نحصل على خطأ وقت التشغيل على النحو التالي.

لذلك ، يمكننا أن نرى في لقطة الشاشة أعلاه أنه عندما تكون السلسلة الموفرة كمعامل أو وسيطة لوظيفة ASC فارغة / فارغة ، فإن الوظيفة ترجع خطأ وقت التشغيل.

أشياء للذكرى

  • يمكن أن تكون السلسلة التي يتم توفيرها لوظيفة VBA ASC أي تعبير سلسلة صالح.
  • وظيفة تصاعدي حساسة لحالة الأحرف.
  • تقع قيمة العدد الصحيح التي تم إرجاعها بواسطة الدالة Asc في النطاق من 0-255.
  • رموز ASCII في VBA لـ AZ هي 65-90 ، وللحالة من الألف إلى الياء هي 97-122.
  • لا يمكن أن يكون الاسم المعطى لماكرو أو إجراء فرعي هو اسم بعض الوظائف الافتراضية في VBA. إذا تم تسميته بذلك ، فسيظهر الإجراء الفرعي خطأ.

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