Upravljavci napak za makre Excel

Upravljavci napak vam omogočajo, da določite, kaj se zgodi, ko pride do napake, medtem ko se vaša koda makra Excela izvaja. Obravnavalci napak so vrstice, podobne naslednjim:

Ob napaki Pojdi na MyError

Brez obdelovalcev napak bo vsaka napaka, ki se pojavi v vaši kodi, pozvala Excel, da aktivira sporočilo o napaki, ki je manj koristno, ki običajno ne bo jasno povedalo, kaj se je zgodilo. Vendar pa se lahko s pomočjo obdelovalcev napak odločite, da napako prezrete ali pa elegantno zapustite kodo z lastnim sporočilom uporabniku.

Obstajajo tri vrste stavkov On Error:

  • Ob napaki GoTo SomeLabel: koda skoči na določeno oznako.

  • Ob Error Resume Next: napaka je prezrta in koda se nadaljuje.

  • Ob napaki GoTo 0: VBA se ponastavi na običajno vedenje preverjanja napak.

Ob napaki Pojdi na SomeLabel

Včasih napaka v vaši kodi pomeni, da morate elegantno zapustiti postopek in uporabnikom dati jasno sporočilo. V teh situacijah lahko uporabite stavek On Error GoTo, da poveste Excelu, naj skoči na določeno vrstico kode.

Na primer, v naslednjem majhnem koščku kode Excelu poveste, naj vrednost v celici A1 deli z vrednostjo v celici A2, nato pa odgovor postavi v celico A3. enostavno. Kaj bi lahko šlo narobe?

Podmakro1()
Obseg("A3").Vrednost = Obseg("A1").Vrednost/Obseg("A2").Vrednost
Končni sub

Kot kaže, lahko gresta dve veliki stvari narobe. Če celica A2 vsebuje 0, dobite napako deljenja z 0. Če celica A2 vsebuje neštevilsko vrednost, dobite napako neujemanja vrste.

Če se želite izogniti neprijetnemu sporočilu o napaki, lahko Excelu poveste, da ob napaki želite, da izvajanje kode skoči na oznako, imenovano MyExit.

V naslednji kodi oznaki MyExit sledi sporočilo uporabniku, ki daje prijazen nasvet namesto neprijetnega sporočila o napaki. Upoštevajte tudi Exit Sub vrstico pred oznako MyExit, ki zagotavlja, da bo koda preprosto zapustila, če ne bo prišlo do napake:

Podmakro1()
Ob napaki GoTo MyExit
Obseg("A3").Vrednost = Obseg("A1").Vrednost/Obseg("A2").Vrednost
Izhod Sub
moj izhod:
MsgBox "Prosimo, uporabite veljavne številke, ki niso nič"
Končni sub

Ob napaki Nadaljuj naprej

Včasih želite, da Excel prezre napako in preprosto nadaljuje z izvajanjem kode. V teh primerih lahko uporabite stavek On Error Resume Next.

Naslednji del kode je na primer namenjen brisanju datoteke z imenom GhostFile.exe iz imenika C:Temp. Ko je datoteka izbrisana, lepo sporočilo uporabniku pove, da datoteke ni več:

Podmakro1()
Ubijte "C:TempGhostFile.exe"
MsgBox "Datoteka je bila izbrisana."
Končni sub

Koda deluje odlično, če res obstaja datoteka za brisanje. Če pa iz nekega razloga datoteka, imenovana GhostFile.exe, ne obstaja v pogonu C:Temp, se prikaže napaka.

V tem primeru vam je vseeno, če datoteke ni, ker jo boste vseeno izbrisali. Tako lahko preprosto prezrete napako in nadaljujete s kodo.

Z uporabo stavka On Error Resume Next se koda izvaja ne glede na to, ali ciljna datoteka obstaja ali ne:

Podmakro1()
Ob napaki Nadaljuj naprej
Ubijte "C:TempGhostFile.exe"
MsgBox "Datoteka je bila izbrisana."
Končni sub

Ob napaki Pojdi na 0

Pri uporabi določenih stavkov o napakah bo morda treba ponastaviti vedenje preverjanja napak v VBA. Če želite razumeti, kaj to pomeni, si oglejte naslednji primer.

Tukaj najprej želite izbrisati datoteko z imenom GhostFile.exe iz imenika C:Temp. Da bi se izognili napakam, ki lahko izvirajo iz dejstva, da ciljna datoteka ne obstaja, uporabite stavek Ob napaki Nadaljuj naprej. Po tem poskusite narediti nekaj sumljive matematike tako, da delite 100/Mike:

Podmakro1()
Ob napaki Nadaljuj naprej
Ubijte "C:TempGhostFile.exe"
Obseg("A3").Vrednost = 100 / "Mike"
Končni sub

Zagon tega dela kode bi moral ustvariti napako zaradi mehke matematike, vendar ne. zakaj? Ker je bilo zadnje navodilo, ki ste ga dali kodi, On Error Resume Next. Vsaka napaka, ki se pojavi po tej vrstici, je dejansko prezrta.

Če želite odpraviti to težavo, lahko uporabite stavek On Error GoTo 0 za nadaljevanje običajnega preverjanja napak:

Podmakro1()
Ob napaki Nadaljuj naprej
Ubijte "C:TempGhostFile.exe"
Ob napaki Pojdi na 0
Obseg("A3").Vrednost = 100 / "Mike"
Končni sub

Ta koda bo prezrla napake do stavka On Error GoTo 0. Po tej izjavi se koda vrne na običajno preverjanje napak in sproži pričakovano napako, ki izhaja iz mehke matematike.

Leave a Comment

Kako dokazati besedilo v tujem jeziku v Wordu 2016

Kako dokazati besedilo v tujem jeziku v Wordu 2016

V interesu kozmopolitizma vam Word 2016 omogoča delo s tujimi jeziki. Naučite se, kako vnesti in urediti besedilo v tujem jeziku, ter preveriti črkovanje in slovnico.

Filtriranje in razvrščanje podatkov vrtilne tabele v Excelu 2019

Filtriranje in razvrščanje podatkov vrtilne tabele v Excelu 2019

Učinkovito filtriranje in razvrščanje podatkov v vrtilni tabeli Excel 2019 za boljša poročila. Dosežite hitrejše analize z našimi namigi in triki!

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

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

Reševalec v Excelu je močno orodje za optimizacijo, ki lahko naleti na težave. Razumevanje sporočil o napakah reševalca vam lahko pomaga rešiti težave in optimizirati vaše matematične modele.

Teme za PowerPoint 2019

Teme za PowerPoint 2019

Odkrijte različne <strong>teme PowerPoint 2019</strong> in kako jih lahko uporabite za izboljšanje vaših predstavitev. Izberite najboljšo temo za vaše diapozitive.

Kako uporabljati distribucije hi-kvadrat v Excelu

Kako uporabljati distribucije hi-kvadrat v Excelu

Nekateri statistični ukrepi v Excelu so lahko zelo zmedeni, vendar so funkcije hi-kvadrat res praktične. Preberite vse opise funkcij hi-kvadrat za bolje razumevanje statističnih orodij.

Kako dodati obrobo strani v Word 2013

Kako dodati obrobo strani v Word 2013

V tem članku se naučite, kako dodati <strong>obrobo strani</strong> v Word 2013, vključno z različnimi slogi in tehnikami za izboljšanje videza vaših dokumentov.

Kako delati z več dokumenti v Wordu 2013

Kako delati z več dokumenti v Wordu 2013

Ni vam treba omejiti uporabe urejevalnika besedil na delo z enim samim dokumentom. Učinkovito delajte z več dokumenti v Wordu 2013.

Kako dodati komentarje v predstavitev PowerPoint 2013

Kako dodati komentarje v predstavitev PowerPoint 2013

Sodelovanje pri predstavitvi, ustvarjeni v PowerPointu 2013, je lahko tako preprosto kot dodajanje komentarjev. Odkrijte, kako učinkovito uporabljati komentarje za izboljšanje vaših predstavitev.

Kako spremeniti nastavitve preverjanja črkovanja in slovnice v Wordu 2016

Kako spremeniti nastavitve preverjanja črkovanja in slovnice v Wordu 2016

Ugotovite, kako prilagoditi nastavitve preverjanja črkovanja in slovnice v Wordu 2016, da izboljšate svoje jezikovne sposobnosti.

Kaj so izročki v PowerPointu 2013?

Kaj so izročki v PowerPointu 2013?

PowerPoint 2013 vam ponuja različne načine za izvedbo predstavitve, vključno s tiskanjem izročkov. Izročki so ključnega pomena za izboljšanje vaše predstavitve.