Johdanto VBA-ylivuotovirheeseen

VBA: n kanssa työskennellessämme on monia tyyppisiä virheitä. Virheitä kutsutaan ajonaikaisiksi virheiksi, kun ne ovat havainneet virheen koodin suorittamisen aikana. Jokaiselle koodille on myös annettu tietty tietty koodi VBA: n ohjelmoinnissa. Yksi tällainen virhe on VBA-ylivuotovirhe. Tämän virheen koodi on ajoaikavirhe 6, mikä tarkoittaa ylivuotoa VBA: n ohjelmoinnissa. Opimme tästä virheestä tässä artikkelissa.

Nyt tiedämme, mikä tämä ylivuotovirhe on eräänlainen virhe, nyt ymmärretään, mitä tämä virhe tarkoittaa. Jos julistamme minkä tahansa muuttujan tietyksi tietotyypiksi ja muuttujan arvo ylittää muuttujan tietotyypin rajan, saadaan ylivuodon virhe. Esimerkiksi, jos määrittelemme muuttujan kokonaislukuna ja tiedämme, että kokonaisluku voi pitää arvoja korkeintaan 32767 positiivisilla numeroilla ja -32768 negatiivisilla numeroilla. Joten jos tarjoamme mitään tuloja tämän alueen ulkopuolella, kohtaamme ylivuotovirheen VBA: ssa.

Ylivuotovirhe maallikolla tarkoittaa, että ylikuormitamme tietotyypin arvoilla, joita se voi pitää. Tällaiset tapaukset kohtaavat meidät tähän virheeseen. Joten tämän virheen välttämiseksi meidän on oltava tietoisia käyttämästäsi tietotyypistä, jotta voimme estää sen.

Näemme useiden esimerkkien avulla, kuinka erilaisissa tietotyypeissä me mahdollisesti kohtaamme tämän virheen.

Kuinka käyttää VBA-ylivuotovirhettä Excelissä?

Opimme käyttämään VBA: n ylivuotovirhetoimintoa muutamalla esimerkillä excelistä.

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

Esimerkki 1 - ylivuotovirhe

Käytämme ensimmäisessä esimerkissä kokonaislukutietotyyppiä. Yrittäkäämme ylittää arvot niin, että muuttujat eivät voi tallentaa sitä ja nähdä havaitsemasi virhe.

Noudata alla olevia vaiheita käyttääksesi VBA: n ylivuotovirhetoimintoa Excelissä:

Vaihe 1: Aloittamalla periaatteessa VBA: lla ensimmäinen asia, joka meidän on tehtävä, on ottaa käyttöön kehittäjämme välilehti ja napsauttaa sitä sitten avataksesi VB Editor Visual Basic -vaihtoehdosta, kuten alla olevassa kuvakaappauksessa näytetään,

Vaihe 2: Napsauta sitä ja aseta moduuli seuraavasti, Kun napsautamme moduulia. Kaksoisnapsauta sitä ja se avaa meille uuden ikkunan, johon kirjoitamme koodimme.

Vaihe 3 : Näemme tyhjän ikkunan oikealla puolellamme, ilmoitamme alatoiminnon ja näin aloitamme makron seuraavasti:

Koodi:

 Alinäyte () Loppu alaosaan 

Vaihe 4: Ilmoita muuttuja kokonaislukuna, jotta se voi pitää kokonaislukuarvoa meille,

Koodi:

 Alinäyte () himmentää kokonaislukuna loppua alaosa 

Vaihe 5: Nyt muuttujaan A tallenna arvo, joka ylittää tietotyypin seuraavasti:

Koodi:

 Alinäyte () himmentää A kokonaislukuna A = 4896 * 5000 Loppu alaosaan 

Vaihe 6: Näytä nyt A : n arvo msgbox-toiminnolla,

Koodi:

 Alinäyte () himmennetään A kokonaislukuna A = 4896 * 5000 MsgBox A Loppu alaosa 

Vaihe 7: Suorita yllä oleva koodi ja katso mitä tulosta saamme,

Saimme tämän virheen, koska 4896 * 5000 ylittää kokonaisluvutietotyypin positiivisen lukumäärän rajan ja muuttuja A ylittää tämän arvon, joten kohtaamme tämän virheen.

Esimerkki 2 - ylivuotovirhe

Nyt tässä esimerkissä olkaamme BYTE-tietotyyppi. Tiedämme, että tavutietotyyppi voi pitää arvoja välillä 0–255, mutta muut kuin tämä alue sisältävät arvot antavat meille virheen. Annetaan selville.

Vaihe 1: Meillä on jo moduulimme asennettuna, voimme työskennellä samalla moduulilla tai luoda uuden. Mutta työskentelemme samalla moduulilla, jonka lisäsimme. Kaksoisnapsauta moduulia ja syötä koodiasema uudelleen,

Vaihe 2: Ilmoita toinen alatoiminto seuraavasti:

Koodi:

 Alinäyte1 () Loppu alaosa 

Vaihe 3: Ilmoita muuttuja tietotyypiksi BYTE seuraavasti:

Koodi:

 Alinäyte1 () himmentää A tavun lopussa 

Vaihe 4: Nyt muuttujan A myymäläarvossa, joka on yli 255, seuraavasti:

Koodi:

 Alinäyte1 () himmennetään A tavuna A = 266 Loppu alaosaan 

Vaihe 5: Käytä msgbox-toimintoa näyttääksesi arvon A,

Koodi:

 Alinäyte1 () himmennetään A tavuna A = 266 MsgBox A Loppu alaosa 

Vaihe 6: Suoritetaan yllä oleva koodi painamalla F5 ja katso tulos,

Vaihe 7: Yritämme nyt muuttaa A: n arvoksi 244 ja suorita koodi uudestaan ​​nähdäksesi tulos,

Koodi:

 Alinäyte1 () himmennetään A tavuna A = 244 MsgBox A Loppu alaosa 

Vaihe 8: Kun suoritamme koodin uudelleen, näemme seuraavan tuloksen,

Kun suoritamme ensimmäisen kerran, koodimuuttujalla A on arvoja enemmän kuin alue, jota BYTE-tietotyyppi voi pitää, mutta toisessa tapauksessa muuttujalla A on dataa tietotyyppialueellaan, joten emme havainnut ylivuotovirhettä.

Esimerkki 3 - ylivuotovirhe

Käytämme nyt esimerkiksi LONG-tietotyyppiä, koska se on eniten käytetty tietotyyppi ohjelmoijien keskuudessa.

Vaihe 1: Työskentelemme taas samassa moduulissa, jonka aiemmin lisäsimme. Meidän tarvitsee vain kaksoisnapsauttaa moduulia ja olemme siinä.

Vaihe 2: Ilmoita alitoiminto kuvankaappauksen osoittamalla tavalla.

Koodi:

 Alinäyte2 () Loppu alaosaan 

Vaihe 3: Ilmoita muuttuja LONG-tietotyypiksi seuraavasti.

Koodi:

 Alinäyte2 () himmentää yhtä pitkään alaosaan 

Vaihe 4: Nyt samanlainen kuin yllä olevat esimerkit, annamme tämän muuttujan ylivuodon tekemällä sen pitämään arvot alueensa yläpuolella seuraavasti.

Koodi:

 Alinäyte2 () himmentää A niin kauan A = 2000 * 365 Loppu alaosaan 

Vaihe 5: Käytä msgbox-toimintoa näyttääksesi A-arvon seuraavasti.

Koodi:

 Alinäyte2 () himmentää A niin kauan A = 2000 * 365 MsgBox A Loppu alaosa 

Vaihe 6: Napsauta yllä olevaa Suorituspainiketta ja huomaa, että havaitsemme ylivuotovirheen.

Vaihe 7: Nyt on menetelmä, jolla voit korjata tämän virheen pitkällä tietotyypillä käyttämällä CLNG-toimintoa seuraavasti.

Koodi:

 Alinäyte2 () himmennetään A niin kauan A = CLng (2000) * 365 MsgBox A Loppu alaosa 

Vaihe 8: Jos nyt suoritamme koodin uudelleen, näemme seuraavan tuloksen.

Mitä CLNG-toiminto teki? Se muunsi arvon pitkäksi kokonaisluvuksi, jota muuttuja voi pitää.

Kuinka voittaa ylivuotovirheen VBA: ssa

Kun kohtaamme ylivuotovirheen VBA: ssä, mikä tarkoittaa mitä tahansa muuttujamme, meillä ei ole arvoita, joita se ei voi pitää. Meidän on tunnistettava muuttuja ja oikaistava se. Lisäksi meillä on CLNG-toiminto pitkille tietotyypeille, jotka auttavat meitä. Mutta tietotyypin tunteminen todella auttaa.

Muistettavat asiat

On tiettyjä asioita, jotka meidän on muistettava VBA: n ylivuotovirheistä:

  • Ylivuotovirhe on ajonaikainen virhe.
  • Ylivuotovirheen virhekoodi on 6.
  • Ylivuotovirheen poistamiseksi meidän on tiedettävä, mitä tietotyyppiä voi pitää, kuinka paljon arvoja.
  • CLNG-toiminto auttaa pitkien tietotyyppien ylivuotovirheissä.

Suositellut artikkelit

Tämä on opas VBA: n ylivuotovirheeseen. Tässä keskustellaan siitä, miten Excel VBA: n ylivuotovirhetoimintoa voidaan käyttää käytännön esimerkkien ja ladattavan Excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Kopioi liitä toiminto VBA: ssa
  2. Sub-string Excel-toiminto
  3. VBA-alaindeksi rajojen ulkopuolella
  4. Excel ISNUMBER -kaava

Luokka: