Podrzędna lub funkcja wyjścia VBA

W VBA możesz wyjść z Sub lub Function, używając Wyjście Sub lub Wyjdź z funkcji polecenia.

1 Wyjście Sub
1 Wyjdź z funkcji

Kiedy wykonanie kodu dojdzie do Wyjście Sub lub Wyjdź z funkcji, opuści Sub lub Function i będzie kontynuować wykonywanie dowolnego innego kodu.

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 zakończyć wykonywanie całego kodu, kliknij ten link: VBA End

Wyjdź z Sub w VBA

Zobaczysz na przykładzie, co się dzieje, gdy używamy Wyjście Sub polecenie w Sub. Stworzyliśmy Sub WyjdźSub, który ma Wyjście Sub polecenie wewnątrz. SubZadzwońWyjdźSub nazywa to Sub. Oto kod:

123456789101112131415161718 Prywatna Sub ExitSub()Dim i jako liczba całkowitaDla i = 1 do 10Jeśli i = 5 WtedyWyjście SubMsgBox "Wartość i to" & iZakończ, jeśliDalej jaNapis końcowyPrywatne wywołanie SubExitSub()Zadzwoń WyjdźSubMsgBox "Wyjdź z podrzędnych"Napis końcowy

w WyjdźSub, 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, chcemy wyjść z Sub i zwrócić okno wiadomości z wartością i:

1234 Jeśli i = 5 WtedyWyjście SubMsgBox "Wartość i to" & iZakoń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ńWyjdźSub, najpierw nazywamy Sub WyjdźSub:

1 Zadzwoń WyjdźSub

Następnie zwracamy okno wiadomości:

1 MsgBox "Wyjdź z podrzędnych"

Jeśli uruchomisz ZadzwońWyjdźSub, najpierw zadzwoni do WyjdźSub. 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 Sub WyjdźSub zostanie wyprowadzony i zwrócony do ZadzwońWyjdźSub. Następna linia to MsgBox „Wyjdź z podrzędnych”:

Jak widać, WyjdźSub jest zamykany zaraz po Wyjście Sub polecenie, więc MsgBox „Wartość i to” & i nigdy nie zostaną wykonane.

Wyjdź z funkcji w VBA

Wyjście z funkcji w VBA jest podobne do wyjścia z Sub, tylko polecenie jest Wyjdź z funkcji. W tym przykładzie stworzyliśmy Funkcja wyjścia co zwraca liczbę całkowitą. Sub CallExitFunkcja wywołuje tę funkcję. Oto kod:

1234567891011121314151617181920 Funkcja prywatna ExitFunc() jako liczba całkowitaDim i jako liczba całkowitaDla i = 1 do 10Jeśli i = 5 WtedyFunkcja wyjścia = iWyjdź z funkcjiZakończ, jeśliDalej jaKoniec funkcjiPrivate Sub CallExitFunction()Dim intFunc jako liczba całkowitaintFunc = Funkcja wyjścia()MsgBox "Wartość intFunc to " & intFuncNapis końcowy

w Funkcja wyjścia, 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, przypisujemy wartość i do wyniku funkcji i wychodzimy z funkcji:

1234 Jeśli i = 5 WtedyFunkcja wyjścia = iWyjdź z funkcjiZakoń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 CallExitFunkcja, najpierw wywołujemy funkcję Funkcja wyjścia: Aby to zrobić musimy zadeklarować zmienną intFunc wpisz liczbę całkowitą i przypisz wynik Funkcja wyjścia funkcja do niego:

123 Dim intFunc jako liczba całkowitaintFunc = Funkcja wyjścia()

Następnie zwracamy pole Wiadomość z wartością intFunc:

1 MsgBox "Wartość intFunc to " & intFunc

Jeśli uruchomisz CallExitFunkcja, najpierw wywoła funkcję Funkcja wyjścia. 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 wartość Funkcja wyjścia staje się i, a funkcja zostaje opuszczona i zwrócona do CallExitFunkcja. Następna linia to MsgBox „Wartość intFunc to ” & intFunc:

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave