„Excel“ makrokomandų klaidų tvarkyklės

Klaidų tvarkyklės leidžia nurodyti, kas nutinka, kai veikiant „Excel“ makrokomandos kodui atsiranda klaida. Klaidų tvarkyklės yra eilutės, panašios į šias:

Įvykus klaidą Eikite į „MyError“.

Be klaidų tvarkyklių bet kokia jūsų kode įvykusi klaida paskatins „Excel“ suaktyvinti ne tokį naudingą klaidos pranešimą, kuris paprastai aiškiai neperteiks, kas atsitiko. Tačiau naudodami klaidų tvarkykles galite pasirinkti ignoruoti klaidą arba gražiai išeiti iš kodo pateikdami savo pranešimą vartotojui.

Yra trijų tipų pranešimai apie klaidą:

  • Įvykus klaidai GoTo SomeLabel: kodas peršoka į nurodytą etiketę.

  • Įvykus klaidai Tęsti kitą: klaida ignoruojama ir kodas atnaujinamas.

  • Esant klaidai GoTo 0: VBA iš naujo nustato įprastą klaidų tikrinimo veikimą.

Įvykus klaidai GoTo SomeLabel

Kartais kodo klaida reiškia, kad turite gražiai baigti procedūrą ir pateikti vartotojams aiškų pranešimą. Tokiose situacijose galite naudoti sakinį On Error GoTo, kad nurodytumėte Excel pereiti prie tam tikros kodo eilutės.

Pavyzdžiui, toliau pateiktoje mažoje kodo dalyje nurodykite „Excel“ padalyti A1 langelio reikšmę iš A2 langelio reikšmės, o tada įdėkite atsakymą į A3 langelį. Lengva. Kas gali nutikti?

Sub-makro1()
Diapazonas ("A3"). Reikšmė = diapazonas ("A1"). Reikšmė / diapazonas ("A2"). Reikšmė
Pabaigos sub

Pasirodo, du pagrindiniai dalykai gali suklysti. Jei langelyje A2 yra 0, gausite dalybos iš 0 klaidą. Jei langelyje A2 yra ne skaitinė reikšmė, gausite tipo neatitikimo klaidą.

Kad išvengtumėte bjauraus klaidos pranešimo, galite pasakyti „Excel“, kad klaidos metu norite, kad kodo vykdymas pereitų prie etiketės, vadinamos „MyExit“.

Šiame kode po MyExit etiketės pateikiamas pranešimas vartotojui, kuriame pateikiamas draugiškas patarimas, o ne bjaurus klaidos pranešimas. Taip pat atkreipkite dėmesį į Exit Sub eilutę prieš MyExit etiketę, kuri užtikrina, kad kodas tiesiog išeis, jei nebus aptikta klaida:

Sub-makro1()
Įvykus klaidai Eikite į „MyExit“.
Diapazonas ("A3"). Reikšmė = diapazonas ("A1"). Reikšmė / diapazonas ("A2"). Reikšmė
Išeiti iš sub
Mano išėjimas:
MsgBox "Prašome naudoti galiojančius skaičius, kurie nėra nuliniai"
Pabaigos sub

Įvykus klaidai, tęskite toliau

Kartais norite, kad „Excel“ nepaisytų klaidos ir tiesiog tęstų kodo paleidimą. Tokiose situacijose galite naudoti pranešimą On Error Resume Next.

Pavyzdžiui, ši kodo dalis skirta ištrinti failą pavadinimu GhostFile.exe iš C:Temp katalogo. Ištrynus failą, gražus pranešimų laukelis praneša vartotojui, kad failo nebėra:

Sub-makro1()
Nužudyk „C: TempGhostFile.exe“
MsgBox "Failas buvo ištrintas."
Pabaigos sub

Kodas puikiai veikia, jei iš tikrųjų yra failas, kurį reikia ištrinti. Bet jei dėl kokių nors priežasčių failas pavadinimu GhostFile.exe neegzistuoja C:Temp diske, atsiranda klaida.

Šiuo atveju jums nesvarbu, ar failo ten nėra, nes vis tiek ketinote jį ištrinti. Taigi galite tiesiog ignoruoti klaidą ir pereiti prie kodo.

Naudojant sakinį On Error Resume Next, kodas veikia savo eiga, nesvarbu, ar tikslinis failas egzistuoja, ar ne:

Sub-makro1()
Įvykus klaidai, tęskite toliau
Nužudyk „C: TempGhostFile.exe“
MsgBox "Failas buvo ištrintas."
Pabaigos sub

Dėl klaidos GoTo 0

Naudojant tam tikrus klaidų pranešimus, gali prireikti iš naujo nustatyti VBA klaidų tikrinimo elgseną. Norėdami suprasti, ką tai reiškia, pažvelkite į kitą pavyzdį.

Čia pirmiausia norite ištrinti failą pavadinimu GhostFile.exe iš C:Temp katalogo. Kad išvengtumėte klaidų, kurios gali kilti dėl to, kad tikslinis failas neegzistuoja, naudokite sakinį On Error Resume Next. Po to bandote atlikti įtartiną matematiką, padalydami iš 100/Mike:

Sub-makro1()
Įvykus klaidai, tęskite toliau
Nužudyk „C: TempGhostFile.exe“
Diapazonas ("A3"). Reikšmė = 100 / "Mike"
Pabaigos sub

Vykdant šią kodo dalį turėtų atsirasti klaida dėl neaiškios matematikos, bet taip nėra. Kodėl? Kadangi paskutinis nurodymas, kurį davėte kodui, buvo On Error Resume Next. Bet kokia klaida, aptikta po šios eilutės, iš esmės ignoruojama.

Norėdami išspręsti šią problemą, galite naudoti teiginį On Error GoTo 0, kad atnaujintumėte įprastą klaidų tikrinimo veiklą:

Sub-makro1()
Įvykus klaidai, tęskite toliau
Nužudyk „C: TempGhostFile.exe“
Dėl klaidos GoTo 0
Diapazonas ("A3"). Reikšmė = 100 / "Mike"
Pabaigos sub

Šis kodas nepaisys klaidų iki pranešimo On Error GoTo 0. Po šio teiginio kodas grįžta į įprastą klaidų tikrinimą ir suaktyvina laukiamą klaidą, kylančią iš neaiškios matematikos.


Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti Microsoft Word atidaryti failų tik skaitymo režimu sistemoje Windows. Microsoft Word atidaro failus tik skaitymo režimu, todėl jų redaguoti neįmanoma? Nesijaudinkite, metodai pateikiami žemiau

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti klaidas spausdinant neteisingus Microsoft Word dokumentus.Klaidos spausdinant Word dokumentus su pakeistais šriftais, netvarkingomis pastraipomis, trūkstamo teksto ar prarasto turinio yra gana dažnos. Tačiau nereikia

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Jei naudodami rašiklį ar žymeklį piešėte ant savo PowerPoint skaidrės pristatymo metu, galite išsaugoti brėžinius kitam pristatymui arba ištrinti juos, kad kitą kartą rodydami pradėtumėte nuo švarių PowerPoint skaidrių. Vykdykite šias instrukcijas, kad ištrintumėte rašiklio ir žymeklio piešinius: Trinti linijas po vieną […]

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekoje yra CSS failų, XSL (Extensible Stylesheet Language) failų ir vaizdų, naudojamų iš anksto nustatytų puslapių puslapiuose, puslapių išdėstymuose ir valdikliuose „SharePoint 2010“. Norėdami rasti CSS failus publikavimo svetainės stilių bibliotekoje: pasirinkite Svetainės veiksmai → Peržiūrėti Visas svetainės turinys. Pasirodo svetainės turinys. Stiliaus biblioteka yra […]

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Neužkraukite savo auditorijos milžiniškais skaičiais. Programoje „Microsoft Excel“ galite pagerinti informacijos suvestinių ir ataskaitų skaitomumą formatuodami skaičius, kad jie būtų rodomi tūkstančiais arba milijonais.

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Sužinokite, kaip naudoti „SharePoints“ socialinių tinklų įrankius, leidžiančius asmenims ir grupėms bendrauti, bendradarbiauti, bendrinti ir prisijungti.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Julijaus datos dažnai naudojamos gamybos aplinkoje kaip laiko žyma ir greita partijos numerio nuoroda. Šio tipo datos kodavimas leidžia mažmenininkams, vartotojams ir paslaugų agentams nustatyti, kada produktas buvo pagamintas, taigi ir produkto amžių. Julijaus datos taip pat naudojamos programavimo, kariuomenės ir astronomijos srityse. Skirtingi […]

Kaip sukurti „Access“ žiniatinklio programą

Kaip sukurti „Access“ žiniatinklio programą

Galite sukurti žiniatinklio programą naudodami „Access 2016“. Taigi, kas vis dėlto yra žiniatinklio programa? Na, žiniatinklis reiškia, kad jis yra internete, o programa yra tik „programos“ santrumpa. Pasirinktinė žiniatinklio programa yra internetinė duomenų bazės programa, pasiekiama iš debesies naudojant naršyklę. Kuriate ir prižiūrite žiniatinklio programą darbalaukio versijoje […]

Greitosios paleidimo juosta „SharePoint 2010“.

Greitosios paleidimo juosta „SharePoint 2010“.

Daugumoje „SharePoint 2010“ puslapių sparčiojo paleidimo juostoje, esančioje kairėje puslapio pusėje, pateikiamas naršymo nuorodų sąrašas. Greitosios paleidimo juostoje rodomos nuorodos į siūlomą svetainės turinį, pvz., sąrašus, bibliotekas, svetaines ir publikavimo puslapius. Greitojo paleidimo juostoje yra dvi labai svarbios nuorodos: Visas svetainės turinys: […]

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Paprastoms problemoms spręsti „Excel“ sprendėjas paprastai greitai suranda optimalias tikslinės funkcijos „Solver“ kintamųjų reikšmes. Tačiau kai kuriais atvejais „Solver“ turi problemų ieškant „Solver“ kintamųjų reikšmių, optimizuojančių tikslo funkciją. Tokiais atvejais „Solver“ paprastai rodo pranešimą arba klaidos pranešimą, kuriame aprašoma arba aptariama problema, kurią […]