VBA VAL | كيفية استخدام وظيفة VBA VAL؟ (مع أمثلة)

وظيفة Excel VBA Val

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

يرمز VAL إلى VALUE في مصطلحات VBA. تقوم هذه الوظيفة بتحويل السلسلة التي تحتوي على أرقام إلى رقم حقيقي. على سبيل المثال ، إذا قمت بتوفير السلسلة النصية "1234 Global" ، فإنها ستعيد الجزء العددي فقط مثل 1234.

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

بناء الجملة

لها حجة واحدة فقط مثل String.

  • String: إنها ببساطة قيمة سلسلة نحاول إخراج الجزء العددي منها.

لذلك ، تقوم الدالة VAL بتحويل السلسلة المزودة إلى قيمة عددية.

ملاحظة: تتجاهل وظيفة VAL دائمًا أحرف المسافات وتستمر في قراءة الأرقام بعد حرف المسافة أو الأحرف.

على سبيل المثال ، إذا كانت السلسلة التي تم توفيرها هي "145 45666 3" ، فسوف تتجاهل أحرف المسافة وتُرجع النتيجة كـ "145456663".

أمثلة على وظيفة VAL في Excel VBA

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

مثال 1

لنجرب المثال الأول برقم بسيط ، مثل "14 56 47"

الكود أدناه لك.

رمز:

 Sub Val_Example1 () Dim k كمتغير k = Val ("14 56 47") 'تحويل ما سبق إلى 145647 MsgBox k End Sub 

عند تشغيل كود VBA باستخدام مفتاح F5 أو يدويًا ، سيعود النتيجة كـ "145647" بتجاهل جميع أحرف المسافات كما هو موضح في الصورة أدناه.

المثال رقم 2

في هذا المثال ، سنرى نتيجة السلسلة "+456".

رمز:

 Sub Val_Example2 () Dim k كمتغير k = Val ("+ 456") 'تحويل ما سبق إلى 456 MsgBox k End Sub 

يمكنك تشغيل هذا الرمز يدويًا أو من خلال المفتاح F5 لإرجاع القيمة كـ 456 بتجاهل +456.

المثال رقم 3

الآن دعونا نحاول نفس الرقم بعلامة سلبية

رمز:

 Sub Val_Example3 () Dim k كمتغير k = Val ("- 456") 'تحويل ما ورد أعلاه كـ -456 MsgBox k End Sub 

سيعيد هذا الرمز القيمة كـ -456 فقط لأنه يجب إظهار الرقم مع علامة المشغل.

المثال رقم 4

الآن لنجرب هذه الخيط "100 كجم".

رمز:

 Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'يتجاهل KG ويعيد 100 MsgBox k End Sub 

إذا قمت بتشغيل هذا الرمز يدويًا أو باستخدام مفتاح F5 ، فإن هذا الرمز أعلاه يتجاهل "KG" ويعيد فقط "100" في مربع رسالة VBA.

المثال الخامس

جرب الآن سلسلة التاريخ ، مثل "14-05-2018".

رمز:

Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'ترجع 14 كنتيجة. MsgBox k End Sub

ترجع الكود أعلاه 14 كنتيجة لأن الدالة VAL يمكنها فقط جلب القيمة الرقمية حتى تعثر على أي حرف آخر غير رقمي.

المثال رقم 6

جرب الآن السلسلة "7459Good456".

رمز:

Sub Val_Example6 () Dim k As Variant k = Val ("7459 Good 456") 'ترجع 7459 كنتيجة. MsgBox k End Sub

سيؤدي هذا إلى استخراج الأرقام حتى يتم العثور على الحرف غير العددي ، أي أن النتيجة هي 7459. على الرغم من وجود قيم عددية بعد القيمة غير العددية "جيدة" ، إلا أنها تتجاهل الأرقام تمامًا بعد ذلك.

المثال رقم 7

جرب الآن قيمة السلسلة "H 12456".

رمز:

Sub Val_Example7 () Dim k As Variant k = Val ("H 12456") 'إرجاع 0 كنتيجة. MsgBox k End Sub

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

المثال الثامن

جرب الآن هذه السلسلة "24545. 2 ".

رمز:

Sub Val_Example8 () Dim k As Variant k = Val ("24545. 2") 'إرجاع 24545.2 كنتيجة. MsgBox k End Sub

ترجع التعليمات البرمجية النتيجة كـ 24545.2 لأن دالة VBA VAL تعتبر الحرف النقطة (.) كحرف عشري وترجع النتيجة وفقًا لذلك.


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