W VBA, aby zakończyć wykonywanie CAŁEGO kodu, użyj Kończyć się Komenda.
1 | Kończyć się |
Kiedy wykonanie kodu dojdzie do Kończyć się, natychmiast zakończy wykonywanie i opuści program.
Jeśli chcesz dowiedzieć się, jak wyjść z Sub w przypadku błędu, kliknij ten link: VBA On Error Exit Sub
Jeśli chcesz dowiedzieć się, jak wyjść z podrzędnej lub funkcji, kliknij ten link: VBA Wyjdź z podrzędnej lub funkcji
Wyjdź z całego kodu w VBA
Zobaczysz na przykładzie, co się dzieje, gdy używamy Kończyć się polecenie w VBA. Stworzyliśmy Sub Napis końcowy, który ma Kończyć się polecenie wewnątrz. Ta Sub nazywa się z ZadzwońEndSub. Oto kod:
123456789101112131415161718 | Prywatna Sub EndSub()Dim i jako liczba całkowitaDla i = 1 do 10Jeśli i = 5 WtedyMsgBox "Wartość i to " & iKończyć sięZakończ, jeśliDalej jaNapis końcowyPrywatne wywołanie podrzędneEndSub()Zadzwoń KoniecSubMsgBox "Koniec Sub"Napis końcowy |
w Napis końcowy, najpierw wprowadzamy pętlę For, jeśli wartość i jest mniejsza niż 10:
123 | Dla i = 1 do 10Dalej ja |
Następnie sprawdzamy, czy wartość i jest równa 5, używając polecenia If. Jeśli wartość wynosi 5, zwracamy okno komunikatu z wartością i i używamy polecenia Kończyć się.
1234567 | Jeśli i = 5 WtedyMsgBox "Wartość i to " & iKończyć sięZakończ, jeśli |
Jeśli warunek nie jest spełniony, następująca instrukcja zwiększa i o 1 i ponownie wprowadza pętlę For:
1 | Dalej ja |
w ZadzwońEndSub, najpierw nazywamy Sub Napis końcowy:
1 | Zadzwoń KoniecSub |
Następnie zwracamy okno wiadomości:
1 | MsgBox "Koniec Sub" |
Jeśli uruchomisz ZadzwońEndSub, najpierw zadzwoni do Napis końcowy. Jeśli wykonasz ten kod w trybie debugowania, zobaczysz, że przejdzie on przez pętlę 5 razy. W 5NS iteracji, wartość zmiennej i wynosi 5, a kod jest wprowadzany w treści If. Teraz MsgBox „Wartość i to ” & i jest wykonywany i Kończyć się po tym:
Obraz 1. Koniec VBA
Jak widać, wykonanie kodu zostaje zatrzymane zaraz po Kończyć się polecenie, więc MsgBox „Koniec Sub” nigdy nie jest wykonywany.