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.