VBA Exit Sub или функция

В VBA вы можете выйти из подпрограммы или функции, используя Выйти из подводной лодки или Функция выхода команды.

1 Выйти из подводной лодки
1 Функция выхода

Когда выполнение кода дойдет до Выйти из подводной лодки или Функция выхода, он выйдет из подпрограммы или функции и продолжит выполнение любого другого кода.

Если вы хотите узнать, как выйти из подпрограммы при ошибке, щелкните по этой ссылке: VBA при ошибке Exit Sub

Если вы хотите узнать, как завершить выполнение всего кода, щелкните эту ссылку: VBA End

Выйти из Sub в VBA

Вы увидите на примере, что происходит, когда мы используем Выйти из подводной лодки команда в Sub. Мы создали Sub ExitSub, который имеет Выйти из подводной лодки команда внутри. ПодводныйCallExitSub называет это Sub. Вот код:

123456789101112131415161718 Приватная подписка ExitSub ()Dim i как целое числоДля i = от 1 до 10Если i = 5, тоВыйти из подводной лодкиMsgBox "Значение i равно" & iКонец, еслиДалее яКонец подпискиЧастный дополнительный вызовВызов ExitSubMsgBox «Выход из подписки»Конец подписки

в ExitSub, мы сначала входим в цикл For Loop, если значение i меньше 10:

123 Для i = от 1 до 10Далее я

После этого мы проверяем, равно ли значение i 5, используя команду If. Если значение равно 5, мы хотим выйти из подпрограммы и вернуть поле сообщения со значением i:

1234 Если i = 5, тоВыйти из подводной лодкиMsgBox "Значение i равно" & iКонец, если

Если условие не выполняется, следующий оператор увеличивает i на 1 и снова входит в цикл For:

1 Далее я

в CallExitSub, сначала мы вызываем Sub ExitSub:

1 Вызов ExitSub

После этого возвращаем окно сообщения:

1 MsgBox «Выход из подписки»

Если вы запустите CallExitSub, сначала он вызовет ExitSub. Если вы выполните этот код в режиме отладки, вы увидите, что он пройдет цикл 5 раз. В 5th итерации значение переменной i становится равным 5, и код входит в тело If. Теперь Sub ExitSub выходит и возвращается в CallExitSub. Следующая строка MsgBox «Выход из подписки»:

Как видите, ExitSub выходит сразу после Выйти из подводной лодки команда, поэтому MsgBox «Значение i равно» & i никогда не будет выполнен.

Выход из функции в VBA

Выход из функции в VBA аналогичен выходу из подпрограммы, только команда Функция выхода. В этом примере мы создали ExitFunc который возвращает целое число. Подводный CallExitFunction вызывает эту функцию. Вот код:

1234567891011121314151617181920 Закрытая функция ExitFunc () как целое числоDim i как целое числоДля i = от 1 до 10Если i = 5, тоExitFunc = яФункция выходаКонец, еслиДалее яКонечная функцияЧастная подпрограмма CallExitFunction ()Dim intFunc как целое числоintFunc = ExitFunction ()MsgBox "Значение intFunc равно" & intFuncКонец подписки

в ExitFunc, мы сначала входим в цикл For Loop, если значение i меньше 10:

123 Для i = от 1 до 10Далее я

После этого мы проверяем, равно ли значение i 5, используя команду If. Если значение равно 5, мы присваиваем значение i результату функции и выходим из функции:

1234 Если i = 5, тоExitFunc = яФункция выходаКонец, если

Если условие не выполняется, следующий оператор увеличивает i на 1 и снова входит в цикл For:

1 Далее я

в CallExitFunction, сначала вызываем функцию ExitFunc: Для этого мы должны объявить переменную intFunc введите целое число и присвойте результат ExitFunc функция к нему:

123 Dim intFunc как целое числоintFunc = ExitFunction ()

После этого мы возвращаем окно сообщения со значением intFunc:

1 MsgBox "Значение intFunc равно" & intFunc

Если вы запустите CallExitFunction, он сначала вызовет функцию ExitFunc. Если вы выполните этот код в режиме отладки, вы увидите, что он пройдет цикл 5 раз. В 5th итерации значение переменной i становится равным 5, и код входит в тело If. Теперь ценность ExitFunc становится i, и функция завершается и возвращается в CallExitFunction. Следующая строка MsgBox «Значение intFunc равно» & intFunc:

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave