VBA jūs varat ieprogrammēt savu kodu, lai izietu no Sub ikreiz, kad rodas kļūda. Lai to izdarītu, izmantojiet Par kļūdu GoTo un Iziet no apakšnodaļas.
Par kļūdu Goto paziņo VBA, ka, ja rodas kļūda, pārejot uz noteiktu koda sadaļu. Piemēram:
1 | Par kļūdu GoTo ErrorHandler |
Šajā sadaļā jūs varat pateikt VBA iziet no Sub, lai izietu no apakšprocedūras:
12 | ErrorHandler:Iziet no apakšnodaļas |
Lasiet tālāk, lai redzētu šīs koda rindas darbībā …
Iziet no apakšbāzes kļūdas dēļ VBA
Šajā piemērā mēs radīsim kļūdu, dalot ar nulli:
1 | i = 5 /0 |
Pilnu kodu skatiet zemāk. Kad VBA nolasa kļūdu, tā “aiziet” uz koda sadaļu ErrorHandler un iziet:
123456789101112131415 | Apakštesta kļūda ()Dim i As IntegerPar kļūdu GoTo ErrorHandleri = 5 /0'Dari kaut ko ar iMsgBox iIziet no apakšnodaļasErrorHandler:MsgBox "Ja rodas kļūda, izejiet no apakšgrupas"Iziet no apakšnodaļasBeigu apakš |
Lai norādītu kļūdu apstrādi, vispirms jādeklarē Par kļūdu GoTo paziņojums, apgalvojums. Tas jāpaziņo apakšsadaļas sākumā:
1 | Par kļūdu GoTo ErrorHandler |
Pēc tam jums ir jādeklarē kļūdu apstrādes kods. Parasti tas ir koda beigās:
123 | ErrorHandler:MsgBox "Ja rodas kļūda, izejiet no apakšgrupas"Iziet no apakšnodaļas |
Mēs pievienojam “Exit Sub” virs ErrorHandler, jo mēs gribam palaist ErrorHandler kodu tikai tad, ja ir kļūda.
12345 | Iziet no apakšnodaļasErrorHandler:MsgBox "Ja rodas kļūda, izejiet no apakšgrupas"Iziet no apakšnodaļasBeigu apakš |
Ja jūs darbināt Sub, tas radīs kļūdu, jo sadalījums ir nulle. Tajā brīdī tiks izpildīts kļūdu apstrādes kods. Parādās ziņojumu lodziņš un apakšizdevums tiek aizvērts.
1. attēls. VBA On Error Exit Sub
Ja vēlaties uzzināt, kā pārtraukt koda izpildi VBA, noklikšķiniet uz šīs saites: VBA beigas
Ja vēlaties uzzināt, kā iziet no apakšfunkcijas vai funkcijas, noklikšķiniet uz šīs saites: VBA iziet no apakšfunkcijas vai funkcijas