Instrução Exit

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.