VBA ylivirtausvirhe - Kuinka korjata niiden ajonaikaiset ylivuotovirheet 6?

Sisällysluettelo

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-koodauksille. Virheet eivät ole tarkoituksellisia, joten virheen syyn löytäminen tekee vaikeasta tehtävästä. 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, osoitamme heille tietotyypin. Meidän pitäisi olla täysin tietoisia jokaisen tietotyypin eduista ja haitoista - tässä Run Time Error 6: OverFlow tulee kuvaan. 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-arvo, 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 esimerkiksi alla oleva koodi.

Koodi:

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

Muuttujalle "Number" olen määrittänyt arvon 256. Kun suoritan tämän koodin, saamme alla olevan virheen.

Tämä johtuu siitä, että tietotyypille Tavu mahtuu arvot 0: stä 255: een. Virheen korjaamiseksi joko meidän on vaihdettava tietotyyppi tai meidän on pienennettävä muuttujalle "Number" annettu arvo.

Esimerkki 2: VBA-ylivirta-virhe kokonaislukutietotyypillä

VBA-kokonaisluku on tietotyyppi, johon mahtuu arvot välillä -32768 - 32767. Katso esimerkiksi alla olevaa koodia.

Koodi:

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

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

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

Koodi:

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

Jos yritän nyt suorittaa koodin, se aiheuttaa virheen, koska ilmoittamamme tietotyyppi voi sisältää korkeintaan 32767 positiivisille numeroille, 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 voi sisältyä arvot välillä -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 oikein, niin kaikki putoaa paikoilleen.

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

Mielenkiintoisia artikkeleita...