Sentencia Exit

Sale de un bloque de código Do...Loop, For...Next, Función o Sub.

Sintaxis

Exit Do

Exit For

Exit Function

Exit Sub

Observaciones

La sintaxis de la sentencia Exit tiene los siguientes formatos:

Exit Do

Proporciona una forma de salir de una sentencia Do...Loop. Solo se puede utilizar en una sentencia Do...Loop. Exit Do transfiere el control a la sentencia que sigue a la sentencia Loop. Cuando se utiliza en sentencias Do...Loop anidadas, Exit Do transfiere el control al bucle que está un nivel anidado por encima del bucle donde se produce.

ExitFor

Proporciona una forma de salir de un bucle For. Solo se puede utilizar en un bucle For...Next o For Each...Next. Exit For transfiere el control a la sentencia que sigue a la sentencia Next. Cuando se utiliza en bucles For anidados, Exit For transfiere el control al bucle que está un nivel anidado por encima del bucle donde se produce.

Exit Function

Sale inmediatamente del procedimiento Function en el que aparece. La ejecución continúa con la sentencia que sigue a la sentencia que ha llamado al procedimiento Function.

Exit Sub

Sale inmediatamente del procedimiento Sub en el que aparece. La ejecución continúa con la sentencia que sigue a la sentencia que ha llamado al procedimiento Sub.

En el siguiente ejemplo se muestra el uso de la sentencia Exit.

Ejemplo 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

Ejemplo 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.

Ejemplo 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.

Ejemplo 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.