VBA, lai pārtrauktu VISU koda izpildi, izmantojiet Beigas komandu.
1 | Beigas |
Kad tiek izpildīts kods Beigas, tas nekavējoties pabeidz izpildi un pamet programmu.
Ja vēlaties uzzināt, kā iziet no apakšbāzes kļūdas dēļ, noklikšķiniet uz šīs saites: VBA On Error Exit Sub
Ja vēlaties uzzināt, kā iziet no apakšfunkcijas vai funkcijas, noklikšķiniet uz šīs saites: VBA iziet no apakšfunkcijas vai funkcijas
Iziet no visa VBA koda
Par piemēru jūs redzēsiet, kas notiek, kad mēs izmantojam Beigas komanda VBA. Mēs izveidojām apakšnodaļu EndSub, kurai ir Beigas komanda iekšā. Šis apakšnodaļa tiek izsaukta no CallEndSub. Šeit ir kods:
123456789101112131415161718 | Privāta apakšnodaļa ()Dim i As IntegerJa i = 1 līdz 10Ja i = 5, tadMsgBox "i vērtība ir" & iBeigasBeigas JaTālāk iBeigu apakšPrivāts apakšzvansEndSub ()Zvaniet EndSubMsgBox "End Sub"Beigu apakš |
Iekš EndSub, vispirms ievadām cilpu For, ja i vērtība ir mazāka par 10:
123 | Ja i = 1 līdz 10Tālāk i |
Pēc tam mēs pārbaudām, vai i vērtība ir vienāda ar 5, izmantojot komandu If. Ja vērtība ir 5, mēs atgriežam ziņojumu lodziņu ar i vērtību un izmantojam komandu Beigas.
1234567 | Ja i = 5, tadMsgBox "i vērtība ir" & iBeigasBeigas Ja |
Ja nosacījums nav izpildīts, šāds paziņojums palielina i par 1 un atkal tiek ievadīts cilnē For:
1 | Tālāk i |
Iekš CallEndSub, mēs vispirms izsaucam Sub EndSub:
1 | Zvaniet EndSub |
Pēc tam mēs atgriežam ziņojumu lodziņu:
1 | MsgBox "End Sub" |
Ja jūs vadāt CallEndSub, tas vispirms izsauks EndSub. Ja izpildīsit šo kodu atkļūdošanas režīmā, jūs redzēsit, ka tas iet cauri cilpai 5 reizes. 5tūkst iterācija, mainīgā i vērtība kļūst par 5 un kods tiek ievadīts If korpusā. Tagad MsgBox “i vērtība ir” un i tiek izpildīts un Beigas pēc tam:
1. attēls. VBA beigas
Kā redzat, koda izpilde tiek pārtraukta tūlīt pēc Beigas komanda, tāpēc MsgBox “End Sub” nekad netiek izpildīts.