Sub o función de salida de VBA

En VBA, puede salir de un Sub o Función, usando el Salir de Sub o Función de salida comandos.

1 Salir de Sub
1 Función de salida

Cuando la ejecución del código llega a Salir de Sub o Función de salida, saldrá de una Sub o Función y continuará con cualquier otra ejecución de código.

Si desea aprender cómo salir de un Sub en caso de error, haga clic en este enlace: VBA On Error Exit Sub

Si desea aprender cómo finalizar la ejecución de un código completo, haga clic en este enlace: VBA End

Salir de un Sub en VBA

Verá en el ejemplo lo que sucede cuando usamos el Salir de Sub comando en un Sub. Creamos un Sub ExitSub, que tiene el Salir de Sub comando adentro. El SubLlamarSalidaSub llama a este Sub. Aquí está el código:

123456789101112131415161718 Sub privado ExitSub ()Dim i como enteroPara i = 1 a 10Si i = 5 EntoncesSalir de SubMsgBox "El valor de i es" & iTerminara siSiguiente yoEnd SubLlamada secundaria privadaSalirSub ()Llamar ExitSubMsgBox "Salir del sub"End Sub

En el ExitSub, primero ingresamos el bucle For si el valor de i es menor que 10:

123 Para i = 1 a 10Siguiente yo

Después de eso, verificamos si el valor de i es igual a 5, usando el comando If. Si el valor es 5, queremos salir del Sub y devolver el cuadro de Mensaje con el valor de i:

1234 Si i = 5 EntoncesSalir de SubMsgBox "El valor de i es" & iTerminara si

Si no se cumple la condición, la siguiente declaración aumenta i en 1 y vuelve a entrar en el ciclo For:

1 Siguiente yo

En el LlamarSalidaSub, primero llamamos al Sub ExitSub:

1 Llamar ExitSub

Después de eso, regresamos el cuadro de Mensaje:

1 MsgBox "Salir del sub"

Si ejecuta el LlamarSalidaSub, primero llamará al ExitSub. Si ejecuta este código en el modo de depuración, verá que pasará por el bucle 5 veces. En el 5th iteración, el valor de la variable i se convierte en 5 y el código entra en el cuerpo If. Ahora el Sub ExitSub se sale y se devuelve al LlamarSalidaSub. La siguiente línea es MsgBox "Salir de sub":

Como puede ver, el ExitSub se sale justo después Salir de Sub comando, entonces el MsgBox "El valor de i es" & i nunca se ejecutará.

Salir de una función en VBA

Salir de una función en VBA es similar a salir de un Sub, solo el comando es Función de salida. En el ejemplo, creamos el ExitFunc que devuelve un número entero. El Sub Función de salida de llamada llama a esta función. Aquí está el código:

1234567891011121314151617181920 Función privada ExitFunc () como enteroDim i como enteroPara i = 1 a 10Si i = 5 EntoncesExitFunc = iFunción de salidaTerminara siSiguiente yoFunción finalFunción de salida de llamada secundaria privada ()Dim intFunc como enterointFunc = ExitFunction ()MsgBox "El valor de intFunc es" & intFuncEnd Sub

En el ExitFunc, primero ingresamos el bucle For si el valor de i es menor que 10:

123 Para i = 1 a 10Siguiente yo

Después de eso, verificamos si el valor de i es igual a 5, usando el comando If. Si el valor es 5, asignamos el valor de i al resultado de la función y salimos de la función:

1234 Si i = 5 EntoncesExitFunc = iFunción de salidaTerminara si

Si no se cumple la condición, la siguiente declaración aumenta i en 1 y vuelve a entrar en el ciclo For:

1 Siguiente yo

En el Función de salida de llamada, primero llamamos a la función ExitFunc: Para hacer eso tenemos que declarar la variable intFunc escriba integer y asigne el resultado de la ExitFunc función para ello:

123 Dim intFunc como enterointFunc = ExitFunction ()

Después de eso, devolvemos el cuadro de Mensaje con el valor de intFunc:

1 MsgBox "El valor de intFunc es" & intFunc

Si ejecuta el Función de salida de llamada, primero llamará a la función ExitFunc. Si ejecuta este código en el modo de depuración, verá que pasará por el bucle 5 veces. En el 5th iteración, el valor de la variable i se convierte en 5 y el código entra en el cuerpo If. Ahora el valor de la ExitFunc se convierte en i y se sale de la función y se devuelve a la Función de salida de llamada. La siguiente línea es MsgBox "El valor de intFunc es" & intFunc:

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave