Tehnike otklanjanja pogrešaka za Excel 2016 VBA

Možda ćete naići na neke probleme sa svojim VBA kodom, ali kako pronaći problem? Ponekad će vašem VBA kodu možda trebati otklanjanje pogrešaka. Nastavite čitati kako biste otkrili četiri najčešće metode za otklanjanje pogrešaka Excel VBA koda:

  • Ispitivanje koda

  • Umetanje funkcija MsgBox na različita mjesta u vašem kodu

  • Umetanje izjava Debug.Print

  • Korištenje ugrađenih alata za otklanjanje pogrešaka u programu Excel

Ispitivanje vašeg koda

Možda je najjednostavnija tehnika otklanjanja pogrešaka jednostavno pomno pogledate svoj kod kako biste vidjeli možete li pronaći problem. Ova metoda, naravno, zahtijeva znanje i iskustvo. Drugim riječima, morate znati što radite. Ako imate sreće, pogreška odmah iskoči, a vi se lupite po čelu i kažete: "D'oh!" Kada se bol u čelu smanji, možete riješiti problem.

Obratite pažnju na upotrebu riječi: "Ako budeš imao sreće." To je zato što često otkrijete pogreške kada radite na svom programu osam sati zaredom, 2 je ujutro, a vi radite na kofeinu i snazi ​​volje. U takvim trenucima imate sreće ako uopće možete vidjeti svoj kod, a kamoli pronaći greške. Stoga se nemojte iznenaditi ako jednostavno ispitivanje vašeg koda nije dovoljno da pronađete i izbrišete sve greške koje sadrži.

Korištenje funkcije MsgBox

Čest problem u mnogim programima uključuje jednu ili više varijabli koje ne preuzimaju vrijednosti koje očekujete. U takvim slučajevima, praćenje varijabli dok se vaš kod izvodi je korisna tehnika za otklanjanje pogrešaka. Jedan od načina da to učinite je umetanje privremenih MsgBox funkcija u svoju rutinu. Na primjer, ako imate varijablu pod nazivom CellCount, možete umetnuti sljedeću izjavu:

MsgBox CellCount

Kada izvršite rutinu, funkcija MsgBox prikazuje vrijednost CellCount.

Često je korisno prikazati vrijednosti dvije ili više varijabli u okviru za poruke. Sljedeća izjava prikazuje trenutnu vrijednost dviju varijabli: LoopIndex (1) i CellCount (72), odvojene razmakom.

MsgBox LoopIndex & “ “ & CellCount

Primijetite da su dvije varijable kombinirane s operatorom spajanja (&) i umetnite razmak između njih. Inače, okvir s porukom povezuje dvije vrijednosti zajedno, čineći ih kao jednu vrijednost. Također možete koristiti ugrađenu konstantu, vbNewLine, umjesto znaka za razmak. vbNewLine umeće prijelom uvođenja reda, koji prikazuje tekst u novom retku. Sljedeća izjava prikazuje tri varijable, svaka u zasebnom retku:

Tehnike otklanjanja pogrešaka za Excel 2016 VBA

Korištenje okvira s porukom za prikaz vrijednosti tri varijable.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Ova tehnika nije ograničena na praćenje varijabli. Možete koristiti okvir za poruke za prikaz svih vrsta korisnih informacija dok je vaš kôd pokrenut. Na primjer, ako vaš kod petlja kroz niz listova, sljedeća izjava prikazuje naziv i vrstu aktivnog lista:

MsgBox ActiveSheet.Name & “ “ & TypeName (ActiveSheet)

Ako vaš okvir s porukom pokazuje nešto neočekivano, pritisnite Ctrl+Break i vidjet ćete dijaloški okvir koji vam govori da je izvršenje koda prekinuto, imate četiri izbora:

  • Kliknite gumb Nastavi. Kod se nastavlja izvršavati.

  • Kliknite gumb Kraj. Izvršenje se zaustavlja.

  • Kliknite gumb Otklanjanje pogrešaka. VBE prelazi u način za otklanjanje pogrešaka.

  • Kliknite gumb Pomoć. Zaslon pomoći govori vam da ste pritisnuli Ctrl+Break. Drugim riječima, nije od velike pomoći.

    Tehnike otklanjanja pogrešaka za Excel 2016 VBA

    Pritiskom na Ctrl+Break zaustavlja se izvršavanje vašeg koda i daje vam neke mogućnosti izbora.

Ako vaša tipkovnica nema tipku Break, pokušajte pritisnuti Ctrl+ScrollLock.

Slobodno često koristite funkcije MsgBoxa kada otklanjate pogreške u svom kodu. Samo se pobrinite da ih uklonite nakon što identificirate i ispravite problem.

Umetanje izjava Debug.Print

Kao alternativu korištenju funkcija MsgBox u vašem kodu, možete umetnuti jednu ili više privremenih izjava Debug.Print. Koristite ove izjave za ispis vrijednosti jedne ili više varijabli u prozoru Immediate. Evo primjera koji prikazuje vrijednosti tri varijable:

Debug.Print LoopIndex, CellCount, MyVal

Primijetite da su varijable odvojene zarezima. Možete prikazati onoliko varijabli koliko želite s jednom naredbom Debug.Print.

Debug.Print šalje izlaz u prozor Immediate čak i ako je taj prozor skriven. Ako VBE-ov neposredni prozor nije vidljiv, pritisnite Ctrl+G (ili odaberite Prikaz → Neposredni prozor). Evo nekih rezultata u prozoru Immediate.

Tehnike otklanjanja pogrešaka za Excel 2016 VBA

Naredba Debug.Print šalje izlaz u prozor Immediate.

Za razliku od MsgBoxa, izjave Debug.Print ne zaustavljaju vaš kod. Stoga morate paziti na prozor Immediate da biste vidjeli što se događa.

Nakon što otklonite pogreške u kodu, svakako uklonite sve naredbe Debug.Print. Čak i velike tvrtke poput Microsofta povremeno zaborave ukloniti svoje izjave Debug.Print. U nekoliko prijašnjih verzija Excela, svaki put kada se otvori dodatak Analysis ToolPak, vidjeli biste nekoliko čudnih poruka u prozoru Odmah. Taj je problem konačno riješen u Excelu 2007.

Korištenje VBA debuggera

Dizajneri programa Excel dobro su upoznati s konceptom bugova. Posljedično, Excel uključuje skup alata za otklanjanje pogrešaka koji vam mogu pomoći da ispravite probleme u vašem VBA kodu.

Leave a Comment

Kako postaviti upit u bazu podataka MS Access 2019

Kako postaviti upit u bazu podataka MS Access 2019

Naučite kako postaviti upite u Access bazi podataka uz jednostavne korake i savjete za učinkovito filtriranje i sortiranje podataka.

Osnove tabulatora u programu Word 2013

Osnove tabulatora u programu Word 2013

Tabulatori su oznake položaja u odlomku programa Word 2013 koje određuju kamo će se točka umetanja pomaknuti kada pritisnete tipku Tab. Otkrijte kako prilagoditi tabulatore i optimizirati svoj rad u Wordu.

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Word 2010 nudi mnoge načine označavanja i poništavanja odabira teksta. Otkrijte kako koristiti tipkovnicu i miš za odabir blokova. Učinite svoj rad učinkovitijim!

Kako uvući pasus u Wordu 2013

Kako uvući pasus u Wordu 2013

Naučite kako pravilno postaviti uvlaku za odlomak u Wordu 2013 kako biste poboljšali izgled svog dokumenta.

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Naučite kako jednostavno otvoriti i zatvoriti svoje Microsoft PowerPoint 2019 prezentacije s našim detaljnim vodičem. Pronađite korisne savjete i trikove!

Kako crtati jednostavne objekte u PowerPointu 2013

Kako crtati jednostavne objekte u PowerPointu 2013

Saznajte kako crtati jednostavne objekte u PowerPoint 2013 uz ove korisne upute. Uključuje crtanje linija, pravokutnika, krugova i više.

Kako filtrirati podatke u programu Access 2016

Kako filtrirati podatke u programu Access 2016

U ovom vodiču vam pokazujemo kako koristiti alat za filtriranje u programu Access 2016 kako biste lako prikazali zapise koji dijele zajedničke vrijednosti. Saznajte više o filtriranju podataka.

Formule za zaokruživanje brojeva u Excelu

Formule za zaokruživanje brojeva u Excelu

Saznajte kako koristiti Excelove funkcije zaokruživanja za prikaz čistih, okruglih brojeva, što može poboljšati čitljivost vaših izvješća.

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Zaglavlje ili podnožje koje postavite isto je za svaku stranicu u vašem Word 2013 dokumentu. Otkrijte kako koristiti različita zaglavlja za parne i neparne stranice.

Excel izvješća: prilagođeno oblikovanje brojeva

Excel izvješća: prilagođeno oblikovanje brojeva

Poboljšajte čitljivost svojih Excel izvješća koristeći prilagođeno oblikovanje brojeva. U ovom članku naučite kako se to radi i koja su najbolja rješenja.