VBA ülevooluviga | Kuidas parandada nende tööaja ülevoolu viga 6?

Exceli VBA ülevoolu viga

Vead on lahutamatu osa kodeerimiskeelest, kuid selle vea tekkimise põhjus on see, mis paneb sind intervjuudes rahvahulgast eristuma. Vead pole VBA-kodeerimise jaoks kummalised, vead ei ole tahtlikud, nii et vea põhjuse leidmine muudab raske ülesande. VBA-s on meil mõned eelnevalt määratletud vead ja nende teadmine paneb vea väga kiiresti parandama. Selles artiklis näitame teile RUN TIME ERROR 6: OverFlow kohta. Järgige tervet artiklit, et teada saada veast, VBA ülevoolu tõrke põhjustest ja nende parandamisest.

Mis on käitusaja tõrge 6: ülevoolu viga VBA-s?

Muutuja deklareerimisel määrame neile andmetüübi. Peaksime olema täiesti teadlikud iga andmetüübi plussidest ja miinustest. Siit tuleb pildile Run Time Error 6: OverFlow. Kui me koormame andmetüübi väärtusega, mis on suurem kui andmetüübi maht, siis saame selle vea.

Näiteks: kui deklareerite muutuja baidiks.

Hämar number baidina

Baitide andmetüüp mahutab väärtusi vahemikus 0 kuni 255. Nüüd määran väärtuseks 240.

Arv = 240

See peaks hästi töötama, kuna meie määratud väärtus on väiksem kui baidi väärtuse 255. Piir, kui omistame väärtuse, mis on suurem kui 255, toob see kaasa Run Time Error 6: OverFlow vea.

See on üldine ülevaade Run Time Error 6: OverFlow'st. Näeme mõningaid näiteid üksikasjalikult.

Käitusaja tõrke 6 näited: ülevool VBA-s

Vaatame mõningaid näiteid VBA ülevooluvea kohta Excelis.

Näide 1: ülevoolu tõrge baidi andmetüübiga

Nagu ma ütlesin, on oluline teada VBA andmetüübi plusse ja miinuseid, mida me kasutama hakkame. Näite saamiseks vaadake allolevat koodi.

Kood:

 Sub OverFlowError_Example1 () Dim number byte Number = 256 MsgBox Number End Sub 

Muutuja „Number“ jaoks olen määranud väärtuseks 256. Selle koodi käivitamisel kuvatakse järgmine tõrge.

Seda seetõttu, et andmetüüp Bait mahutab väärtusi vahemikus 0 kuni 255. Seega põhjustab see tõrke. Vea parandamiseks peame muutma andmetüüpi või vähendama muutujale „Number” omistatud väärtust.

Näide 2: VBA ülevoolu viga täisandmetüübiga

VBA täisarv on andmetüüp, mis mahutab väärtusi vahemikus -32768 kuni 32767. Näiteks vaadake allolevat koodi.

Kood:

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

Selle koodi käivitamisel saame teatekasti muutuja “MyValue” väärtuse, st 25656.

Nüüd määran muutujale numbri ümber “45654”.

Kood:

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

Nüüd, kui proovin koodi käivitada, põhjustab see tõrke, kuna meie deklareeritud andmetüüp mahutab maksimaalselt 32767 positiivsete arvude korral ja negatiivsete arvude puhul on -32768.

Näide 3: VBA ülevoolu viga pika andmetüübiga

Pikk andmetüüp on Exceli VBA-s kõige sagedamini kasutatav andmetüüp. See võib hoida väärtusi vahemikus –2 147 483 648 kuni 2 147 486 647. Kõik, mis ülal, põhjustab vea.

Kood:

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

See põhjustab ülevooluvea.

Selle probleemi lahendamiseks peame VBA-s kasutama funktsiooni CLNG. Allpool on toodud näide samast.

Kood:

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

See peaks hästi töötama.

See on ülevaade Run Run Error 6: OverFlow'st . Selle vea lahendamiseks peame andmetüübid täielikult teadma. Nii et pöörduge tagasi põhitõdede juurde, tehke põhitõed kohe, siis kõik loksub oma kohale.

Selle VBA ületäitumisvea Exceli malli saate alla laadida siit - VBA ülevoolu tõrke Exceli mall