Завершает выполнение блока программы Do…Loop, For...Next, Function, Sub или Property.
- Exit Do - Предоставляет способ завершения цикла Do...Loop. Может использоваться только внутри конструкции Do...Loop. Exit Do передает управление инструкции, следующей за инструкцией Loop. При использовании во вложенных циклах Do...Loop, инструкция Exit Do передает управление циклу охватывающего уровня по отношению к циклу, в котором она вызывается.
- Exit For - Предоставляет способ завершения цикла For. Может применяться только в цикле For...Next или For Each...Next. Exit For передает управление инструкции, следующей за инструкцией Next. При использовании во вложенных циклах For, инструкция Exit For передает управление циклу охватывающего уровня по отношению к циклу, в котором она вызывается.
- Exit Function - Немедленно завершает выполнение процедуры Function, в которой появляется эта инструкция. Выполнение продолжается с инструкции, следующей за инструкцией, в которой вызывалась процедура Function.
- Exit Property - Немедленно завершает выполнение процедуры Property, в которой появляется эта инструкция. Выполнение продолжается с инструкции, следующей за инструкцией, в которой вызывалась процедура Property.
- Exit Sub - Немедленно завершает выполнение процедуры Sub, в которой появляется эта инструкция. Выполнение продолжается с инструкции, следующей за инструкцией, в которой вызывалась процедура Sub.
Замечания
Не следует путать инструкции Exit с инструкциями End. Инструкция Exit не определяет конец структуры.
Пример
В данном примере инструкция Exit используется для завершения цикла For...Next, цикла Do...Loop и процедуры Sub.
Sub ExitStatementDemo()
Dim I, MyNum
Do ' Бесконечный цикл.
For I = 1 To 1000 ' Цикл выполняется 1000 раз.
MyNum = Int(Rnd * 1000) ' Генерирует случайное число.
Select Case MyNum ' Анализирует случайное число.
Case 7: Exit For ' Если 7, завершает цикл For...Next.
Case 29: Exit Do ' Если 29, завершает цикл Do...Loop.
Case 54: Exit Sub ' Если 54, завершает процедуру Sub.
End Select
Next I
Loop
End Sub