Как использовать 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 ) и завершает процедуру.