Hvernig á að nota OnError yfirlýsinguna í Excel 2016 VBA

Þegar þú þarft að takast á við villur í Excel VBA geturðu notað OnError yfirlýsinguna. Hins vegar eru nokkur atriði sem þú þarft að vita fyrst. Þú getur notað On Error yfirlýsinguna á þrjá vegu.

Setningafræði Hvað það gerir
Á Villa GoTo merki Eftir að hafa keyrt þessa yfirlýsingu, heldur VBA áfram framkvæmd á
yfirlýsingunni sem fylgir tilgreindu merkimiðanum. Þú verður að setja tvípunkt aftan
við merkimiðann svo að VBA viðurkenni það sem merki.
Við Villa GoTo 0 Eftir að hafa keyrt þessa yfirlýsingu, byrjar VBA aftur eðlilega
villuskoðunarhegðun. Notaðu þessa yfirlýsingu eftir að hafa notað eina af
hinum On Error yfirlýsingunum eða þegar þú vilt fjarlægja villumeðferð
í ferlinu þínu.
Á Villa Resume Next Eftir að hafa keyrt þessa yfirlýsingu hunsar VBA einfaldlega allar villur
og heldur áfram framkvæmd með næstu setningu.

Heldur áfram eftir villu

Í sumum tilfellum vilt þú einfaldlega að rútínan ljúki þokkalega þegar villa kemur upp. Til dæmis gætirðu birt skilaboð sem lýsir villunni og hætt síðan ferlinu. (EnterSquareRoot5 dæmið sem sýnt var áðan notar þessa tækni.) Í öðrum tilfellum viltu endurheimta villuna, ef mögulegt er.

Til að endurheimta villu verður þú að nota Ferilskráryfirlýsingu. Þetta hreinsar villuástandið og gerir þér kleift að halda áfram framkvæmd á einhverjum stað. Þú getur notað Ferilskráryfirlýsinguna á þrjá vegu.

Setningafræði Hvað það gerir
Halda áfram Framkvæmd hefst aftur með yfirlýsingunni sem olli villunni. Notaðu
þetta ef villumeðferðarkóði þinn lagar vandamálið og
það er í lagi að halda áfram.
Halda áfram Næst Framkvæmd hefst aftur með yfirlýsingunni strax á eftir
yfirlýsingunni sem olli villunni. Þetta hunsar í raun
villuna.
Ferilskrá merki Framkvæmd hefst aftur á merkimiðanum sem þú tilgreinir.

Eftirfarandi dæmi notar ferilskráningu eftir að villa kemur upp:

Sub EnterSquareRoot6()
  Dim Num As Variant
  Dimm skilaboð sem strengur
  Dim Ans As Heiltala
Reyndu aftur:
' Settu upp villumeðferð
  Við Villa í GoTo BadEntry
' Biddu um gildi
  Num = InputBox(„Sláðu inn gildi“)
  Ef Num = ““ Hætta þá undir
' Settu inn veldisrótina
  ActiveCell.Value = Sqr(Num)
  Hætta undir
BadEntry:
  Msg = Err.Number & “: “ & Error(Err.Number)
  Msg = Msg & vbNewLine & vbNewLine
  Msg = Msg & "Gakktu úr skugga um að svið sé valið,"
  Msg = Msg & "blaðið er ekki varið, "
  Msg = Msg & "og þú slærð inn óneikvætt gildi."
  Msg = Msg & vbNewLine & vbNewLine & "Reyna aftur?"
  Ans = MsgBox(Msg, vbYesNo + vbCritical)
  Ef Ans = vbYes Haltu þá áfram Reyndu aftur
End Sub

Þessi aðferð hefur annað merki: TryAgain. Ef villa kemur upp heldur framkvæmdin áfram við BadEntry merkimiðann og kóðinn sýnir skilaboðin hér að neðan. Ef notandinn svarar með því að smella á Já, byrjar Ferilskrá yfirlýsingin og framkvæmdin hoppar aftur á TryAgain merkið. Ef notandinn smellir á Nei lýkur ferlinu.

Hvernig á að nota OnError yfirlýsinguna í Excel 2016 VBA

Ef villa kemur upp getur notandinn ákveðið hvort hann reynir aftur.

Taktu eftir að villuboðin innihalda einnig villunúmerið ásamt „opinberu“ villulýsingunni.

Yfirlýsingin um Ferilskrá hreinsar villuástandið áður en haldið er áfram. Til að sjá þetta skaltu reyna að skipta eftirfarandi setningu út fyrir næstsíðustu setninguna í dæminu á undan:

Ef Ans = vbYes Farðu í Reyndu aftur

Kóðinn virkar ekki rétt ef þú notar GoTo frekar en Resume. Til að sýna fram á, sláðu inn neikvæða tölu. Þú færð villuboðið. Smelltu á Já til að reyna aftur og sláðu svo inn aðra neikvæða tölu. Þessi önnur villa er ekki föst vegna þess að upprunalega villuástandið var ekki hreinsað.

Villumeðferð í hnotskurn

Til að hjálpa þér að halda öllum þessum villumeðferðarviðskiptum á hreinu, hér er fljótleg og óhrein samantekt. Blokk af villumeðferðarkóða hefur eftirfarandi eiginleika:

  • Það byrjar strax á eftir merkinu sem tilgreint er í On Error yfirlýsingunni.

  • Það ætti aðeins að ná í fjölvi ef villa kemur upp. Þetta þýðir að þú verður að nota yfirlýsingu eins og Exit Sub eða Exit Function strax á undan merkinu.

  • Það gæti þurft yfirlýsingu um ferilskrá. Ef þú velur að hætta ekki við aðgerðina þegar villa kemur upp verður þú að framkvæma Ferilskráningu áður en þú ferð aftur í aðalkóðann.

Að vita hvenær á að hunsa villur

Í sumum tilfellum er fullkomlega í lagi að hunsa villur. Það er þegar yfirlýsingin On Error Resume Next kemur við sögu.

Eftirfarandi dæmi fer í gegnum hverja reit á völdu sviði og breytir gildinu í kvaðratrót þess. Þessi aðferð býr til villuboð ef einhver hólf í valinu inniheldur neikvæða tölu eða texta:

Sub SelectionSqrt()
  Dimm reiti sem svið
  Ef TypeName(Selection) <> “Range” Þá Hætta undir
  Fyrir hvern reit í vali
    cell.Value = Sqr(cell.Value)
  Næsta klefi
End Sub

Í þessu tilviki gætirðu viljað einfaldlega sleppa hvaða reiti sem er sem inniheldur gildi sem þú getur ekki breytt í kvaðratrót. Þú getur búið til alls kyns villueftirlitsmöguleika með því að nota If-Then mannvirki, en þú getur hugsað þér betri (og einfaldari) lausn með því einfaldlega að hunsa villurnar sem koma upp.

Eftirfarandi venja framkvæmir þetta með því að nota yfirlýsinguna Á Villa Ferilskrá næsta:

Sub SelectionSqrt()
  Dimm reiti sem svið
  Ef TypeName(Selection) <> “Range” Þá Hætta undir
  Á Villa Resume Next
  Fyrir hvern reit í vali
    cell.Value = Sqr(cell.Value)
  Næsta klefi
End Sub

Almennt séð geturðu notað On Error Resume Next yfirlýsingu ef þú telur að villurnar séu skaðlausar eða ómarkvissar fyrir verkefni þitt.

Leave a Comment

Námundun tölur í Excel 2007 með ROUND, ROUNDUP og ROUNDDOWN

Námundun tölur í Excel 2007 með ROUND, ROUNDUP og ROUNDDOWN

Fyrir þá sem vilja læra um aðferðir eins og <strong>ROUND</strong>, <strong>ROUNDUP</strong> og <strong>ROUNDDOWN</strong> í Excel 2007, skoðaðu þessa skref-fyrir-skref leiðbeiningu um hvernig á að rúnna tölur á réttan hátt.

Hvernig á að koma í veg fyrir að Microsoft Word opni skrár í skrifvarinn ham á Windows

Hvernig á að koma í veg fyrir að Microsoft Word opni skrár í skrifvarinn ham á Windows

Hvernig á að koma í veg fyrir að Microsoft Word opni skrár í skrifvarandi ham á Windows. Microsoft Word opnar skrár í skrifvarandi ham, sem gerir það ómögulegt að breyta þeim? Ekki hafa áhyggjur, aðferðirnar eru hér að neðan

Hvernig á að laga ranga prentun á Microsoft Word skjölum

Hvernig á að laga ranga prentun á Microsoft Word skjölum

Hvernig á að laga villur við prentun á röngum Microsoft Word skjölum Villur við prentun Word skjala með breyttu letri, sóðalegar málsgreinar, texta sem vantar eða glatað efni eru nokkuð algengar. Hins vegar ekki

Eyddu penna- og auðkennisteikningum á PowerPoint-skyggnunum þínum

Eyddu penna- og auðkennisteikningum á PowerPoint-skyggnunum þínum

Ef þú hefur notað pennann eða hápunktarann ​​til að teikna á PowerPoint glærurnar þínar meðan á kynningu stendur geturðu vistað teikningarnar fyrir næstu kynningu eða eytt þeim út svo næst þegar þú sýnir þær byrjarðu á hreinum PowerPoint glærum. Fylgdu þessum leiðbeiningum til að eyða penna- og auðkenningarteikningum: Að eyða línum einni á […]

Innihald stílasafns í SharePoint 2010

Innihald stílasafns í SharePoint 2010

Stílsafnið inniheldur CSS skrár, Extensible Stylesheet Language (XSL) skrár og myndir sem notaðar eru af fyrirfram skilgreindum aðalsíðum, síðuuppsetningum og stjórntækjum í SharePoint 2010. Til að finna CSS skrár í stílasafni útgáfusíðunnar: Veldu Site Actions→ View Allt efni á síðunni. Innihald síðunnar birtist. Style bókasafnið er staðsett í […]

Snið tölur í þúsundum og milljónum í Excel skýrslum

Snið tölur í þúsundum og milljónum í Excel skýrslum

Ekki yfirgnæfa áhorfendur með stórkostlegum tölum. Í Microsoft Excel geturðu bætt læsileika mælaborða og skýrslna með því að forsníða tölurnar þínar þannig að þær birtast í þúsundum eða milljónum.

Hvernig á að deila og fylgja SharePoint síðum

Hvernig á að deila og fylgja SharePoint síðum

Lærðu hvernig á að nota SharePoints samfélagsnetverkfæri sem gera einstaklingum og hópum kleift að eiga samskipti, vinna saman, deila og tengjast.

Hvernig á að umbreyta dagsetningum í Julian snið í Excel

Hvernig á að umbreyta dagsetningum í Julian snið í Excel

Julian dagsetningar eru oft notaðar í framleiðsluumhverfi sem tímastimpill og fljótleg tilvísun fyrir lotunúmer. Þessi tegund af dagsetningarkóðun gerir söluaðilum, neytendum og þjónustuaðilum kleift að bera kennsl á hvenær vara var framleidd og þar með aldur vörunnar. Julian dagsetningar eru einnig notaðar í forritun, hernum og stjörnufræði. Mismunandi […]

Hvernig á að búa til Access Web App

Hvernig á að búa til Access Web App

Þú getur búið til vefforrit í Access 2016. Svo hvað er vefforrit eiginlega? Jæja, vefurinn þýðir að hann er á netinu og app er bara stytting fyrir „umsókn“. Sérsniðið vefforrit er gagnagrunnsforrit á netinu sem hægt er að nálgast úr skýinu með vafra. Þú smíðar og viðheldur vefforritinu í skrifborðsútgáfunni […]

Quick Launch Bar í SharePoint 2010

Quick Launch Bar í SharePoint 2010

Flestar síður í SharePoint 2010 sýna lista yfir flakktengla á flýtiræsingarstikunni vinstra megin á síðunni. Flýtiræsingarstikan sýnir tengla á innihaldsefni vefsvæða eins og lista, bókasöfn, síður og útgáfusíður. Flýtiræsingarstikan inniheldur tvo mjög mikilvæga tengla: Tengill á allt efni vefsvæðis: […]