Sissejuhatus VBA ülevoolu tõrkesse

VBA-ga töötamisel ilmneb palju tõrkeid. Veaks nimetatakse käitusveaks, kui koodi ilmumisel on ilmnenud tõrge. Samuti on igal koodil VBA programmeerimisel mingi kindel kood. Excelis on üks selline viga VBA ülevoolu tõrge. Selle tõrke kood on käitusaja viga 6, mis tähendab ülevoolu VBA programmeerimisel. Selle vea kohta saame teada sellest artiklist.

Nüüd teame, mis see ületäitumise viga on teatud tüüpi viga, andkem nüüd mõista, mida see viga tähendab. Kui kuulutame mõne muutuja teatud andmetüübiks ja muutuja väärtus ületab muutuja andmetüübi piiri, saame vea ülevoolu korral. Näiteks kui määratleme muutuja täisarvuna ja teame, et täisarv võib väärtustes olla kuni 32767 positiivsete arvude korral ja -32768 negatiivsete arvude korral. Seega, kui pakume sisendit sellest vahemikust kaugemale, ilmneb VBA-s ülevoolu tõrge.

Liigvea ilmumine võhikute korral tähendab, et me koormame andmetüüpi väärtustega, mida see suudab hoida. Sellised juhtumid satuvad meid selle vea juurde. Selle vea vältimiseks peame olema teadlikud sellest, millist andmetüüpi me kasutame, et saaksime seda vältida.

Mitmete näidete kaudu näeme, kuidas erinevat tüüpi andmetüüpide korral seda tõrget võime leida.

Kuidas kasutada VBA ülevoolu viga Excelis?

Õpime kasutama VBA ülevoolu tõrkefunktsiooni, koos mõne näitega Excelist.

Selle VBA OverFlow-tõrke Exceli malli saate alla laadida siit - VBA OverFlow-tõrke Exceli mall

Näide nr 1 - ülevoolu tõrge

Esimese näite puhul kasutagem täisarvutüüpi. Proovime väärtused üle voolata, nii et muutujad ei saaks seda talletada ja näeksime tekkinud viga.

VBA ülevooluvea funktsiooni kasutamiseks Excelis toimige järgmiselt.

1. samm: põhimõtteliselt VBA-ga alustamiseks peame kõigepealt lubama oma arendaja vahekaardi ja seejärel sellel klõpsama, et avada VB redigeerija Visual Basicu alt, nagu on näidatud alloleval ekraanipildil,

2. samm: klõpsake seda ja sisestage moodul järgmiselt. Kui oleme klõpsanud moodulile. Topeltklõpsake seda ja see avab meile uue akna, kuhu me oma koodi kirjutame.

3. samm : paremas servas näeme tühja akent, kuulutame alamfunktsiooniks ja makro käivitatakse järgmiselt,

Kood:

 Alamproov () Lõpp Alam 

4. samm: kuulutage muutuja täisarvuna, et see saaks meie jaoks täisarvu hoida,

Kood:

 Alamproov () Hämardatakse täisarvuna Lõpp-alam 

5. samm: salvestage nüüd muutujasse A väärtus, mis ületanud andmetüübi järgmiselt:

Kood:

 Alamproov () hämardatakse täisarvuna A = 4896 * 5000 Lõpp alam 

6. samm. Nüüd kuvage funktsiooni A väärtus, kasutades funktsiooni msgbox,

Kood:

 Alamproov () Hämardatakse täisarvuna A = 4896 * 5000 MsgBox A Lõpp alam 

7. samm: käivitage ülaltoodud kood ja vaadake, millise tulemuse saame,

Saime selle tõrke, kuna 4896 * 5000 on täisarvu andmetüübi jaoks positiivse arvu piirist suurem ja muutuja A on sellest väärtusest ületanud, nii et see viga ilmneb.

Näide 2 - ülevoolu tõrge

Selles näites andke nüüd BYTE andmetüüp. Me teame, et bait-andmetüüp võib hoida väärtusi vahemikus 0 kuni 255, kuid muud väärtused peale selle vahemiku annavad meile tõrke. Laskem teada saada.

1. samm: meie moodul on juba sisestatud, saame töötada samal moodulil või luua uue. Kuid töötagem samal moodulil, mille me sisse panime. Koodiakna uuesti sisenemiseks topeltklõpsake moodulil,

2. samm: kuulutage veel üks alafunktsioon järgmiselt:

Kood:

 Alamproov1 () Lõpeta alamvalim 

3. samm: kuulutage muutuja andmetüübiks BYTE järgmiselt:

Kood:

 Alamproov1 () hämardatakse kui baidi lõpp 

4. samm: nüüd muutuja A kaupluse väärtus ületab 255 järgmiselt,

Kood:

 Alamproov1 () hämardatakse kui Byte A = 266 End Sub 

5. samm: kasutage väärtuse A kuvamiseks mbox-funktsiooni,

Kood:

 Alamnäide1 () Tühjendatakse A kui bait A = 266 MsgBox A Lõpp-alam 

6. samm: käivitame ülaltoodud koodi, vajutades F5, ja vaatame tulemust,

7. samm: proovime nüüd muuta väärtuse A väärtuseks 244 ja tulemuse nägemiseks koodi uuesti käivitada,

Kood:

 Alamnäide1 () Tühjendatakse A kui bait A = 244 MsgBox A Lõpp-alam 

8. samm: Koodi uuesti käivitamisel näeme järgmist tulemust,

Kui me esimest korda käivitame, siis koodimuutujal A on väärtusi rohkem kui vahemikku, mida BYTE andmetüüp võib hoida, kuid teisel juhul on muutujal A oma andmetüübi vahemikus andmeid, nii et ülevoolu viga ei tekkinud.

Näide # 3 - ülevoolu tõrge

Kasutagem nüüd näitena LONG andmetüüpi, kuna see on programmeerijate seas enim kasutatud andmetüüp.

1. samm: töötame jälle samas moodulis, mille me varem sisestasime. Peame lihtsalt moodulil topeltklõpsu tegema ja oleme selles.

2. samm: kuulutage alafunktsioon, nagu ekraanipildil näidatud.

Kood:

 Alamproov2 () Lõpeta alamvalim 

3. samm: kuulutage muutuja Pika andmetüübina järgmiselt.

Kood:

 Alamproov2 () hämardage nii pika otsaga alamvalimina 

4. samm: sarnaselt ülaltoodud näidetele, laseme sellel muutujal üle voolata, muutes selle väärtuse vahemikku ületava väärtuse järgmiselt.

Kood:

 Alamproov2 () hämardage nii kaua A = 2000 * 365 Lõpp alam 

5. samm: kasutage sõnumikasti funktsiooni A väärtuse kuvamiseks järgmiselt.

Kood:

 Alamnäide2 () Hämardatakse nii kaua A = 2000 * 365 MsgBox A Lõpp alam 

6. samm: klõpsake ülaltoodud käivitusnupul ja veenduge, et ilmneb ülevoolu tõrge.

7. samm: Nüüd on olemas meetod selle vea ületamiseks pika andmetüübi korral, kasutades funktsiooni CLNG järgmiselt.

Kood:

 Alamnäide2 () Hämardub nii kaua A = CLng (2000) * 365 MsgBox A Lõpp-alam 

8. samm: kui me jälle koodi käivitame, näeme järgmist tulemust.

Mida tegi CLNG funktsioon? See teisendas väärtuse pikaks täisarvuks, mida muutuja hoiab.

Kuidas ületada VBA ülevoolu viga

Kui VBA-s ilmneb ülevoolu tõrge, mis tähendab mõnda meie muutujat, pole enam väärtusi, mida see ei suudaks hoida. Peame muutuja tuvastama ja selle parandama. Samuti on meil abiks pikkade andmetüüpide CLNG-funktsioon. Kuid meie andmetüübi tundmine aitab tegelikult.

Asjad, mida meeles pidada

On teatud asju, mida peame VBA ülevooluvea puhul meeles pidama:

  • Ülevoolu tõrge on käitusaja viga.
  • Ülevoolu tõrke veakood on 6.
  • Ülevooluvea ületamiseks peame teadma, millist andmetüüpi mahub, kui palju väärtusi.
  • Funktsioon CLNG aitab pikkade andmetüüpide ülevoolu tõrke korral.

Soovitatavad artiklid

See on VBA ülevooluvea juhend. Siin arutatakse, kuidas kasutada programmi Excel VBA ülevoolu tõrkefunktsiooni koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. Kopeerimise kleepimise funktsioon VBA-s
  2. Exceli funktsiooni alamstring
  3. VBA alamleht on levialast väljas
  4. Exceli ISNUMBER valem

Kategooria: