Introduktion til VBA Overflow Error

Vi støder på mange typer, hvis der er fejl, mens vi arbejder med VBA. Fejl kaldes runtime-fejl, når de har fundet en fejl under udførelsen af ​​koden. Hver kode har også en bestemt kode tildelt den i programmeringen af ​​VBA. I excel er en sådan fejl VBA Overflow-fejlen. Koden for denne fejl er fejltid 6, hvilket betyder overløb i programmeringen af ​​VBA. Vi lærer om denne fejl i denne artikel.

Nu ved vi, hvad denne overløbsfejl er en type fejl. Lad os nu forstå, hvad denne fejl betyder. Hvis vi erklærer en variabel som en bestemt datatype, og værdien af ​​variablen overskrider grænsen for datatypen for variablen, får vi fejlen for overløb. Hvis vi for eksempel definerer en variabel som heltal, og vi ved, at heltal kan indeholde værdier op til 32767 for positive tal og -32768 for negative tal. Så hvis vi leverer input ud over dette interval, vil vi støde på overløbsfejl i VBA.

Oversvømmelsesfejl i lægmandsbetegnelser betyder, at vi overbelaster en datatype med de værdier, den kan indeholde. Sådanne sager støder os på denne fejl. Så for at undgå denne fejl, er vi nødt til at være opmærksomme på, hvilken datatype vi bruger, så vi kan forhindre den.

Vi vil gennem forskellige eksempler se, hvordan vi i forskellige typer datatyper muligvis vil støde på denne fejl.

Sådan bruges VBA Overflow-fejl i Excel?

Vi lærer, hvordan man bruger en VBA Overflow Error-funktion med få eksempler i Excel.

Du kan downloade denne VBA OverFlow Fejl Excel skabelon her - VBA OverFlow Fejl Excel skabelon

Eksempel 1 - Overflowfejl

Lad det første eksempel bruge heltal-datatype. Lad os prøve at oversvømme værdierne, så variabler ikke kan gemme dem og se den fejl, vi støder på.

Følg nedenstående trin for at bruge VBA Overflow Error-funktion i Excel:

Trin 1: For at starte med VBA først, hvad vi skal gøre, er at aktivere vores udviklers fane og derefter klikke på den for at åbne VB Editor fra Visual Basic indstillingen som vist på skærmbilledet nedenfor,

Trin 2: Klik på det, og indsæt et modul som følger. Når vi først klikker på modulet. Dobbeltklik på det, og det åbner et andet vindue for os, hvor vi skriver vores kode.

Trin 3 : Vi vil se et tomt vindue i højre side af os, erklære en subfunktion, og det er sådan, vi starter en makro som følger,

Kode:

 Undereksempel () Slutundert 

Trin 4: Angiv en variabel som et heltal, så den kan indeholde heltalværdi for os,

Kode:

 Underprøve () Dim A som heltal slut sub 

Trin 5: Nu i variabel En lagring af en sådan værdi, som vil oversvømme datatypen som følger,

Kode:

 Underprøve () Dim A som heltal A = 4896 * 5000 Slutundert 

Trin 6: Vis nu værdien for A ved hjælp af msgbox-funktionen,

Kode:

 Subprøve () Dim A som heltal A = 4896 * 5000 MsgBox A End Sub 

Trin 7: Kør ovenstående kode og se, hvilket resultat vi får,

Vi modtog denne fejl, fordi 4896 * 5000 er over den positive talgrænse for den heltal datatype, der skal holdes, og variabel A er oversvømmet af denne værdi, så vi støder på denne fejl.

Eksempel 2 - Fejl ved overløb

Lad os nu i dette eksempel BYTE-datatype. Vi ved, at byte-datatype kan indeholde værdier fra 0 til 255, men andre værdier end dette interval giver os en fejl. Lad os finde ud af det.

Trin 1: Vi har allerede indsat vores modul, vi kan arbejde på det samme eller oprette et nyt. Men lad os arbejde på det samme modul, som vi indsatte. Dobbeltklik på modulet for at åbne kodevinduet igen,

Trin 2: Erklær en anden underfunktion som følger,

Kode:

 Underprøve1 () Slutundert 

Trin 3: Angiv en variabel som datatype BYTE som følger,

Kode:

 Subprøve1 () Dim A As Byte End Sub 

Trin 4: Nu i variabel En butiksværdi over 255 som følger,

Kode:

 Underprøve1 () Dim A som byte A = 266 Sluttesub 

Trin 5: Brug en msgbox-funktion til at vise værdien af ​​A,

Kode:

 Underprøve1 () Dim A som byte A = 266 MsgBox A End Sub 

Trin 6: Lad os køre ovenstående kode ved at trykke på F5 og se resultatet,

Trin 7: Lad os nu prøve at ændre værdien af ​​A til 244 og køre koden igen for at se resultatet,

Kode:

 Underprøve1 () Dim A som byte A = 244 MsgBox A End Sub 

Trin 8: Når vi kører koden igen, ser vi følgende resultat,

Når vi først kører kodevariablen A, har værdier mere end det interval, som en BYTE-datatype kan indeholde, men i andet tilfælde har variablen A data i sit datatypeområde, så vi ikke støder på overløbsfejlen.

Eksempel 3 - Fejl ved overløb

Lad os nu bruge LANG datatype som eksempel, da det er den mest anvendte datatype blandt programmerere.

Trin 1: Vi vil igen arbejde i det samme modul, vi indsatte tidligere. Vi skal bare dobbeltklikke på modulet, og vi er i det.

Trin 2: Angiv en underfunktion som vist på skærmbilledet.

Kode:

 Undereksempel2 () Slutundert 

Trin 3: Angiv en variabel som en LANG datatype som følger.

Kode:

 Undereksempel2 () Dim A som lang ende Sub 

Trin 4: Nu ligner eksemplerne ovenfor, lad os oversvømme denne variabel ved at få den til at holde værdier over dens interval som følger.

Kode:

 Underprøve2 () Dim A så længe A = 2000 * 365 slutunderdel 

Trin 5: Brug en msgbox-funktion til at vise værdien af ​​A som følger.

Kode:

 Underprøve2 () Dim A så længe A = 2000 * 365 MsgBox A End Sub 

Trin 6: Klik på ovennævnte Run-knap og se, at vi støder på overløbsfejl.

Trin 7: Nu er der en metode til at overvinde denne fejl i lang datatype ved at bruge CLNG-funktion som følger.

Kode:

 Underprøve2 () Dim A så længe A = CLng (2000) * 365 MsgBox A End Sub 

Trin 8: Hvis vi igen kører koden, kan vi se følgende resultat.

Hvad gjorde CLNG-funktionen nu? Det konverterede værdien til et langt heltal, som variablen kan indeholde.

Sådan overvindes oversvømmelsesfejl i VBA

Når vi støder på overløbsfejl i VBA, betyder det, at en af ​​vores variabler er ikke mere at have nogle værdier, som den ikke kan indeholde. Vi er nødt til at identificere variablen og rette den. Vi har også CLNG-funktion til lange datatyper, der hjælper os. Men at kende vores datatype hjælper faktisk.

Ting at huske

Der er visse ting, som vi skal huske om overløbsfejl i VBA:

  • Overflow-fejl er en fejl i kørselstid.
  • Fejlkoden for overløbsfejl er 6.
  • For at overvinde overstrømningsfejl skal vi vide, hvilken datatype der kan indeholde, hvor mange værdier.
  • CLNG-funktion hjælper med at oversvømmelsesfejl til lange datatyper.

Anbefalede artikler

Dette er en guide til VBA Overflow Error. Her diskuterer vi, hvordan du bruger Excel VBA Overflow Error Function sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Copy Paste-funktion i VBA
  2. Undertræk Excel-funktion
  3. VBA-abonnement uden for rækkevidden
  4. Excel ISNUMBER-formel

Kategori: