VBA OverFlow-fel

Excel VBA OverFlow-fel

Fel är en del av varje kodningsspråk, men att hitta varför felet kommer är det som gör att du skiljer dig från mängden i intervjuer. Fel är inte konstigt för VBA-kodning, fel är inte avsiktliga, vilket gör det svårt att hitta orsaken till felet. I VBA har vi några av de fördefinierade felen och att veta om dem får dig att fixa felet mycket snabbt. I den här artikeln visar vi dig om RUN TIME ERROR 6: OverFlow. Följ hela artikeln för att veta om felet, orsakerna till VBA-överflödesfelet och hur du åtgärdar dem.

Vad är Run Time Error 6: Overflow Error in VBA?

När vi deklarerar variabeln tilldelar vi dem en datatyp. Vi bör vara helt medvetna om fördelarna och nackdelarna med varje datatyp. Det här där Run Time Error 6: OverFlow kommer in i bilden. När vi överbelastar datatypen med det värde som är mer än datatypens kapacitet får vi detta fel.

Till exempel: Om du förklarar variabeln som byte.

Dim nummer som byte

Byte-datatypen kan innehålla värden från 0 till 255. Nu tilldelar jag värdet som 240.

Antal = 240

Detta ska fungera bra eftersom värdet vi har tilldelat är mindre än gränsen för Byte-värdet 255. I det ögonblick som vi tilldelar värdet som är mer än 255 leder det till felet Run Time Error 6: OverFlow.

Detta är den allmänna översikten över Run Time Error 6: OverFlow. Vi kommer att se några av exemplen i detalj.

Exempel på körtidsfel 6: OverFlow i VBA

Låt oss se några exempel på VBA OverFlow-fel i Excel.

Exempel 1: OverFlow-fel med byte-datatyp

Som jag sa är det viktigt att känna till fördelarna och nackdelarna med VBA-datatypen vi ska använda. För ett exempel, se nedanstående kod.

Koda:

 Sub OverFlowError_Example1 () Dim nummer som byte nummer = 256 MsgBox nummer slut sub 

För variabeln "Number" har jag tilldelat värdet 256. När jag kör den här koden får vi nedanstående fel.

Detta beror på att datatypen Byte kan innehålla värden från 0 till 255. Så det orsakar ett fel. För att åtgärda felet måste vi antingen ändra datatypen eller så måste vi minska värdet vi har tilldelat variabeln "Number".

Exempel 2: VBA OverFlow-fel med heltaldatatyp

VBA-heltal är en datatyp som kan innehålla värden från -32768 till 32767. För ett exempel, se nedanstående kod.

Koda:

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

När jag kör den här koden får vi värdet på variabeln “MyValue” i meddelandefältet, dvs 25656.

Nu tilldelar jag numret till variabeln som “45654”.

Koda:

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

Om jag nu försöker köra koden kommer det att orsaka ett fel eftersom datatypen vi har deklarerat endast kan hålla maximalt 32767 för positiva tal och för negativa siffror är -32768.

Exempel 3: VBA OverFlow-fel med lång datatyp

Den långa datatypen är den datatyp som oftast används i Excel VBA. Detta kan innehålla värden från –2,177,483,648 till 2,147,486,647. Allt ovanför kommer att orsaka ett fel.

Koda:

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

Detta orsakar ett överflödsfel.

För att lösa det här problemet måste vi använda funktionen CLNG i VBA. Nedan följer ett exempel på detsamma.

Koda:

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

Detta borde fungera bra.

Detta är översikten över Run Time Error 6: OverFlow . För att lösa detta fel måste vi vara helt medvetna om datatyperna. Så gå tillbaka till grunderna, gör grunderna rätt så faller allt på plats.

Du kan ladda ner denna Excel-mall för VBA-överflödesfel här - Excel-mall för VBA-överflödesfel