VBA OverFlow-fejl - Sådan løses dem Runtime Overflow Error 6?

Indholdsfortegnelse

Excel VBA OverFlow-fejl

Fejl er en del af ethvert kodningssprog, men det er det, der får dig til at skille dig ud fra mængden i interviews, at finde ud af, hvorfor fejlen kommer. Fejl er ikke mærkeligt ved VBA-kodning. Fejl er ikke bevidste, så det gør den hårde opgave at finde årsagen til fejlen. I VBA har vi nogle af de foruddefinerede fejl, og at vide om dem får dig til at rette fejlen meget hurtigt. I denne artikel vil vi vise dig om RUN TIME ERROR 6: OverFlow. Følg den fulde artikel for at vide om fejlen, årsagerne til VBA-overløbsfejlen, og hvordan man løser dem.

Hvad er Run Time Error 6: Overflow Error i VBA?

Når vi erklærer variablen, tildeler vi dem en datatype. Vi skal være helt opmærksomme på fordele og ulemper ved hver datatype, hvor Run Time Error 6: OverFlow kommer ind i billedet. Når vi overbelaster datatypen med værdien, der er mere end datatypens kapacitet, får vi denne fejl.

For eksempel: Hvis du erklærer variablen som byte.

Dæmp antal som byte

Byte-datatypen kan indeholde værdier fra 0 til 255. Nu tildeler jeg værdien som 240.

Antal = 240

Dette skal fungere fint, fordi den værdi, vi har tildelt, er mindre end grænsen for Bytes værdi på 255. Det øjeblik, vi tildeler værdien, som er mere end 255, fører det til fejlen i Run Time Error 6: OverFlow.

Dette er den generelle oversigt over Run Time Error 6: OverFlow. Vi vil se nogle af eksemplerne detaljeret.

Eksempler på Run Time Error 6: OverFlow i VBA

Lad os se nogle eksempler på VBA OverFlow-fejl i Excel.

Eksempel 1: OverFlow-fejl med byte-datatype

Som jeg fortalte, er det vigtigt at kende fordele og ulemper ved den VBA-datatype, vi skal bruge. Se f.eks. Nedenstående kode.

Kode:

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

For variablen "Antal" har jeg tildelt værdien som 256. Når jeg kører denne kode, får vi nedenstående fejl.

Dette skyldes, at datatypen Byte kan indeholde værdier fra 0 til 255. Så det forårsager en fejl. For at rette fejlen skal vi enten ændre datatypen, eller så skal vi reducere den værdi, vi har tildelt variablen "Number".

Eksempel 2: VBA OverFlow-fejl med heltaldatatype

VBA-heltal er en datatype, der kan indeholde værdier fra -32768 til 32767. Se f.eks. Nedenstående kode.

Kode:

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

Når jeg kører denne kode, får vi værdien af ​​variablen “MyValue” i meddelelsesfeltet, dvs. 25656.

Nu tildeler jeg nummeret til variablen som “45654”.

Kode:

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

Hvis jeg forsøger at køre koden, vil det forårsage en fejl, fordi den datatype, vi har erklæret, kun kan holde det maksimale på 32767 for positive tal, og for antallet af negative tal er -32768.

Eksempel 3: VBA OverFlow-fejl med lang datatype

Den lange datatype er den hyppigst anvendte datatype i Excel VBA. Dette kan indeholde værdier fra -2,147,483,648 til 2,147,486,647. Alt derover vil forårsage en fejl.

Kode:

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

Dette vil medføre en overløbsfejl.

For at løse dette problem skal vi bruge funktionen CLNG i VBA. Nedenfor er et eksempel på det samme.

Kode:

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

Dette skal fungere fint.

Dette er oversigten over Run Time Error 6: OverFlow . For at løse denne fejl skal vi være helt opmærksomme på datatyperne. Så gå tilbage til det grundlæggende, gør det grundlæggende rigtigt, så falder alt på plads.

Du kan downloade denne VBA Overflow Error Excel-skabelon her - VBA OverFlow Error Excel-skabelon

Interessante artikler...