Introducción a VBA Exit Sub

Salir de Sub parece terminar la subcategoría por su nombre. Pero en realidad, Exit Sub se usa para saltar del sub procedimiento sin dejar que se complete el código completo. Cuando aplicamos Exit Sub entre cualquier código, entonces solo el código antes de que Exit sub se ejecute completamente en VBA Excel. El código después de Exit sub se saltará y saltará todo el código después de eso. Exit Sub generalmente funciona mejor con Do-While Loop.

¿Cómo aplicar Exit Sub usando VBA?

Veamos los ejemplos de Exit Sub en Excel VBA.

Puede descargar esta plantilla VBA Exit Sub Excel aquí - Plantilla VBA Exit Sub Excel

Ejemplo # 1 - Sub de salida de VBA

Paso 1: para aplicar Exit Sub necesitamos un módulo. Para eso, vaya a la ventana de VBA. Haga clic en la pestaña del menú Insertar, obtendremos la lista, desde allí seleccione Módulo como se muestra a continuación.

Paso 2: Después de eso, un Módulo recién abierto, escriba la subcategoría en el nombre de VBA Exit Sub o en cualquier otro nombre como se muestra a continuación.

Código:

 Sub VBA_ExitSub1 () End Sub 

Paso 3: Defina una variable Dim con cualquier nombre, digamos ' A. Y dele la función Entero como se muestra a continuación.

Código:

 Sub VBA_ExitSub1 () Dim A como entero Fin Sub 

Paso 4: Ahora abra un bucle Do While como se muestra a continuación.

Código:

 Sub VBA_ExitSub1 () Dim A como número entero mientras finaliza Sub 

Paso 5: Entre Do Do escribimos un código simple de comparación. Hagamos la adición de la variable A con +1. Lo que significa DO Adición para A con su propio valor +1. Y ejecútelo hasta que obtengamos el valor +1 para la variable A.

Código:

 Sub VBA_ExitSub1 () Dim A como número entero Do A = A + 1 While End Sub 

Paso 6: Ahora, cuánto queremos agregar +1 a A se definirá en la condición Loop While . Lo que dice que DO Loop se ejecutará siguiendo la condición de A + 1 mientras que A es inferior a 100.

Código:

 Sub VBA_ExitSub1 () Dim A como número entero Do A = A + 1 Loop While A <100 End Sub 

Paso 7: Ahora necesitaremos un cuadro de mensaje (que es opcional) para ver la salida del bucle Do While . Para eso inserte MsgBox y dele a la variable A.

Código:

 Sub VBA_ExitSub1 () Dim A como número entero Do A = A + 1 Loop While A <100 MsgBox A End Sub 

Paso 8: Ahora compile el código presionando la tecla F8 para ver si hay algún error en el código o no. Luego ejecute todo el código presionando el botón Reproducir ubicado debajo de la barra de menú como se muestra a continuación. Veremos que el cuadro de mensaje nos ha dado la salida como 100 . Lo que significa que un valor de A es menor que 100 y la fórmula que definimos en DO Loop dice que el valor de A es A + 1. Entonces la respuesta viene como 100.

Paso 9: Ahora, para aplicar Exit Sub en el bucle Do While realizado, debemos agregar la instrucción Exit Sub antes de iniciar Do Loop o después de definir la variable A como se muestra a continuación.

Código:

 Sub VBA_ExitSub1 () Dim A como número entero Salir Sub Do A = A + 1 Loop While A <100 MsgBox A End Sub 

Ahora compile nuevamente el código y ejecútelo, si no se encuentra ningún error.

Observaremos que no hemos encontrado ningún resultado. Esto se debe a que la ejecución del código se ha completado pero se ha saltado al bucle Do While que no proporciona ninguna salida en un cuadro de mensaje.

Ejemplo # 2 - Sub de salida de VBA

Consideremos otro ejemplo. En este ejemplo, veremos cómo Exit Sub funciona al omitir el cambio de color de fuente. Para tenemos algo de texto en la celda C3 como se muestra a continuación. Como podemos ver, el texto está en el color en blanco predeterminado.

Paso 1: para esto, abra un nuevo módulo y asígnele una Subcategoría en el nombre de VBA Exit sub o en cualquier otro nombre adecuado según sus necesidades.

Código:

 Sub VBA_ExitSub2 () End Sub 

Paso 2: Seleccione la celda de rango que tiene el texto. Aquí nuestra celda de rango será la celda C3.

Código:

 Sub VBA_ExitSub2 () Range ("C3"). Seleccione End Sub 

Paso 3: Como necesitamos cambiar el color de la fuente, seleccione la función Fuente y Color simultáneamente en la siguiente línea de código como se muestra a continuación.

Código:

 Sub VBA_ExitSub2 () Range ("C3"). Seleccione Selection.Font.Color = End Sub 

Paso 4: Ahora elija el color de la fuente que queremos cambiar. Y la selección de color comenzará con vb según la configuración de VBA. Aquí, estamos seleccionando Rojo como se muestra a continuación.

Código:

 Sub VBA_ExitSub2 () Range ("C3"). Seleccione Selection.Font.Color = vbRed End Sub 

Paso 5: Ahora compila todo el código de una vez ya que el código es bastante pequeño y ejecútalo. Veremos que el color de la fuente en la celda C3 ahora se cambia al color rojo del negro predeterminado.

Paso 6: Ahora, para aplicar Exit Sub aquí en el código de cambio de color de fuente, coloque la declaración de Exit Sub antes de la línea de código de selección de celdas Range o entre la selección de celda de rango (1 st ) y el color Font (2 nd ) como se muestra a continuación.

Código:

 Sub VBA_ExitSub2 () Range ("C3"). Seleccione Exit Sub Selection.Font.Color = vbRed End Sub 

Paso 7: Ahora vuelve a ejecutar el código. Esta vez notaremos que el color de la fuente del texto en la celda C3 no cambia al color rojo como cambió antes antes de colocar la declaración Exit Sub .

Paso 8: podemos convertir la declaración Exit Sub agregada en texto insertando una sola comilla invertida como se muestra a continuación. Al hacer esto, se convertirá en texto . Después de eso, el color de esa línea se cambiará a color verde.

Código:

 Sub VBA_ExitSub2 () Range ("C3"). Seleccione 'Exit Sub Selection.Font.Color = vbRed End Sub 

Pros de VBA Exit Sub

  • Se ahorra tiempo al volver a escribir un código una y otra vez.
  • Podemos omitir la parte del código que no queremos ejecutar.
  • Es aplicable en todo tipo de funciones.
  • Esto es bastante útil cuando se trabaja en grandes líneas de código donde necesitamos omitir o saltar cierta línea de código.

Cosas para recordar

  • VBA Exit Sub funciona con todo tipo de códigos y funciones, pero funciona mejor con todo tipo de Loop, especialmente DO-WHILE Loop.
  • Salta de la porción de código y ejecuta solo la cantidad de código que está antes de Exit Sub.
  • Exit y End Sub, ambos son diferentes.
  • Se salta y salta del código sin ejecutarlo por completo. Y el código de media ejecución no proporciona ningún resultado adecuado.

Artículos recomendados

Esta es una guía para VBA Exit Sub. Aquí discutimos cómo usar Excel VBA Exit Sub junto con algunos ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. ¿Cómo usar VBA While Loop?
  2. VBA Eliminar duplicados
  3. Comprender los tipos de datos de VBA
  4. VBA Sleep con ejemplos

Categoría: