Sai de um bloco de código Do...Loop, For...Next, Function ou Sub.
Sintaxe
Exit Do
Exit For
Exit Function
Exit Sub
Comentários
A sintaxe da instrução Exit tem os seguintes formatos:
Exit Do
Permite sair de uma instrução Do...Loop. Só pode ser usada dentro de uma instrução Do...Loop. Exit Do transfere o controle para a instrução que sucede a instrução Loop. Quando usada dentro de instruções Do...Loop aninhadas, Exit Do transfere o controle para o loop que está aninhado um nível acima do loop em que ocorre.
Exit For
Permite sair de um loop For. Só pode ser usada em um loop For...Next ou For Each...Next. Exit For transfere o controle para a instrução que sucede a instrução Next. Quando usada em loops For aninhados, a instrução Exit For transfere o controle para o loop que está aninhado um nível acima do loop em que ocorre.
Exit Function
Sai imediatamente do procedimento Function em que aparece. A execução continua com a instrução que está após a instrução que chamou o procedimento Function.
Exit Sub
Sai imediatamente do procedimento Sub em que aparece. A execução continua com a instrução que está após a instrução que chamou o código Sub
O exemplo a seguir ilustra o uso da instrução Exit.
Exemplo 1:
Sub RandomLoop
Dim I, MyNum
For I = 1 To 1000 ' Loop 1000 times.
MyNum = Int(Rnd * 100) ' Generate random numbers.
Select Case MyNum ' Evaluate random number.
Case 17 'Operations based on the requirement for this case
Exit For ' If 17, exit For...Next.
Case 54 'Operations based on the requirement for this case
Exit Sub ' If 54, exit Sub procedure.
End Select
Next
End Sub
Exemplo 2:
Function CalculateValue(x)
If x < 0 Then
CalculateValue = 0
Exit Function
End If
CalculateValue = x * 4
End Function
'In this example, if x is negative, the function returns 0 and exits before executing any further calculations.
Exemplo 3:
Dim count
count = 0
Do While True
count = count + 1
If count > 10 Then
Exit Do ' Exits the loop after count exceeds ten.
End If
' Additional processing...
Loop
'Here, once count exceeds 10, the loop will terminate.
Exemplo 4:
For i = 1 To 10
If i = 5 Then
Exit For ' Exits the loop when i equals 5.
End If
' Code for other iterations...
Next
'In this case, when i reaches 5, the loop terminates early.