Vo VBA môžete naprogramovať svoj kód tak, aby vždy, keď sa vyskytne chyba, opustil sub. Ak to chcete urobiť, použite Pri chybe GoTo a Ukončiť sub.
Pri chybe Choďte na VBA, že keď sa vyskytne chyba pri prechode na konkrétnu časť kódu. Príklad:
1 | Pri chybe GoTo ErrorHandler |
V tejto sekcii potom môžete povedať VBA, aby ukončil Sub a ukončil čiastkový postup:
12 | ErrorHandler:Ukončiť sub |
Pokračujte v čítaní, aby ste videli tieto riadky kódu v prevádzke …
Ukončite podstránku chyby vo VBA
V tomto prípade vygenerujeme chybu delením nulou:
1 | i = 5/0 |
Pozrite si celý kód nižšie. Keď VBA prečíta chybu, „prejde“ časť kódu ErrorHandler a skončí:
123456789101112131415 | Sub TestError ()Dim i As IntegerPri chybe GoTo ErrorHandleri = 5/0„Urob niečo so mnouMsgBox iUkončiť subErrorHandler:MsgBox „Ak sa vyskytne chyba, ukončite podstránku“Ukončiť subKoniec pod |
Ak chcete určiť spracovanie chýb, musíte najskôr deklarovať Pri chybe GoTo vyhlásenie. Malo by byť uvedené na začiatku podčasti:
1 | Pri chybe GoTo ErrorHandler |
Potom musíte deklarovať kód na spracovanie chýb. Obvykle je na konci kódu:
123 | ErrorHandler:MsgBox „Ak sa vyskytne chyba, ukončite podstránku“Ukončiť sub |
„Exit Sub“ pridáme nad ErrorHandler, pretože kód ErrorHandler chceme spustiť iba v prípade chyby.
12345 | Ukončiť subErrorHandler:MsgBox „Ak sa vyskytne chyba, ukončite podstránku“Ukončiť subKoniec pod |
Ak spustíte Sub, dôjde k chybe z dôvodu delenia nulou. V tom okamihu bude spustený kód spracovania chýb. Zobrazí sa okno so správou a Sub je ukončený.
Obrázok 1. VBA On Error Exit Sub
Ak sa chcete dozvedieť, ako ukončiť vykonávanie kódu vo VBA, kliknite na tento odkaz: Koniec VBA
Ak sa chcete dozvedieť, ako ukončiť podradenú funkciu alebo funkciu, kliknite na tento odkaz: Ukončiť vedľajšiu funkciu alebo funkciu VBA