Ako používať vyhlásenie o chybe v Exceli 2016 VBA

Keď sa potrebujete vysporiadať s chybami v Excel VBA, môžete použiť príkaz OnError. Najprv však musíte vedieť niekoľko vecí. Príkaz On Error môžete použiť tromi spôsobmi.

Syntax Čo to robí
Na štítku Error GoTo Po vykonaní tohto príkazu VBA obnoví vykonávanie na
príkaze nasledujúcom za zadaným označením. Za
štítok musíte vložiť dvojbodku , aby ho VBA rozpoznal ako štítok.
Pri chybe Prejsť na 0 Po vykonaní tohto príkazu VBA obnoví svoje normálne
správanie pri kontrole chýb. Tento príkaz použite po použití jedného z
iných príkazov On Error alebo keď chcete
vo svojej procedúre odstrániť spracovanie chýb .
Pri chybe Pokračujte ďalej Po vykonaní tohto príkazu VBA jednoducho ignoruje všetky chyby
a obnoví vykonávanie s ďalším príkazom.

Obnovuje sa po chybe

V niektorých prípadoch jednoducho chcete, aby sa rutina skončila elegantne, keď sa vyskytne chyba. Môžete napríklad zobraziť správu s popisom chyby a potom ukončiť procedúru. (Túto techniku ​​používa príklad EnterSquareRoot5 uvedený vyššie.) V iných prípadoch sa chcete po chybe zotaviť, ak je to možné.

Ak sa chcete zotaviť z chyby, musíte použiť príkaz Resume. Toto vymaže chybový stav a umožní vám pokračovať v vykonávaní na určitom mieste. Výpis Resume môžete použiť tromi spôsobmi.

Syntax Čo to robí
Pokračovať Vykonávanie sa obnoví s príkazom, ktorý spôsobil chybu. Použite
to, ak váš kód na spracovanie chýb problém opraví a
môžete pokračovať.
Pokračovať ďalej Vykonávanie sa obnoví s príkazom bezprostredne nasledujúcim za
príkazom, ktorý spôsobil chybu. Toto v podstate ignoruje
chybu.
Obnoviť štítok Vykonávanie sa obnoví na štítku, ktorý určíte.

Nasledujúci príklad používa príkaz Resume po výskyte chyby:

Sub EnterSquareRoot6()
  Dim Num ako variant
  Dim Msg As String
  Dim Ans As Integer
Skúste znova:
' Nastavte spracovanie chýb
  Pri chybe GoTo BadEntry
' Výzva na zadanie hodnoty
  Num = InputBox(“Zadajte hodnotu”)
  Ak Num = „“ Potom Exit Sub
' Vložte druhú odmocninu
  ActiveCell.Value = Sqr (Num)
  Ukončiť Sub
BadEntry:
  Msg = Err.Number & “: “ & Error(Err.Number)
  Msg = Msg & vbNewLine & vbNewLine
  Msg = Msg & “Uistite sa, že je vybratý rozsah,”
  Msg = Msg & „hárok nie je chránený,“
  Msg = Msg & "a zadáte nezápornú hodnotu."
  Msg = Msg & vbNewLine & vbNewLine & "Skúsiť znova?"
  Ans = MsgBox(Správa, vbYesNo + vbCritical)
  Ak Ans = vbYes, potom pokračujte v pokuse znova
End Sub

Tento postup má ďalšie označenie: TryAgain. Ak sa vyskytne chyba, vykonávanie pokračuje na štítku BadEntry a kód zobrazí správu nižšie. Ak používateľ odpovie kliknutím na tlačidlo Áno, spustí sa príkaz Resume a vykonanie sa vráti späť na štítok TryAgain. Ak používateľ klikne na Nie, postup sa skončí.

Ako používať vyhlásenie o chybe v Exceli 2016 VBA

Ak sa vyskytne chyba, používateľ sa môže rozhodnúť, či to skúsi znova.

Všimnite si, že chybové hlásenie obsahuje aj číslo chyby spolu s „oficiálnym“ popisom chyby.

Príkaz Resume vymaže chybový stav pred pokračovaním. Aby ste to videli, skúste nahradiť predposledný príkaz v predchádzajúcom príklade nasledujúcim príkazom:

Ak Ans = vbYes, potom prejdite na TryAgain

Kód nefunguje správne, ak namiesto Resume použijete GoTo. Na ukážku zadajte záporné číslo. Zobrazí sa chybové hlásenie. Kliknutím na tlačidlo Áno to skúste znova a potom zadajte ďalšie záporné číslo. Táto druhá chyba nie je zachytená, pretože pôvodný chybový stav nebol vymazaný.

Spracovanie chýb v skratke

Aby sme vám pomohli udržať všetky tieto záležitosti týkajúce sa odstraňovania chýb v poriadku, tu je rýchly a špinavý súhrn. Blok kódu na spracovanie chýb má nasledujúce charakteristiky:

  • Začína bezprostredne po označení špecifikovanom v príkaze On Error.

  • Makro by ho malo dosiahnuť iba v prípade, že sa vyskytne chyba. To znamená, že musíte použiť príkaz ako Exit Sub alebo Exit Function bezprostredne pred menovkou.

  • Môže to vyžadovať vyhlásenie o obnovení. Ak sa rozhodnete neprerušiť procedúru, keď sa vyskytne chyba, musíte pred návratom do hlavného kódu vykonať príkaz Resume.

Vedieť, kedy ignorovať chyby

V niektorých prípadoch je úplne v poriadku ignorovať chyby. Vtedy prichádza na rad vyhlásenie On Error Resume Next.

Nasledujúci príklad prechádza cez každú bunku vo vybratom rozsahu a konvertuje hodnotu na druhú odmocninu. Tento postup vygeneruje chybové hlásenie, ak niektorá bunka vo výbere obsahuje záporné číslo alebo text:

Sub SelectionSqrt()
  Stlmiť bunku ako rozsah
  Ak TypeName(Selection) <> “Range” Potom Exit Sub
  Pre každú bunku vo výbere
    cell.Value = Sqr(cell.Value)
  Ďalšia bunka
End Sub

V tomto prípade možno budete chcieť jednoducho preskočiť každú bunku, ktorá obsahuje hodnotu, ktorú nemôžete previesť na druhú odmocninu. Pomocou štruktúr If-Then môžete vytvoriť všetky druhy možností kontroly chýb, ale môžete navrhnúť lepšie (a jednoduchšie) riešenie jednoduchým ignorovaním vyskytujúcich sa chýb.

Nasledujúca rutina to dosiahne pomocou príkazu On Error Resume Next:

Sub SelectionSqrt()
  Stlmiť bunku ako rozsah
  Ak TypeName(Selection) <> “Range” Potom Exit Sub
  Pri chybe Pokračujte ďalej
  Pre každú bunku vo výbere
    cell.Value = Sqr(cell.Value)
  Ďalšia bunka
End Sub

Vo všeobecnosti môžete použiť príkaz On Error Resume Next, ak považujete chyby za neškodné alebo bezvýznamné pre vašu úlohu.


Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime len na čítanie v systéme Windows Microsoft Word otvára súbory v režime len na čítanie, takže ich nie je možné upravovať? Nebojte sa, metódy sú uvedené nižšie

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť chyby pri tlači nesprávnych dokumentov Microsoft Word Chyby pri tlači dokumentov Word so zmeneným typom písma, chaotickými odsekmi, chýbajúcim textom alebo strateným obsahom sú pomerne časté. Avšak, nie

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Ak ste použili pero alebo zvýrazňovač na kreslenie na powerpointové snímky počas prezentácie, môžete si kresby uložiť pre ďalšiu prezentáciu alebo ich vymazať, aby ste pri ďalšom zobrazení začali s čistými powerpointovými snímkami. Ak chcete vymazať kresby perom a zvýrazňovačom, postupujte podľa týchto pokynov: Vymazanie riadkov jedna na […]

Obsah knižnice štýlov v SharePointe 2010

Obsah knižnice štýlov v SharePointe 2010

Knižnica štýlov obsahuje súbory CSS, súbory XSL (Extensible Stylesheet Language) a obrázky používané preddefinovanými vzorovými stránkami, rozloženiami strán a ovládacími prvkami v SharePointe 2010. Ak chcete nájsť súbory CSS v knižnici štýlov publikačnej lokality: Vyberte Akcie lokality→Zobraziť Všetok obsah stránky. Zobrazí sa obsah stránky. Knižnica štýlov sa nachádza v […]

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Nezahlcujte svoje publikum obrovskými číslami. V programe Microsoft Excel môžete zlepšiť čitateľnosť svojich tabúľ a zostáv formátovaním čísel tak, aby sa zobrazovali v tisíckach alebo miliónoch.

Ako zdieľať a sledovať lokality SharePoint

Ako zdieľať a sledovať lokality SharePoint

Zistite, ako používať nástroje sociálnych sietí SharePoints, ktoré umožňujú jednotlivcom a skupinám komunikovať, spolupracovať, zdieľať a spájať sa.

Ako previesť dátumy do Julianových formátov v Exceli

Ako previesť dátumy do Julianových formátov v Exceli

Juliánske dátumy sa často používajú vo výrobných prostrediach ako časová pečiatka a rýchla referencia pre číslo šarže. Tento typ kódovania dátumu umožňuje maloobchodníkom, spotrebiteľom a servisným zástupcom identifikovať, kedy bol produkt vyrobený, a teda aj vek produktu. Juliánske dátumy sa používajú aj v programovaní, armáde a astronómii. Rôzne […]

Ako vytvoriť Access Web App

Ako vytvoriť Access Web App

V Accesse 2016 môžete vytvoriť webovú aplikáciu. Čo je to teda webová aplikácia? Web znamená, že je online a aplikácia je len skratka pre „aplikáciu“. Vlastná webová aplikácia je online databázová aplikácia, ku ktorej sa pristupuje z cloudu pomocou prehliadača. Vytvárate a udržiavate webovú aplikáciu vo verzii pre počítače […]

Panel rýchleho spustenia v SharePointe 2010

Panel rýchleho spustenia v SharePointe 2010

Väčšina stránok v SharePointe 2010 zobrazuje zoznam navigačných prepojení na paneli Rýchle spustenie pozdĺž ľavej strany stránky. Panel Rýchle spustenie zobrazuje prepojenia na odporúčaný obsah lokality, ako sú zoznamy, knižnice, lokality a publikačné stránky. Panel Rýchle spustenie obsahuje dva veľmi dôležité odkazy: Odkaz na celý obsah lokality: […]

Čo znamenajú chybové hlásenia v programe Excel?

Čo znamenajú chybové hlásenia v programe Excel?

Pre jednoduché problémy Riešiteľ v Exceli zvyčajne rýchlo nájde optimálne hodnoty premennej Riešiteľ pre cieľovú funkciu. V niektorých prípadoch má však Riešiteľ problém nájsť hodnoty premennej Riešiteľ, ktoré optimalizujú cieľovú funkciu. V týchto prípadoch Riešiteľ zvyčajne zobrazí hlásenie alebo chybové hlásenie, ktoré popisuje alebo diskutuje problém, ktorý […]