Introducere în eroarea de depășire VBA

Întâlnim mai multe tipuri în caz de eroare în timp ce lucrăm cu VBA. Erorile sunt numite erori de execuție atunci când au întâlnit o eroare în timpul executării codului. De asemenea, fiecărui cod i se atribuie un anumit cod în programarea VBA. În excel, o astfel de eroare este eroarea VBA Overflow. Codul acestei erori este eroarea 6 de timp de execuție, ceea ce înseamnă o revărsare în programarea VBA. Vom afla despre această eroare în acest articol.

Acum știm ce înseamnă acea eroare de preaplin care este un tip de eroare, acum să înțelegem ce înseamnă această eroare. Dacă declaram orice variabilă ca un anumit tip de date și valoarea variabilei depășește limita tipului de date a variabilei, vom primi eroarea pentru revărsare. De exemplu, dacă definim o variabilă ca număr întreg și știm că întregul poate reține valori de până la 32767 pentru numere pozitive și -32768 pentru numere negative. Deci, dacă furnizăm orice intrare dincolo de acest interval, vom întâlni o eroare de preaplin în VBA.

Eroarea de revărsare în termeni laici înseamnă că supraîncărcăm un tip de date cu valorile pe care le poate păstra. Astfel de cazuri ne vor întâmpina în această eroare. Așadar, pentru a evita această eroare, trebuie să fim conștienți de tipul de date pe care îl utilizăm pentru a putea să îl prevenim.

Vom vedea prin diferite exemple că modul în care în diferite tipuri de tipuri de date vom putea întâmpina această eroare.

Cum se utilizează eroarea de depășire VBA în Excel?

Vom învăța cum să folosiți o funcție de eroare de preaplin VBA cu câteva exemple în excel.

Puteți descărca acest șablon Excel VBA OverFlow Error Excel - Modelul VBA OverFlow Error Excel

Exemplul # 1 - Eroare de preaplin

Pentru primul exemplu, să utilizăm tipul de date întregi. Să încercăm să revărsăm valorile, astfel încât variabilele să nu le poată stoca și să vedem eroarea pe care o întâlnim.

Urmați pașii de mai jos pentru a utiliza funcția VBA Overflow Error în Excel:

Pasul 1: Pentru a începe practic cu VBA primul lucru pe care trebuie să îl facem este să activăm fila dezvoltatorului nostru și apoi să facem clic pe ea pentru a deschide VB Editor din opțiunea Visual Basic, așa cum se arată în imaginea de mai jos,

Pasul 2: Faceți clic pe el și introduceți un modul după cum urmează. Odată ce facem clic pe modul. Faceți dublu clic pe ea și va deschide o altă fereastră pentru noi unde vom scrie codul nostru.

Pasul 3 : Vom vedea o fereastră goală pe partea dreaptă a noastră, vom declara o subfuncție și astfel vom începe o macrocometă după cum urmează,

Cod:

 Sub eșantion () End Sub 

Pasul 4: Declarați o variabilă ca un număr întreg, astfel încât să poată păstra o valoare integrală pentru noi,

Cod:

 Sub Eșantion () Dim A Ca Subcomplet Intreg 

Pasul 5: Acum, în Variabilă, stocați o astfel de valoare care va deborda tipul de date după cum urmează,

Cod:

 Sub eșantion () Dim A Ca număr întreg A = 4896 * 5000 Sub subs 

Pasul 6: Afișează acum valoarea A folosind funcția msgbox,

Cod:

 Sub eșantion () Dim A Ca număr întreg A = 4896 * 5000 MsgBox A Sub final 

Pasul 7: Rulați codul de mai sus și vedeți ce rezultat obținem,

Am primit această eroare, deoarece 4896 * 5000 este peste limita numărului pozitiv pentru tipul de date întregi de păstrat, iar variabila A este revărsată de această valoare, astfel încât întâlnim această eroare.

Exemplul # 2 - Eroare de preaplin

Acum, în acest exemplu, permiteți-ne tipul de date BYTE. Știm că tipul de date de octeți poate reține valori de la 0 la 255, dar orice alte valori decât acea gamă ne va da o eroare. Să aflăm.

Pasul 1: Avem deja modulul nostru inserat, putem lucra la același sau putem crea unul nou. Dar să lucrăm la același modul pe care l-am introdus. Faceți dublu clic pe modul pentru a intra din nou în fereastra codului,

Pasul 2: Declarați o altă sub-funcție după cum urmează,

Cod:

 Sub Eșantion1 () Final Sub 

Pasul 3: Declarați o variabilă ca tip de date BYTE după cum urmează,

Cod:

 Sub Eșantion1 () Dim A As By End End Sub 

Pasul 4: Acum, în varianta A, o valoare de stocare este mai mare de 255 după cum urmează,

Cod:

 Sub Eșantion1 () Dim A As Byte A = 266 Sub Sub 

Pasul 5: Utilizați o funcție msgbox pentru a afișa valoarea A,

Cod:

 Sub Eșantion1 () Dim A As Byte A = 266 MsgBox A Sub End 

Pasul 6: Să rulăm codul de mai sus apăsând F5 și să vedem rezultatul,

Pasul 7: Haideți să încercăm să schimbăm valoarea de la A la 244 și reluăm codul pentru a vedea rezultatul,

Cod:

 Sub Eșantion1 () Dim A As Byte A = 244 MsgBox A Sub End 

Pasul 8: Când rulăm din nou codul, vom vedea următorul rezultat,

Atunci când rulăm prima dată variabila de cod A are valori mai mari decât intervalul pe care îl poate deține un tip de date BYTE, dar în a doua instanță, variabila A are date în gama sa de tip de date, astfel încât nu am întâlnit eroarea de preaplin.

Exemplul # 3 - Eroare de preaplin

Acum, să utilizăm tipul de date LONG ca exemplu, deoarece este cel mai utilizat tip de date dintre programatori.

Pasul 1: Vom lucra din nou în același modul pe care l-am introdus anterior. Trebuie doar să facem dublu clic pe modul și suntem în el.

Pasul 2: Declarați o sub-funcție așa cum se arată în captură de ecran.

Cod:

 Sub Eșantion2 () Final Sub 

Pasul 3: Declarați o variabilă ca un tip de date LONG, după cum urmează.

Cod:

 Sub Eșantion2 () Dim A Ca Sub End End 

Pasul 4: Acum asemănător exemplelor de mai sus, permiteți să revărsăm această variabilă făcând-o să dețină valori peste raza sa, astfel cum este.

Cod:

 Sub Eșantion2 () Dim A As Long A = 2000 * 365 End Sub 

Pasul 5: Utilizați o funcție msgbox pentru a afișa valoarea A după cum urmează.

Cod:

 Sub Eșantion2 () Dim A As Long A = 2000 * 365 MsgBox A Sub End 

Pasul 6: Faceți clic pe butonul Run de mai sus și vedeți că întâmpinăm o eroare de preaplin.

Pasul 7: Acum există o metodă pentru a depăși această eroare în tipul de date lungi, folosind funcția CLNG după cum urmează.

Cod:

 Sub Eșantion2 () Dim A As Long A = CLng (2000) * 365 MsgBox A Sub Sub 

Pasul 8: Acum, dacă rulăm din nou codul, putem vedea următorul rezultat.

Acum, ce a făcut funcția CLNG? A convertit valoarea într-un număr întreg lung pe care variabila îl poate reține.

Cum să depășiți eroarea de depășire în VBA

Atunci când întâlnim o eroare de debord în VBA, ceea ce înseamnă că oricare dintre variabilele noastre, nu mai mult este să avem anumite valori pe care nu le poate reține. Trebuie să identificăm variabila și să o rectificăm. De asemenea, avem funcția CLNG pentru tipuri de date lungi care să ne ajute. Dar cunoașterea tipului nostru de date ajută de fapt.

Lucruri de amintit

Există anumite lucruri pe care trebuie să le amintim despre eroarea de preaplin în VBA:

  • Eroarea de overflow este o eroare de timp de execuție.
  • Codul de eroare pentru eroarea de preaplin este 6.
  • Pentru a depăși eroarea de preaplin, trebuie să știm ce tip de date poate reține cât de multe valori.
  • Funcția CLNG ajută la eroarea de preaplin pentru tipuri de date lungi.

Articole recomandate

Acesta este un ghid pentru eroarea de depășire VBA. Aici vom discuta despre cum să folosiți funcția de eroare de depășire Excel VBA împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Copiați funcția Paste în VBA
  2. Substring Funcție Excel
  3. Abonament VBA în afara intervalului
  4. Excel Formula ISNUMBER

Categorie: