VBA – jednoduché ošetření chyb
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
Tento článek je o jednoduchém ošetření chybových stavů v makrech.
Většina maker může skončit chybou. Pokud se tak stane a chyba není nijak ošetřená, Excel prostě skočí do editoru VBA, a tam chybu ukáže. To je fajn při ladění programu, ale uživatelsky už to tak moc fajn není.
Když chyba, tak něco
Je tedy lepší možnost chyby ošetřit a v případě chyby např. zobrazit varovnou hlášku.
Zařídí se to tak, že před samotný obsah makra přidáme příkaz:
- On Error Goto ...
Makro pak může vypadat například takto:
Sub makro_s_chybou() 'Pokud skončí makro chybou, jdi na "chybova_hlaska" On Error GoTo chybova_hlaska 'Samotný obsah makra 'Ukončení samotného makra Exit Sub 'Místo, kam se přejde v případě chyby chybova_hlaska: 'Obsah chybové hlášky msgbox("Makro nemohlo správně proběhnout") 'Konec chybové hlášky End Sub
Když chyba, tak jdi dál
Makro také můžeme nastavit tak, aby se v případě chyby chybný řádek prostě překročil. Například toto makro sice obsahuje dělení nulou, ale doběhne normálně do konce - díky příslušnému příkazu na začátku. Samozřejmě
Sub preskoceni_chyby() 'Nastavení makra tak, že ignoruje chybu On Error Resume Next 'Samotný obsah makra a = 8 / 0 'Konec chybové hlášky End Sub
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.