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

Lang L: none (table-of-contents)

Exceli VBA ülevoolu viga

Vead on lahutamatu osa kodeerimiskeelest, kuid selle vea ilmnemise põhjus on see, mis paneb teid intervjuudes rahvahulgast eristuma. Vead pole VBA kodeerimise jaoks kummalised. Vead ei ole tahtlikud, nii et see teeb tõrke põhjuse leidmise raskeks. 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: ülevooluviga VBA-s?

Muutuja deklareerimisel määrame neile andmetüübi. Peaksime olema täiesti teadlikud iga andmetüübi plussidest ja miinustest - siin kuvatakse Run Time Error 6: OverFlow. Kui 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, sest meile määratud väärtus on väiksem kui baidi väärtuse 255. Piir, kui väärtus määratakse, mis on üle 255, toob kaasa tõrke Run Time Error 6: OverFlow.

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 selle VBA andmetüübi plusse ja miinuseid, mida me kasutama hakkame. Näiteks 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” määratud 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

Kui ma selle koodi käivitan, 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 maksimaalseks väärtuseks 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 Time 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 õigesti, siis kõik loksub oma kohale.

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

Huvitavad Artiklid...