Как использовать vba exit sub в excel?
VBA Exit Sub — это оператор, который вы используете для выхода из подпроцедуры или функции. Как вы знаете, каждая строка представляет собой макрос, который запускается один за другим, и когда вы добавляете VBA «Exit Sub», вы выходите из процедуры, не запуская остальной код, который идет после нее. Лучше всего это работает с циклами и окном сообщения .
Использование подвыражения Exit в VBA
- Сначала решите, в какую строку вы хотите добавить «Exit Sub».
- После этого проверьте структуру кода, которая будет выполняться при запуске кода .
- Далее введите «Выход Sub».
- В конечном счете, лучше оставить комментарий , описывающий, почему вы используете оператор «Exit Sub».

Примечание. В процедуре функции VBA следует использовать оператор «Выход из функции».
Используйте Exit Sub с окном сообщения и полем ввода
Предположим, вы хотите получить ввод от пользователя с помощью поля ввода и выйти из процедуры, если ответ пользователя не является числом (рассмотрим следующий пример).

В приведенном выше коде у вас есть ISNUMERIC , который проверяет значение, введенное в поле ввода, является ли оно числом или нет, и если это значение не является числом, оно использует оператор Exit Sub для завершения процедуры после отображения окна сообщения.
Sub vba_exit_sub_example() If IsNumeric(InputBox("Enter your age.", "Age")) = False Then MsgBox "Error! Enter your Age in numbers only." Exit Sub Else MsgBox "Thanks for the input." End If End Sub
В случае ошибки Выход из Sub
Одна из лучших особенностей «Exit Sub» — вы можете использовать ее для выхода из процедуры в случае возникновения ошибки. Ниже приведен код, который делит число на ноль, который возвращает «Ошибку времени выполнения ’11’» и останавливает выполнение.

Здесь вы можете использовать оператор GoTo для создания обработчика ошибок с помощью Exit Sub для выхода из процедуры (рассмотрите следующий код).

Sub vba_exit_sub_on_error() On Error GoTo iError Range("A1") = 10 / 0 iError: MsgBox "You can't divide with the zero." & _ "Change the code." Exit Sub End Sub
В приведенном выше коде есть обработчик ошибок «iError» с окном сообщения, а затем оператор «Exit Sub». Если во время расчета возникает ошибка, оператор goto передается обработчику ошибок ( VBA Error Handling ) и завершает процедуру.