A VBA -ban programozhatja a kódot úgy, hogy kilépjen egy Sub -ból, amikor hiba történik. Ehhez használja GoTo hiba esetén és Kilépés a Subból.
On Error A Goto megmondja a VBA -nak, hogy amikor hiba lép fel a kód egy adott szakaszának „Ugrás” részében. Volt:
1 | On Error GoTo ErrorHandler |
Ebből a szakaszból azt mondhatja a VBA -nak, hogy lépjen ki a Sub -ból, hogy kilépjen az alfolyamatból:
12 | ErrorHandler:Kilépés a Subból |
Olvasson tovább, és nézze meg ezeket a kódsorokat működés közben …
Kilépés egy alhibából a VBA -ban
Ebben a példában hibát generálunk, ha elosztjuk nullával:
1 | i = 5 /0 |
A teljes kódot lásd alább. Amikor a VBA elolvassa a hibát, akkor „kilép” a kód ErrorHandler szakaszába és kilép:
123456789101112131415 | Sub TestError ()Dim i As IntegerOn Error GoTo ErrorHandleri = 5 /0'Csinálj valamit az i -velMsgBox iKilépés a SubbólErrorHandler:MsgBox "Ha hiba, akkor lépjen ki az al"Kilépés a SubbólEnd Sub |
A hibakezelés megadásához először deklarálnia kell GoTo hiba esetén nyilatkozat. A rész elején ki kell jelenteni:
1 | On Error GoTo ErrorHandler |
Ezt követően be kell jelentenie a hibakezelési kódot. Általában a kód végén található:
123 | ErrorHandler:MsgBox "Ha hiba, akkor lépjen ki az al"Kilépés a Subból |
Az „Exit Sub” -t az ErrorHandler fölé vesszük, mert csak akkor szeretnénk futtatni az ErrorHandler kódot, ha hiba történt.
12345 | Kilépés a SubbólErrorHandler:MsgBox "Ha hiba, akkor lépjen ki az al"Kilépés a SubbólEnd Sub |
Ha a Sub -t futtatja, akkor hiba lép fel a nullával való osztás miatt. Ebben a pillanatban végrehajtódik a hibakezelési kód. Megjelenik az üzenetdoboz, és a Sub kilép.
1. kép: VBA On Error Exit Sub
Ha szeretné megtudni, hogyan fejezze be a kódfuttatást a VBA -ban, kattintson erre a linkre: VBA vége
Ha szeretné megtudni, hogyan léphet ki egy al- vagy funkciókból, kattintson erre a linkre: VBA Kilépés al- vagy funkció