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 تعتبر الحرف النقطة (.) كحرف عشري وترجع النتيجة وفقًا لذلك.