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