VBA On Error Exit Sub

U VBA -u svoj kôd možete programirati tako da izađe iz podmornice kad god se pojavi pogreška. Da biste to učinili, upotrijebite Uključeno Greška GoTo i Izlaz iz podv.

Na pogrešci Goto kaže VBA -i da, kada se pojavi pogreška, "idite na" određeni odjeljak vašeg koda. Npr:

1 Uključeno Greška Idi na ErrorHandler

Unutar tog odjeljka tada možete reći VBA -u da napusti Sub da izađe iz podpostupka:

12 ErrorHandler:Izlaz iz podv

Čitajte dalje da biste vidjeli ove retke koda na djelu …

Izađite iz pogreške pod uključenim sadržajem u VBA

U ovom primjeru generirat ćemo pogrešku dijeljenjem s nulom:

1 i = 5 /0

Cijeli kôd pogledajte u nastavku. Kad VBA pročita pogrešku, "otići će" u odjeljak koda ErrorHandler i izaći:

123456789101112131415 Pod TestError ()Dim i Kao cijeli brojUključeno Greška Idi na ErrorHandleri = 5 /0'Učini nešto sa iMsgBox iIzlaz iz podvErrorHandler:MsgBox "Ako dođe do pogreške, izađite iz podmenija"Izlaz iz podvKraj podm

Da biste naveli postupanje s pogreškama, prvo morate prijaviti Uključeno Greška GoTo izjava. Treba biti deklarirano na početku podmetra:

1 Uključeno Greška Idi na ErrorHandler

Nakon toga morate prijaviti kôd za rukovanje pogreškama. Obično se nalazi na kraju koda:

123 ErrorHandler:MsgBox "Ako dođe do pogreške, izađite iz podmenija"Izlaz iz podv

Dodajemo “Exit Sub” iznad ErrorHandlera jer želimo pokrenuti kod ErrorHandler samo ako dođe do pogreške.

12345 Izlaz iz podvErrorHandler:MsgBox "Ako dođe do pogreške, izađite iz podmenija"Izlaz iz podvKraj podm

Ako pokrenete Sub, doći će do pogreške zbog podjele nulom. U tom će se trenutku izvršiti kôd za obradu pogrešaka. Pojavljuje se okvir s porukom i Sub je izašao.

Slika 1. VBA pri pogrešci Izlaz iz podv

Ako želite naučiti kako dovršiti izvršavanje koda u VBA, kliknite na ovu vezu: VBA Kraj

Ako želite naučiti kako izaći iz pod -funkcije ili funkcije, kliknite na ovu vezu: VBA izlaz iz pod -funkcije ili funkcije

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave