Tehnike odpravljanja napak za Excel 2016 VBA

Morda boste naleteli na nekaj težav s kodo VBA, toda kako najdete težavo? Včasih bo vaša koda VBA morda potrebovala nekaj razhroščevanja. Nadaljujte z branjem, če želite odkriti štiri najpogostejše metode za odpravljanje napak kode Excel VBA:

  • Pregledovanje kode

  • Vstavljanje funkcij MsgBox na različna mesta v vašo kodo

  • Vstavljanje stavkov Debug.Print

  • Uporaba Excelovih vgrajenih orodij za odpravljanje napak

Preverjanje vaše kode

Morda je najbolj preprosta tehnika odpravljanja napak preprosto pozoren pogled na vašo kodo in ugotoviti, ali lahko najdete težavo. Ta metoda seveda zahteva znanje in izkušnje. Z drugimi besedami, vedeti morate, kaj počnete. Če imaš srečo, napaka takoj izskoči, udariš se po čelu in rečeš: "D'oh!" Ko se bolečina v čelu zmanjša, lahko odpravite težavo.

Bodite pozorni na uporabo besed: "Če imaš srečo." To je zato, ker pogosto odkrijete napake, ko delate na svojem programu osem ur zapored, ura je 2 zjutraj, in delate s kofeinom in voljo. V takih trenutkih imate srečo, če lahko celo vidite svojo kodo, kaj šele, da bi našli hrošče. Zato ne bodite presenečeni, če preprosto preučitev vaše kode ne bo dovolj, da bi našli in izbrisali vse napake, ki jih vsebuje.

Uporaba funkcije MsgBox

Pogosta težava v mnogih programih vključuje eno ali več spremenljivk, ki ne prevzamejo vrednosti, ki jih pričakujete. V takih primerih je spremljanje spremenljivk, medtem ko se vaša koda izvaja, koristna tehnika za odpravljanje napak. Eden od načinov za to je vstavljanje začasnih funkcij MsgBox v vašo rutino. Na primer, če imate spremenljivko z imenom CellCount, lahko vstavite naslednji stavek:

MsgBox CellCount

Ko izvedete rutino, funkcija MsgBox prikaže vrednost CellCount.

Pogosto je koristno prikazati vrednosti dveh ali več spremenljivk v sporočilnem polju. Naslednji stavek prikazuje trenutno vrednost dveh spremenljivk: LoopIndex (1) in CellCount (72), ločeni s presledkom.

MsgBox LoopIndex & “ “ & CellCount

Upoštevajte, da sta obe spremenljivki združeni z operatorjem za povezovanje (&) in med njima vstavite presledek. V nasprotnem primeru polje s sporočilom združi obe vrednosti skupaj, zaradi česar sta videti kot ena sama vrednost. Namesto presledka lahko uporabite tudi vgrajeno konstanto vbNewLine. vbNewLine vstavi prelom za prehod vrstice, ki prikaže besedilo v novi vrstici. Naslednji stavek prikazuje tri spremenljivke, vsako v ločeni vrstici:

Tehnike odpravljanja napak za Excel 2016 VBA

Uporaba sporočilnega polja za prikaz vrednosti treh spremenljivk.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Ta tehnika ni omejena na spremljanje spremenljivk. S sporočilom lahko prikažete vse vrste uporabnih informacij, medtem ko se vaša koda izvaja. Na primer, če se vaša koda vrti skozi vrsto listov, naslednji stavek prikaže ime in vrsto aktivnega lista:

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

Če vaše sporočilo prikaže nekaj nepričakovanega, pritisnite Ctrl+Break in vidite pogovorno okno, ki vam sporoča, da je bilo izvajanje kode prekinjeno, imate štiri možnosti:

  • Kliknite gumb Nadaljuj. Koda se nadaljuje z izvajanjem.

  • Kliknite gumb Konec. Izvajanje se ustavi.

  • Kliknite gumb Odpravljanje napak. VBE preide v način za odpravljanje napak.

  • Kliknite gumb Pomoč. Zaslon pomoči vam pove, da ste pritisnili Ctrl+Break. Z drugimi besedami, ni zelo koristno.

    Tehnike odpravljanja napak za Excel 2016 VBA

    Če pritisnete Ctrl+Break, se ustavi izvajanje vaše kode in vam ponudi nekaj izbire.

Če vaša tipkovnica nima tipke Break, poskusite pritisniti Ctrl+ScrollLock.

Ko odpravljate napake v kodi, lahko pogosto uporabljate funkcije MsgBox. Prepričajte se, da jih odstranite, ko ugotovite in odpravite težavo.

Vstavljanje stavkov Debug.Print

Kot alternativo uporabi funkcij MsgBox v vaši kodi lahko vstavite enega ali več začasnih stavkov Debug.Print. S temi stavki natisnite vrednost ene ali več spremenljivk v oknu Immediate. Tukaj je primer, ki prikazuje vrednosti treh spremenljivk:

Debug.Print LoopIndex, CellCount, MyVal

Upoštevajte, da so spremenljivke ločene z vejicami. Z enim samim stavkom Debug.Print lahko prikažete toliko spremenljivk, kot želite.

Debug.Print pošlje izhod v okno Immediate, tudi če je to okno skrito. Če okno VBE takojšnje ni vidno, pritisnite Ctrl+G (ali izberite Pogled → Takojšnje okno). Tukaj je nekaj rezultatov v oknu Immediate.

Tehnike odpravljanja napak za Excel 2016 VBA

Stavek Debug.Print pošlje izhod v okno Immediate.

Za razliko od MsgBoxa, izjave Debug.Print ne ustavijo vaše kode. Zato morate paziti na okno Immediate, da vidite, kaj se dogaja.

Ko odpravite napake v kodi, ne pozabite odstraniti vseh stavkov Debug.Print. Celo velika podjetja, kot je Microsoft, občasno pozabijo odstraniti svoje izjave Debug.Print. V več prejšnjih različicah Excela ste vsakič, ko odprete dodatek Paket orodij za analizo, v oknu Immediate videli več čudnih sporočil. Ta težava je bila končno odpravljena v Excelu 2007.

Uporaba razhroščevalnika VBA

Oblikovalci Excela dobro poznajo koncept hroščev. Posledično Excel vključuje nabor orodij za odpravljanje napak, ki vam lahko pomagajo odpraviti težave v kodi VBA.


Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows

Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows

Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows Microsoft Word odpira datoteke v načinu samo za branje, zaradi česar jih je nemogoče urejati? Ne skrbite, metode so spodaj

Kako popraviti nepravilno tiskanje dokumentov Microsoft Word

Kako popraviti nepravilno tiskanje dokumentov Microsoft Word

Kako odpraviti napake pri tiskanju nepravilnih dokumentov Microsoft Word Napake pri tiskanju dokumentov Word s spremenjeno pisavo, neurejenimi odstavki, manjkajočim besedilom ali izgubljeno vsebino so precej pogoste. Vendar pa ne

Izbrišite risbe s peresom in označevalnikom na diapozitivih PowerPoint

Izbrišite risbe s peresom in označevalnikom na diapozitivih PowerPoint

Če ste med predstavitvijo uporabili pero ali označevalnik za risanje po diapozitivih PowerPoint, lahko risbe shranite za naslednjo predstavitev ali jih izbrišete, tako da boste naslednjič, ko ga pokažete, začeli s čistimi PowerPointovimi diapozitivi. Sledite tem navodilom za brisanje risb s peresom in označevalnikom: Brisanje črt ena na […]

Vsebina knjižnice slogov v SharePointu 2010

Vsebina knjižnice slogov v SharePointu 2010

Knjižnica slogov vsebuje datoteke CSS, datoteke Extensible Stylesheet Language (XSL) in slike, ki jih uporabljajo vnaprej določene glavne strani, postavitve strani in kontrolniki v SharePointu 2010. Če želite poiskati datoteke CSS v knjižnici slogov na založniškem mestu: Izberite Dejanja mesta→ Pogled Vsa vsebina spletnega mesta. Prikaže se vsebina spletnega mesta. Knjižnica Style se nahaja v […]

Oblikujte številke v tisoče in milijone v poročilih Excel

Oblikujte številke v tisoče in milijone v poročilih Excel

Ne preobremenjujte občinstva z ogromnimi številkami. V Microsoft Excelu lahko izboljšate berljivost svojih nadzornih plošč in poročil tako, da oblikujete svoje številke tako, da se prikažejo v tisočih ali milijonih.

Kako deliti in spremljati SharePointova spletna mesta

Kako deliti in spremljati SharePointova spletna mesta

Naučite se uporabljati SharePointova orodja za socialno mreženje, ki posameznikom in skupinam omogočajo komunikacijo, sodelovanje, skupno rabo in povezovanje.

Kako pretvoriti datume v julijanske oblike v Excelu

Kako pretvoriti datume v julijanske oblike v Excelu

Julijanski datumi se v proizvodnih okoljih pogosto uporabljajo kot časovni žig in hitra referenca za številko serije. Ta vrsta datumskega kodiranja omogoča trgovcem na drobno, potrošnikom in servisnim agentom, da ugotovijo, kdaj je bil izdelek izdelan in s tem starost izdelka. Julijanski datumi se uporabljajo tudi v programiranju, vojski in astronomiji. Drugačen […]

Kako ustvariti spletno aplikacijo Access

Kako ustvariti spletno aplikacijo Access

Spletno aplikacijo lahko ustvarite v Accessu 2016. Kaj je torej spletna aplikacija? No, splet pomeni, da je na spletu, aplikacija pa je le okrajšava za »aplikacijo«. Spletna aplikacija po meri je spletna aplikacija baze podatkov, do katere dostopate iz oblaka z uporabo brskalnika. Spletno aplikacijo gradite in vzdržujete v namizni različici […]

Vrstica za hitri zagon v SharePointu 2010

Vrstica za hitri zagon v SharePointu 2010

Večina strani v SharePointu 2010 prikaže seznam navigacijskih povezav v vrstici za hitri zagon na levi strani strani. Vrstica za hitri zagon prikazuje povezave do predstavljene vsebine spletnega mesta, kot so seznami, knjižnice, spletna mesta in strani za objavljanje. Vrstica za hitri zagon vključuje dve zelo pomembni povezavi: Povezava do vse vsebine spletnega mesta: […]

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Pri preprostih težavah reševalec v Excelu običajno hitro najde optimalne vrednosti spremenljivke reševalca za ciljno funkcijo. Toda v nekaterih primerih ima Solver težave pri iskanju vrednosti spremenljivke Solver, ki optimizirajo ciljno funkcijo. V teh primerih Solver običajno prikaže sporočilo ali sporočilo o napaki, ki opisuje ali razpravlja o težavi, ki […]