Introduktion till VBA Overflow Error

Vi stöter på många typer av fel när vi arbetar med VBA. Fel kallas runtime-fel när de har stött på ett fel när koden körs. Dessutom har varje kod någon viss kod tilldelad den i programmeringen av VBA. I exel ett sådant fel är VBA Overflow-fel. Koden för detta fel är körtidfel 6 vilket betyder överflöde i programmeringen av VBA. Vi kommer att lära dig mer om detta fel i den här artikeln.

Nu vet vi vad detta överflödesfel är en typ av fel. Låt oss nu förstå vad detta fel betyder. Om vi ​​förklarar någon variabel som en viss datatyp och värdet på variabeln överskrider gränsen för datatypen för variabeln får vi felet för överflöde. Om vi ​​till exempel definierar en variabel som heltal och vi vet att heltal kan innehålla värden upp till 32767 för positiva siffror och -32768 för negativa siffror. Så om vi tillhandahåller några ingångar utöver det intervallet kommer vi att möta överflödesfel i VBA.

Överflödesfel i lekmän innebär att vi överbelaster en datatyp med de värden den kan hålla. Sådana fall stöter på detta fel. Så för att undvika detta fel måste vi vara medvetna om vilken datatyp vi använder så att vi kan förhindra det.

Vi ser genom olika exempel att hur vi i olika typer av datatyper eventuellt kommer att möta detta fel.

Hur använder man VBA-överflödesfel i Excel?

Vi kommer att lära dig att använda en VBA Overflow Error-funktion med några exempel i Excel.

Du kan ladda ner denna VBA OverFlow-fel Excel-mall här - VBA OverFlow-fel Excel-mall

Exempel 1 - Överflödesfel

För det första exemplet låt oss använda heltalsdatatyp. Låt oss försöka översvämma värdena så att variabler inte kan lagra det och se felet vi stöter på.

Följ stegen nedan för att använda VBA Overflow Error-funktion i Excel:

Steg 1: För att i första hand börja med VBA det första vi behöver göra är att aktivera vår utvecklare-flik och sedan klicka på den för att öppna VB Editor från Visual Basic-alternativet som visas på skärmdumpen nedan,

Steg 2: Klicka på den och sätt in en modul enligt följande. När vi klickar på modulen. Dubbelklicka på den så öppnas ett annat fönster för oss där vi skriver vår kod.

Steg 3 : Vi kommer att se ett tomt fönster på höger sida av oss, förklara en subfunktion och det är hur vi startar ett makro enligt följande,

Koda:

 Sub Sample () Slut Sub 

Steg 4: Förklara en variabel som ett heltal så att det kan hålla ett heltal för oss,

Koda:

 Underprov () Dim A som heltal slut sub 

Steg 5: Nu i Variabel Ett lagrar ett sådant värde som kommer att överströmma datatypen enligt följande,

Koda:

 Subprov () Dim A som heltal A = 4896 * 5000 Slut Sub 

Steg 6: Visa nu värdet på A med hjälp av msgbox-funktionen,

Koda:

 Subprov () Dim A som heltal A = 4896 * 5000 MsgBox A End Sub 

Steg 7: Kör ovanstående kod och se vilket resultat vi får,

Vi fick det här felet eftersom 4896 * 5000 är över den positiva siffersgränsen för heltaldatatypen att hålla och variabel A översvämmas av detta värde så vi stöter på det här felet.

Exempel 2 - Överflödesfel

Låt oss nu i detta exempel BYTE-datatyp. Vi vet att byte-datatyp kan innehålla värden från 0 till 255 men andra värden än det intervallet ger oss ett fel. Låt oss ta reda på det.

Steg 1: Vi har redan lagt in vår modul, vi kan arbeta på samma eller skapa en ny. Men låt oss arbeta med samma modul som vi infogade. Dubbelklicka på modulen för att öppna kodfönstret igen,

Steg 2: Förklara en annan underfunktion enligt följande,

Koda:

 Sub Sample1 () Slut Sub 

Steg 3: Förklara en variabel som datatyp BYTE på följande sätt,

Koda:

 Sub Sample1 () Dim A As Byte End Sub 

Steg 4: Nu i variabelt lagringsvärde över 255 enligt följande,

Koda:

 Subprov1 () Dim A As Byte A = 266 End Sub 

Steg 5: Använd en msgbox-funktion för att visa värdet på A,

Koda:

 Subprov1 () Dim A As Byte A = 266 MsgBox A End Sub 

Steg 6: Låt oss köra ovanstående kod genom att trycka på F5 och se resultatet,

Steg 7: Låt oss nu försöka ändra värdet på A till 244 och köra koden igen för att se resultatet,

Koda:

 Subprov1 () Dim A As Byte A = 244 MsgBox A End Sub 

Steg 8: När vi kör koden igen ser vi följande resultat,

När vi först kör kodkvariabeln A har värden mer än det intervall en BYTE-datatyp kan innehålla, men i andra fall har variabeln data i sitt datatypsområde så vi stötte inte på överflödesfelet.

Exempel 3 - Överflödesfel

Låt oss nu använda LONG datatyp som exempel eftersom det är den mest använda datatypen bland programmerare.

Steg 1: Vi kommer igen att arbeta i samma modul som vi infogade tidigare. Vi behöver bara dubbelklicka på modulen och vi är i den.

Steg 2: Förklara en underfunktion som visas på skärmdumpen.

Koda:

 Sub Sample2 () Slut Sub 

Steg 3: Förklara en variabel som en LANG datatyp på följande sätt.

Koda:

 Sub Sample2 () Dim A As Long End Sub 

Steg 4: Nu liknar exemplen ovan, låt oss översvämma denna variabel genom att låta den hålla värden över sitt intervall enligt följande.

Koda:

 Underprov2 () Dim A så länge A = 2000 * 365 slutund 

Steg 5: Använd en msgbox-funktion för att visa värdet på A enligt följande.

Koda:

 Underprov2 () Dim A så länge A = 2000 * 365 MsgBox A End Sub 

Steg 6: Klicka på körknappen ovan och se att vi stöter på överflödesfel.

Steg 7: Nu finns det en metod för att övervinna detta fel i lång datatyp genom att använda CLNG-funktionen enligt följande.

Koda:

 Sub Sample2 () Dim A As Long A = CLng (2000) * 365 MsgBox A End Sub 

Steg 8: Om vi ​​igen kör koden kan vi se följande resultat.

Vad gjorde CLNG-funktionen nu? Det konverterade värdet till ett långt heltal som variabeln kan hålla.

Hur man övervinner överströmningsfel i VBA

När vi stöter på överflödesfel i VBA betyder det att någon av våra variabler är inte mer att ha några värden som den inte kan innehålla. Vi måste identifiera variabeln och korrigera den. Vi har också CLNG-funktion för långa datatyper som hjälper oss. Men att känna till vår datatyp hjälper faktiskt.

Saker att komma ihåg

Det finns vissa saker som vi måste komma ihåg om överflödesfel i VBA:

  • Överflödesfel är ett körtidfel.
  • Felkoden för överflödesfel är 6.
  • För att övervinna överflödesfel måste vi veta vilken datatyp som kan innehålla hur mycket värden.
  • CLNG-funktion hjälper till vid överflödesfel för långa datatyper.

Rekommenderade artiklar

Detta är en guide till VBA Overflow Error. Här diskuterar vi hur du använder Excel VBA Overflow Error Function tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Kopiera klistra in funktion i VBA
  2. Substring Excel-funktion
  3. VBA-prenumeration utanför räckvidden
  4. Excel ISNUMBER-formel

Kategori: