Eroare VBA OverFlow - Cum se remediază eroarea 6 de depășire a timpului de rulare?

Excel VBA OverFlow Error

Erorile sunt parte integrantă a oricărui limbaj de codificare, dar găsirea de ce apare această eroare este ceea ce te face să te afli separat de mulțime în interviuri. Erorile nu sunt ciudate pentru codarea VBA. Erorile nu sunt intenționate, astfel încât găsirea cauzei erorii face sarcina dificilă. În VBA, avem unele dintre erorile predefinite, iar cunoașterea lor vă face să reparați eroarea foarte repede. În acest articol, vă vom arăta despre RUN TIME ERROR 6: OverFlow. Urmați articolul complet pentru a afla despre eroare, motivele erorii de depășire VBA și cum să le remediați.

Ce este Run Time Error 6: Overflow Error în VBA?

Când declarăm variabila, le atribuim un tip de date. Ar trebui să fim pe deplin conștienți de avantajele și dezavantajele fiecărui tip de date - acest lucru în cazul în care Run Time Error 6: OverFlow intră în imagine. Când supraîncărcăm tipul de date cu valoarea, care este mai mult decât capacitatea tipului de date, atunci vom primi această eroare.

De exemplu: Dacă declarați variabila drept octet.

Reduceți numărul ca octet

Tipul de date de octeți poate conține valori de la 0 la 255. Acum voi atribui valoarea ca 240.

Număr = 240

Acest lucru ar trebui să funcționeze bine, deoarece valoarea pe care am atribuit-o este mai mică decât limita valorii lui Byte de 255. În momentul în care atribuim valoarea, care este mai mare de 255, aceasta duce la eroarea Run Time Error 6: OverFlow.

Aceasta este o imagine de ansamblu generală asupra erorii de timp de execuție 6: OverFlow. Vom vedea câteva exemple în detaliu.

Exemple de eroare de timp de execuție 6: OverFlow în VBA

Să vedem câteva exemple de eroare VBA OverFlow în Excel.

Exemplul 1: Eroare OverFlow cu tipul de date de octeți

După cum am spus, este important să cunoaștem avantajele și dezavantajele tipului de date VBA pe care îl vom folosi. De exemplu, uitați-vă la codul de mai jos.

Cod:

Sub OverFlowError_Example1 () Dim Număr ca număr de octet = 256 MsgBox Number End Sub

Pentru variabila „Număr”, am atribuit valoarea 256. Când rulez acest cod, vom primi eroarea de mai jos.

Acest lucru se datorează faptului că tipul de date Byte poate conține valori de la 0 la 255. Deci provoacă o eroare. Pentru a remedia eroarea, fie trebuie să schimbăm tipul de date, fie trebuie să reducem valoarea pe care am atribuit-o variabilei „Număr”.

Exemplul 2: Eroare VBA OverFlow cu tipul de date întregi

Numărul întreg VBA este un tip de date care poate conține valori de la -32768 la 32767. De exemplu, uitați-vă la codul de mai jos.

Cod:

Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 25656 MsgBox MyValue End Sub

Când rulez acest cod, vom obține valoarea variabilei „Valoarea mea” în caseta de mesaj, adică 25656.

Acum voi reatribui numărul la variabilă ca „45654”.

Cod:

Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 45654 MsgBox MyValue End Sub

Acum, dacă încerc să rulez codul, va provoca o eroare, deoarece tipul de date pe care l-am declarat poate deține maximum 32767 doar pentru numerele pozitive, iar pentru limita numerelor negative este -32768.

Exemplul 3: Eroare VBA OverFlow cu tip de date lung

Tipul de date lung este cel mai des utilizat tip de date în Excel VBA. Aceasta poate conține valori cuprinse între -2.147.483.648 și 2.147.486.647. Orice lucru de mai sus va provoca o eroare.

Cod:

Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = 5000 * 457 MsgBox MyValue End Sub

Acest lucru va provoca o eroare de depășire.

Pentru a remedia această problemă, trebuie să folosim funcția CLNG în VBA. Mai jos este un exemplu de același lucru.

Cod:

Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = CLng (5000) * 457 MsgBox MyValue End Sub

Acest lucru ar trebui să funcționeze bine.

Aceasta este prezentarea generală a erorii de timp de execuție 6: OverFlow . Pentru a rezolva această eroare, trebuie să conștientizăm complet tipurile de date. Așadar, reveniți la elementele de bază, faceți elementele de bază corect, apoi totul va cădea la locul său.

Puteți descărca acest șablon Excel de eroare de depășire VBA aici - Șablon Excel de eroare VBA depășire

Articole interesante...