Chyba nadmerného toku VBA - Ako ich opraviť chyba 6 pri pretečení?

Chyba pretečenia Excel VBA

Chyby sú neoddeliteľnou súčasťou každého programovacieho jazyka, ale zistenie, prečo táto chyba prichádza, vás robí pri rozhovoroch odlišným od davu. Chyby nie sú divné pre kódovanie VBA. Chyby nie sú úmyselné, takže hľadanie príčiny chyby robí ťažkú ​​úlohu. Vo VBA máme niektoré z preddefinovaných chýb a ich znalosť vás prinúti chybu opraviť veľmi rýchlo. V tomto článku vám ukážeme RUN TIME ERROR 6: OverFlow. Postupujte podľa celého článku, kde nájdete ďalšie informácie o chybe, dôvodoch chyby pretečenia VBA a o ich odstránení.

Čo je chyba chodu 6: Chyba pretečenia vo VBA?

Keď deklarujeme premennú, priradíme im dátový typ. Mali by sme si byť plne vedomí výhod a nevýhod každého dátového typu - toto je skutočnosť, kedy sa do obrazu dostane chyba Run Time Error 6: OverFlow. Keď preťažíme dátový typ hodnotou, ktorá je viac ako kapacita dátového typu, dostaneme túto chybu.

Napríklad: Ak deklarujete premennú ako Byte.

Stlmiť číslo ako bajt

Bajtový dátový typ môže obsahovať hodnoty od 0 do 255. Teraz priradím hodnotu 240.

Počet = 240

To by malo fungovať dobre, pretože hodnota, ktorú sme priradili, je menšia ako limit Byteovej hodnoty 255. V okamihu, keď priradíme hodnotu, ktorá je viac ako 255, vedie to k chybe Run Time Error 6: OverFlow.

Toto je všeobecný prehľad chyby Run Time Error 6: OverFlow. Niektoré z príkladov si pozrieme podrobne.

Príklady chyby chodu 6: OverFlow vo VBA

Pozrime sa na niekoľko príkladov chyby nadmerného toku VBA v programe Excel.

Príklad 1: Chyba pretečenia s dátovým typom bajtu

Ako som povedal, je dôležité poznať výhody a nevýhody dátového typu VBA, ktorý budeme používať. Napríklad si pozrite nasledujúci kód.

Kód:

Sub OverFlowError_Example1 () Dim Number as Byte Number = 256 MsgBox Number End Sub

Pre premennú „Number“ som priradil hodnotu 256. Po spustení tohto kódu sa nám zobrazí nižšie uvedená chyba.

Je to preto, že dátový typ Byte môže obsahovať hodnoty od 0 do 255. Spôsobuje to teda chybu. Aby sme chybu napravili, musíme buď zmeniť typ údajov, alebo zmenšiť hodnotu, ktorú sme priradili premennej „Number“.

Príklad 2: Chyba nadmerného toku VBA s celočíselným dátovým typom

Celé číslo VBA je dátový typ, ktorý môže obsahovať hodnoty od -32768 do 32767. Pozrite sa napríklad na nasledujúci kód.

Kód:

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

Keď spustím tento kód, dostaneme do textovej schránky hodnotu premennej „MyValue“, tj. 25656.

Teraz priradím číslo premennej ako „45654“.

Kód:

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

Teraz, ak sa pokúsim spustiť kód, spôsobí to chybu, pretože údajový typ, ktorý sme deklarovali, môže obsahovať iba maximum 32767 pre kladné čísla a pre záporné čísla je limit -32768.

Príklad 3: Chyba nadmerného toku VBA s dlhým dátovým typom

Dlhý dátový typ je najčastejšie používaným dátovým typom v programe Excel VBA. Môže obsahovať hodnoty od 2 147 483 648 do 2 147 486 647. Čokoľvek nad tým spôsobí chybu.

Kód:

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

To spôsobí chybu pretečenia.

Na vyriešenie tohto problému musíme vo VBA použiť funkciu CLNG. Nižšie je uvedený príklad toho istého.

Kód:

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

Toto by malo fungovať dobre.

Toto je prehľad chyby doby chodu 6: OverFlow . Na vyriešenie tejto chyby si musíme byť úplne vedomí dátových typov. Vráťte sa teda k základom, urobte základy správne, potom všetko zapadne na miesto.

Túto šablónu Excel Overflow Error VBA si môžete stiahnuť tu - šablónu VBA OverFlow Error Excel

Zaujímavé články...