Exit Sub en VBA
Presentaremos diferentes métodos para salir de sub en VBA con ejemplos.
Uso de la sentencia Exit Sub en VBA
Mientras trabajamos con Sub en VBA, es posible que deseemos salir o evitar que se ejecute más si hay un error o si el usuario proporcionó una entrada incorrecta. También podemos usar exit sub para terminar el sub en cualquier momento.
En VBA, cada línea se ejecuta una a una, por lo que si hemos conseguido el resultado o la respuesta deseada en un determinado punto de ejecución no es la que queríamos, podemos utilizar el exit sub para terminar el sub.
Hay muchas situaciones en las que podemos usar esta función. Veamos un ejemplo e intentemos salir del sub en medio del código.
Código de ejemplo:
# VBA
Sub roundFunc()
Dim num As Double
num = 5.468
Exit Sub
MsgBox Application.WorksheetFunction.RoundUp(num, 1)
End Sub
Del ejemplo anterior, he agregado el subcódigo de salida antes del cuadro de mensaje, y cuando ejecutamos este código, no aparece ningún cuadro de mensaje.
Veamos otro ejemplo usando la sentencia if-else
. Si la sentencia es true
, ejecutará el código hasta el final. De lo contrario, se romperá.
Código de ejemplo:
# VBA
Sub roundFunc()
Dim num As Double
num = 5.468
If Application.WorksheetFunction.RoundUp(num, 1) = 6 Then
MsgBox num
Else
MsgBox "Wrong Number"
Exit Sub
num = num + num
End If
End Sub
Producción:
Cuando estamos trabajando con datos importantes y queremos asegurarnos de que si hay algún error o alguna de las entradas es incorrecta, debemos salir del sub inmediatamente para asegurarnos de que no haya pérdida de datos o que no haya datos incorrectos dentro de los datos de la empresa.