VBA ylivirtausvirhe | Kuinka korjata niiden ajonaikaiset ylivuotovirheet 6?

Excel VBA: n ylivirtausvirhe

Virheet ovat olennainen osa koodauskieliä, mutta sen selvittäminen, miksi virhe tulee, saa sinut erottumaan joukosta haastatteluissa. Virheet eivät ole outoja VBA-koodaukselle, virheet eivät ole tarkoituksellisia, mikä tekee virheen syyn löytämisestä vaikean tehtävän. VBA: ssa meillä on joitain ennalta määritettyjä virheitä, ja niiden tunteminen tekee virheen korjaamisesta nopeasti. Tässä artikkelissa näytämme RUN TIME ERROR 6: OverFlow. Seuraa koko artikkelia saadaksesi tietää virheestä, syistä VBA-ylivuotovirheelle ja kuinka korjata ne.

Mikä on ajonaikainen virhe 6: ylivuotovirhe VBA: ssa?

Kun ilmoitamme muuttujan, annamme heille tietotyypin. Meidän pitäisi olla täysin tietoisia kunkin tietotyypin eduista ja haitoista. Tällöin kuvaan tulee Run Time Error 6: OverFlow. Kun ylikuormitamme tietotyyppiä arvolla, joka on enemmän kuin tietotyypin kapasiteetti, saamme tämän virheen.

Esimerkiksi: Jos ilmoitat muuttujan tavuksi.

Himmennetty luku tavuna

Tavu tietotyyppi voi sisältää arvoja 0-255. Nyt määritän arvoksi 240.

Luku = 240

Tämän pitäisi toimia hyvin, koska määräämämme arvo on pienempi kuin tavun arvon 255. Raja tällä hetkellä, kun osoitamme arvon, joka on yli 255, johtaa Run Time Error 6: OverFlow -virheeseen.

Tämä on yleiskatsaus ajonaikaisesta virheestä 6: ylivirta. Näemme joitain esimerkkejä yksityiskohtaisesti.

Esimerkkejä ajoaikavirheestä 6: Ylivirta VBA: ssa

Katsotaanpa joitain esimerkkejä VBA OverFlow -virheistä Excelissä.

Esimerkki 1: Ylivirtausvirhe tavutietotyypillä

Kuten sanoin, on tärkeää tietää VBA-tietotyypin edut ja haitat, joita aiomme käyttää. Katso esimerkki alla olevasta koodista.

Koodi:

 Sub OverFlowError_Example1 () Himmennettävä numero tavunumerona = 256 MsgBox-numeron loppu Sub 

Muuttujalle “Numero” olen määrittänyt arvon arvoksi 256. Kun suoritan tämän koodin, saamme alla olevan virheen.

Tämä johtuu siitä, että tietotyypille Tavu voi olla arvoja 0-255. Joten se aiheuttaa virheen. Virheen korjaamiseksi joko meidän on muutettava tietotyyppi tai meidän on pienennettävä muuttujalle "Numero" annettu arvo.

Esimerkki 2: VBA-ylivirta-virhe kokonaislukutietotyypillä

VBA-kokonaisluku on tietotyyppi, johon mahtuu arvot välillä -32768 - 32767. Katso esimerkki alla olevasta koodista.

Koodi:

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

Kun suoritan tämän koodin, saamme muuttujan "MyValue" arvon viestiruutuun eli 25656.

Määritän nyt numeron muuttujalle uudelleen nimellä “45654”.

Koodi:

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

Nyt kun yritän suorittaa koodin, se aiheuttaa virheen, koska ilmoittamamme tietotyyppi voi pitää korkeintaan 32767 positiivisten numeroiden kohdalla ja negatiivisten numeroiden raja on -32768.

Esimerkki 3: VBA: n ylivirtausvirhe pitkällä tietotyypillä

Pitkä tietotyyppi on yleisimmin käytetty tietotyyppi Excel VBA: ssa. Tähän mahtuu arvot –2 147 483 648–2 147 486 647. Mikä tahansa yllä oleva aiheuttaa virheitä.

Koodi:

 Sub OverFlowError_Example3 () Himmennä MyValue niin pitkä MyValue = 5000 * 457 MsgBox MyValue End Sub 

Tämä aiheuttaa ylivuotovirheen.

Tämän ongelman korjaamiseksi meidän on käytettävä toimintoa CLNG VBA: ssa. Alla on esimerkki samasta.

Koodi:

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

Tämän pitäisi toimia hyvin.

Tämä on yleiskatsaus Run Time -virheestä 6: OverFlow . Tämän virheen ratkaisemiseksi meidän on oltava täysin tietoisia tietotyypeistä. Joten palaa perusasioihin, tee perusasiat heti, niin kaikki putoaa paikoilleen.

Voit ladata tämän VBA Overflow Error Excel -mallin täältä - VBA OverFlow Error Excel -malli


$config[zx-auto] not found$config[zx-overlay] not found