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.


Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows Microsoft Word otvara datoteke u načinu rada samo za čitanje, što onemogućuje njihovo uređivanje? Ne brinite, metode su navedene u nastavku

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogreške u ispisu netočnih Microsoft Word dokumenata Pogreške u ispisu Word dokumenata s promijenjenim fontovima, neurednim odlomcima, nedostajućim tekstom ili izgubljenim sadržajem vrlo su česte. Međutim, nemojte

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Ako ste upotrijebili olovku ili marker za crtanje na PowerPoint slajdovima tijekom prezentacije, možete spremiti crteže za sljedeću prezentaciju ili ih izbrisati tako da ćete sljedeći put kada ih pokažete početi s čistim PowerPoint slajdovima. Slijedite ove upute za brisanje crteža olovkom i markerom: Brisanje linija jedan na […]

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Biblioteka stilova sadrži CSS datoteke, datoteke Extensible Stylesheet Language (XSL) i slike koje koriste unaprijed definirane glavne stranice, izgledi stranica i kontrole u SharePointu 2010. Da biste locirali CSS datoteke u biblioteci stilova web-mjesta za objavljivanje: Odaberite Radnje web-mjesta→Prikaz Sav sadržaj web-mjesta. Pojavljuje se sadržaj stranice. Knjižnica Style nalazi se u […]

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Nemojte zatrpavati svoju publiku ogromnim brojevima. U Microsoft Excelu možete poboljšati čitljivost svojih nadzornih ploča i izvješća formatiranjem brojeva tako da se prikazuju u tisućama ili milijunima.

Kako dijeliti i pratiti SharePoint web-mjesta

Kako dijeliti i pratiti SharePoint web-mjesta

Naučite kako koristiti SharePointove alate za društveno umrežavanje koji pojedincima i grupama omogućuju komunikaciju, suradnju, dijeljenje i povezivanje.

Kako pretvoriti datume u julijanske formate u Excelu

Kako pretvoriti datume u julijanske formate u Excelu

Julijanski datumi se često koriste u proizvodnim okruženjima kao vremenska oznaka i brza referenca za broj serije. Ova vrsta datumskog kodiranja omogućuje trgovcima na malo, potrošačima i uslužnim agentima da identificiraju kada je proizvod napravljen, a time i starost proizvoda. Julijanski datumi se također koriste u programiranju, vojsci i astronomiji. Drugačiji […]

Kako stvoriti Access web aplikaciju

Kako stvoriti Access web aplikaciju

Možete izraditi web-aplikaciju u Accessu 2016. Dakle, što je uopće web-aplikacija? Pa, web znači da je online, a aplikacija je samo skraćenica za "aplikaciju". Prilagođena web-aplikacija je online aplikacija baze podataka kojoj se pristupa iz oblaka pomoću preglednika. Vi gradite i održavate web-aplikaciju u verziji za stolna računala […]

Traka za brzo pokretanje u sustavu SharePoint 2010

Traka za brzo pokretanje u sustavu SharePoint 2010

Većina stranica u sustavu SharePoint 2010 prikazuje popis navigacijskih veza na traci za brzo pokretanje na lijevoj strani stranice. Traka za brzo pokretanje prikazuje veze na istaknuti sadržaj web-mjesta kao što su popisi, knjižnice, web-mjesta i stranice za objavljivanje. Traka za brzo pokretanje uključuje dvije vrlo važne veze: vezu za sav sadržaj web-mjesta: […]

Što znače poruke o greškama Solvera u Excelu?

Što znače poruke o greškama Solvera u Excelu?

Za jednostavne probleme, Solver u Excelu obično brzo pronalazi optimalne vrijednosti varijable Solvera za funkciju cilja. No, u nekim slučajevima, Solver ima problema s pronalaženjem vrijednosti varijable Solvera koje optimiziraju funkciju cilja. U tim slučajevima, Solver obično prikazuje poruku ili poruku o pogrešci koja opisuje ili raspravlja o problemu koji […]