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

وظيفة Excel VBA CLng

يعني "CLNG" نوع البيانات "التحويل إلى طويل". يتراوح حد نوع البيانات الصحيح بين -32768 إلى 32767 ، لذلك أي شيء زائد تريد تخزينه في هذه المتغيرات ، فإننا نحتاج إلى استخدام نوع بيانات طويل في VBA.

المتغيرات هي المفتاح في أي لغة برمجة ولا يختلف VBA أيضًا. بدون استخدام المتغيرات يكاد يكون من المستحيل كتابة رموز طويلة. إذا كانت المتغيرات مهمة ، فإن متغير نوع البيانات الذي نخصصه لهذه المتغيرات يكون أكثر أهمية لأن نوع البيانات الذي نخصصه لها هو النتيجة النهائية التي نحصل عليها.

في كثير من الأحيان قد نقوم بتعيين البيانات الرقمية كـ "سلسلة" ، لذلك سيؤدي ذلك إلى حدوث خطأ أثناء إجراء العمليات الحسابية ، لذلك باستخدام وظائف التحويل ، يمكننا تحويل نوع البيانات الذي نريده. وظائف المحول شائعة الاستخدام هي CLng و CInt و CDbl و CDate و CDec في vba. في هذه المقالة ، سوف نوضح لك وظيفة تحويل نوع البيانات الصحيحة "CLNG".

بناء الجملة

يوجد أدناه بناء جملة الدالة CLNG.

  • التعبير ليس سوى القيمة أو المتغير الذي نريد تحويله إلى نوع البيانات LONG.

ملاحظة: يجب أن تكون القيمة التي نحاول تحويلها قيمة رقمية ، أي شيء بخلاف القيمة الرقمية سيؤدي إلى "خطأ وقت التشغيل 13: عدم تطابق النوع"

أمثلة لاستخدام الدالة CLng في VBA

يمكنك تنزيل قالب Excel VBA CLNG من هنا - قالب Excel VBA CLNG

مثال 1

سنرى الآن كيف يمكننا تحويل القيمة النصية المخزنة إلى نوع البيانات "الطويل".

للحصول على مثال ، انظر إلى الكود أدناه.

رمز:

 CLNG_Example1 الفرعي () رقم طويل خافت كسلسلة خافتة طويلة نتيجة طويلة LongNumber = "2564589" LongResult = CLng (LongNumber) MsgBox LongResult End Sub 

لذا ، الآن قم بفحص الشفرة عن كثب لفهم كيفية عمل ذلك.

أولاً ، أعلنا عن متغيرين String و Long على التوالي.

رمز:

 خافت لونغ رقم ​​كسلسلة قاتمة طويلة نتيجة طويلة 

بالنسبة لمتغير السلسلة ، قمنا بتعيين رقم القيمة ولكن بعلامات اقتباس مزدوجة ، لذا فإن ما سيفعله هذا هو التعامل مع الرقم "2564589" كسلسلة ، وليس كمتغير "طويل". الآن بالنسبة للمتغير LongResult الآخر ، استخدمنا وظيفة Clng (LongNumber) لتحويل الرقم المخزن للسلسلة إلى متغير طويل.

سيظهر مربع الرسالة التالي النتيجة كرقم طويل يتم تحويله من سلسلة إلى نوع بيانات طويل.

انتاج:

المثال رقم 2

الآن ألق نظرة على الكود أدناه.

رمز:

 CLNG_Example2 الفرعي () رقم طويل خافت كسلسلة خافتة طويلة نتيجة طويلة LongNumber = "رقم طويل" LongResult = CLng (رقم طويل) MsgBox LongResult End Sub 

هذا يجب أن يعطينا النتيجة على أنها "عدم تطابق النوع" .

يعد فهم سبب حدوث الخطأ أمرًا مهمًا للغاية لإصلاح الخطأ. عندما تنظر عن كثب إلى المتغيرات الخاصة بالمتغير الأول LongNumber ، قمنا بتعيين قيمة النص كـ "Long Number" ، ثم استخدمنا وظيفة excel VBA CLNG لتحويل هذا إلى نوع بيانات LONG.

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

المثال رقم 3

هناك خطأ آخر نحصل عليه مع نوع البيانات LONG وهو "خطأ في التدفق الزائد في vba" ، أي أن نوع البيانات المتغير الطويل يمكن أن يحتفظ بالقيم من -2،147،483،648 إلى 2،147،483،647. لذا فإن أي قيمة أعلى من هذا سوف تتسبب في حدوث خطأ تجاوز.

للحصول على مثال ، انظر إلى الكود أدناه.

رمز:

 CLNG_Example3 الفرعية () رقم طويل خافت كسلسلة خافتة طويلة نتيجة طويلة LongNumber = "25645890003" LongResult = CLng (LongNumber) MsgBox LongResult End Sub 

بالنسبة للمتغير "LongNumber" ، قمت بتعيين الرقم "25645890003" والذي يتجاوز حد نوع البيانات "Long". عند تشغيل الكود أعلاه ، سيواجه خطأ "تجاوز السعة" .

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

شيء لنتذكره هنا

  • CLNG تعني تحويل إلى طويل.
  • تقوم هذه الوظيفة بتحويل نوع البيانات الآخر إلى نوع بيانات طويل.
  • تحتاج إلى معرفة حد نوع البيانات الطويلة لمنع خطأ تجاوز السعة.

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