خطأ تدفق VBA | كيفية إصلاح خطأ تجاوز وقت التشغيل 6؟
خطأ في التدفق الزائد لـ Excel VBA
الأخطاء هي جزء لا يتجزأ من أي لغة ترميز ولكن معرفة سبب حدوث هذا الخطأ هو ما يجعلك تقف بعيدًا عن الجمهور في المقابلات. الأخطاء ليست غريبة على ترميز VBA ، فالأخطاء ليست مقصودة بحيث يجعل العثور على سبب الخطأ مهمة صعبة. في VBA ، لدينا بعض الأخطاء المحددة مسبقًا ومعرفتك بها يجعلك تصلح الخطأ بسرعة كبيرة. في هذه المقالة ، سوف نظهر لك عن RUN TIME ERROR 6: OverFlow. اتبع المقالة الكاملة للتعرف على الخطأ وأسباب خطأ تجاوز سعة VBA وكيفية إصلاحها.
ما هو خطأ وقت التشغيل 6: خطأ تجاوز في VBA؟
عندما نعلن عن المتغير نقوم بتعيين نوع بيانات لهم يجب أن نكون على دراية كاملة بإيجابيات وسلبيات كل نوع من أنواع البيانات. هذا هو المكان الذي يظهر فيه Run Time Error 6: OverFlow في الصورة. عندما نفرط في تحميل نوع البيانات بقيمة أكبر من سعة نوع البيانات ، فسنحصل على هذا الخطأ.
على سبيل المثال: إذا قمت بتعريف المتغير على أنه بايت.
رقم خافت على هيئة بايت
يمكن لنوع بيانات البايت الاحتفاظ بقيم من 0 إلى 255. الآن سأقوم بتعيين القيمة كـ 240.
العدد = 240
يجب أن يعمل هذا بشكل جيد لأن القيمة التي قمنا بتعيينها أقل من حد قيمة بايت 255. في اللحظة التي نخصص فيها القيمة التي تزيد عن 255 ، يؤدي ذلك إلى خطأ وقت التشغيل 6: OverFlow.
هذه نظرة عامة عامة على Run Time Error 6: OverFlow. سنرى بعض الأمثلة بالتفصيل.
أمثلة على خطأ وقت التشغيل 6: OverFlow في VBA
دعونا نرى بعض الأمثلة على VBA OverFlow Error في Excel.
مثال 1: خطأ التدفق الزائد بنوع بيانات البايت
كما قلت ، من المهم معرفة إيجابيات وسلبيات نوع بيانات VBA التي سنستخدمها. للحصول على مثال ، انظر إلى الكود أدناه.
رمز:
Sub OverFlowError_Example1 () رقم خافت كرقم بايت = 256 رقم مربع نهاية فرعي
بالنسبة للمتغير "Number" ، قمت بتعيين القيمة 256. عندما أقوم بتشغيل هذا الرمز ، سنحصل على الخطأ أدناه.
وذلك لأن نوع البيانات Byte يمكنه الاحتفاظ بقيم من 0 إلى 255. لذلك يتسبب في حدوث خطأ. لإصلاح الخطأ ، إما يتعين علينا تغيير نوع البيانات أو يتعين علينا تقليل القيمة التي خصصناها للمتغير "رقم".
مثال 2: خطأ VBA OverFlow مع نوع بيانات صحيح
VBA الصحيح هو نوع بيانات يمكنه الاحتفاظ بقيم من -32768 إلى 32767. للحصول على مثال ، انظر إلى الكود أدناه.
رمز:
Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 25656 MsgBox MyValue End Sub
عندما أقوم بتشغيل هذا الكود ، سنحصل على قيمة المتغير "MyValue" في مربع الرسالة ، أي 25656.
الآن سأعيد تعيين الرقم إلى المتغير كـ "45654".
رمز:
Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 45654 MsgBox MyValue End Sub
الآن إذا حاولت تشغيل الكود ، فسوف يتسبب ذلك في حدوث خطأ لأن نوع البيانات الذي أعلناه يمكنه فقط الاحتفاظ بحد أقصى 32767 للأرقام الموجبة والحد الأقصى للأرقام السالبة هو -32768.
مثال 3: خطأ VBA OverFlow بنوع بيانات طويل
نوع البيانات الطويل هو نوع البيانات الأكثر استخدامًا في Excel VBA. يمكن أن يحتوي هذا على قيم من –2،147،483،648 إلى 2،147،486،647. أي شيء أعلاه سيؤدي إلى حدوث خطأ.
رمز:
Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = 5000 * 457 MsgBox MyValue End Sub
سيؤدي هذا إلى حدوث خطأ تجاوز السعة.
لإصلاح هذه المشكلة ، نحتاج إلى استخدام الوظيفة CLNG في VBA. أدناه مثال على ذلك.
رمز:
Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = CLng (5000) * 457 MsgBox MyValue End Sub
يجب أن يعمل هذا بشكل جيد.
هذه نظرة عامة على Run Time Error 6: OverFlow . لحل هذا الخطأ ، نحتاج إلى إدراك أنواع البيانات تمامًا. لذا ارجع إلى الأساسيات ، وقم بتنفيذ الأساسيات بشكل صحيح ، ثم سيصبح كل شيء في مكانه.
يمكنك تنزيل قالب Excel VBA Overflow Error هذا هنا - قالب Excel لخطأ VBA OverFlow