Excel VBA Break For Loop

VBA Break se usa cuando queremos salir o romper el ciclo continuo que tiene ciertos criterios fijos. El bucle For está dentro del rango de alcance define las declaraciones que se ejecutan repetidamente durante un número fijo de tiempo. A veces, cuando usamos cualquier condición de bucle en VBA, a menudo sucede que el código sigue ejecutándose sin fin ni interrupción. Para evitar este tipo de situaciones, se recomienda utilizar algunas interrupciones o funciones de salida mediante las cuales podemos salir del bucle con la salida medible de la macro.

¿Cómo utilizar Excel VBA Break for Loop?

Aprenderemos cómo usar un VBA Break for Loop con algunos ejemplos en Excel.

Puede descargar esta plantilla Excel de VBA Break for Loop aquí - Plantilla VBA Break for Loop Excel

Ejemplo # 1 - VBA Break For Loop

Veremos un ejemplo en el que, cuando se usa el bucle For, la disposición de criterios no se romperá. Pero para solucionar esto usaremos el bucle If-End . Para esto, necesitamos un Módulo donde escribiremos este código.

Siga los pasos a continuación para usar Break for Loop en Excel VBA.

Paso 1: Abra un nuevo módulo, vaya a la ventana de VBA y seleccione Módulo en la opción de menú Insertar.

Paso 2: Esto nos llevará a un nuevo módulo en VBA. Ahora en ese módulo escriba Subcategoría en el nombre de VBA Break For Loop o en cualquier otro nombre que defina su significado.

Código:

 Sub VBABreak1 () End Sub 

Paso 3: Ahora defina un DIM como cualquier alfabeto o palabra. Esto le da una identidad. Aquí estamos usando el alfabeto "A" a continuación.

Código:

 Sub VBABreak1 () Dim A End Sub 

Paso 4: ahora asígnelo como Entero que se usa para números solo como se muestra a continuación.

Código:

 Sub VBABreak1 () Dim A como número entero Sub Sub 

Paso 5: Ahora asigne un valor numérico al Entero A. Digamos que es 10 como se muestra a continuación.

Código:

 Sub VBABreak1 () Dim A como entero A = 10 End Sub 

Paso 6: Ahora inicie un bucle For y considere cualquier valor inicial de A. Es mejor tomar este valor como cero. Esto se vuelve fácil para el cálculo.

Código:

 Sub VBABreak1 () Dim A como número entero A = 10 For A = 0 To A Step 2 End Sub 

Paso 7: Y para imprimir el valor almacenado en A, utilizaremos un cuadro de mensaje que obtendrá su valor. También puede usar cualquier forma de oración para hacer que el cuadro de mensaje sea más significativo, lo cual es opcional. Lo hemos usado como se muestra a continuación.

Código:

 Sub VBABreak1 () Dim A como entero A = 10 For A = 0 To A Step 2 MsgBox ("El valor es A es:" & A) Next End Sub 

Paso 8: Ahora compile el código paso a paso usando la tecla funcional F8 y luego ejecute el código haciendo clic en el botón Reproducir como se muestra a continuación. Veremos que la salida en cada paso será de 0 a 10 en el intervalo de pasos de 2 como se muestra a continuación.

Paso 9: Ahora, por último, cierre For Loop y también use Next al final. El "Siguiente" se usa cuando estamos usando números en el código.

Código:

 Sub VBABreak1 () Dim A como entero A = 10 para A = 0 a A Paso 2 MsgBox ("El valor es A es:" & A) Salir para el siguiente extremo Sub 

Paso 10: Esto muestra que el ciclo no está completo y necesitamos completar los criterios de salida para salir del ciclo For. Y para eso, usaremos la condición de bucle If-End. Considere escribir el bucle If para el mismo entero A. Aquí elija el límite hasta que desee ejecutar el bucle. Lo hemos considerado como 4.

Código:

 Sub VBABreak1 () Dim A como número entero A = 10 For A = 0 To A Step 2 MsgBox ("El valor es A es:" & A) Si A = 4, salga para el siguiente extremo Sub 

Paso 11: Ahora agreguemos un criterio más en el que usaremos cuántas veces se multiplicaría por cualquier número. Digamos que es 10. Puede elegir cualquier otro número en lugar de 10. Pero usar 10 facilita la comprensión del ciclo de multiplicación.

Código:

 Sub VBABreak1 () Dim A como entero A = 10 Para A = 0 A A Paso 2 MsgBox ("El valor es A es:" & A) Si A = 4 Entonces A = A * 10 Salir para el siguiente extremo Sub 

Paso 12: Ahora use nuevamente el cuadro de mensaje de nombre como lo hemos usado para el ciclo For y finalmente cierre la instrucción If Loop with End if como se muestra a continuación.

Código:

 Sub VBABreak1 () Dim A como número entero A = 10 For A = 0 To A Step 2 MsgBox ("El valor es A es:" & A) Si A = 4 Entonces A = A * 10 MsgBox ("El valor es A es : "& A) Salir para End If Next End Sub 

Paso 13: Compile nuevamente el código y ejecútelo. For Loop comenzará mostrando un mensaje con valor 0 y luego seguido por 2, 4 y terminando en 40. Lo que significa que For Loop se rompió cuando estaba en la iteración y tomó el último valor como 40.

Ejemplo # 2 - VBA Break For Loop

En este ejemplo, aplicaremos el bucle For y veremos cómo romper el bucle una vez que cumpla con los criterios.

Paso 1: abra un nuevo módulo desde la opción de menú Insertar y asígnele una Subcategoría con cualquier nombre o mejor de forma secuencial como se muestra a continuación.

Código:

 Sub VBABreak2 () End Sub 

Paso 2: Ahora defina un DIM A como Entero. El uso de Integer para la prueba nos permite implementar el código más rápido y depurarlo fácilmente.

Código:

 Sub VBABreak2 () Dim A como número entero Sub Sub 

Paso 3: Ahora inicie un bucle For para un entero definido y dele un rango desde cualquier recuento de filas que comience desde 1. Hemos elegido hasta 20.

Código:

 Sub VBABreak2 () Dim A como entero para A = 1 a 20 End Sub 

Paso 4: Ahora proporcione un rango o ubicación desde donde se imprimen los números en secuencia. Utilizamos ThisWorkBook para seleccionar el archivo abierto actual y las Hojas de trabajo (1) para seleccionar la primera hoja de un libro abierto como se muestra a continuación. Ahora para cerrar el bucle For, escriba Next al final como se muestra a continuación.

Código:

 Sub VBABreak2 () Dim A como entero para A = 1 a 20 ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Paso 5: ejecute el código anterior manualmente o con la tecla de acceso directo F5. Podemos ver que el código ha dado un recuento de números del 1 al 20.

Paso 6: Ahora, para romper el bucle entre 0 y 20, usaremos la condición de bucle If-End if donde daremos los criterios para caer como se muestra a continuación.

Código:

 Sub VBABreak2 () Dim A como número entero para A = 1 a 20 If End If ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Paso 7: Ahora escriba los criterios, si A es mayor que 9 (o cualquier número pero menor que 20), salga por como se muestra a continuación. Suponemos que For Loop debería romperse cuando el loop llegue a 9.

Código:

 Sub VBABreak2 () Dim A como número entero para A = 1 a 20 si A> 9, luego salga para End If ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Paso 8: Ahora compila el código para encontrar el error. Si no se encuentra ningún error, ejecútelo. Veremos los valores enteros A del 1 al 20 hasta que el código salga o se rompa en la posición 9.

Pros de VBA Break For Loop

  • Exit or Break se puede usar no solo para el bucle For sino también en muchos otros bucles, como Do-While.
  • Esto se usa con mayor frecuencia entre todas las condiciones de bucle disponibles en VBA.
  • For Loop es bastante fácil y puede funcionar incluso sin criterios de salida.

Cosas para recordar

  • For loop puede funcionar sin dar los criterios de salida. Puede funcionar bien hasta que los criterios sin Salir rompan el ciclo para finalizar.
  • Es importante romper cualquier bucle que no satisfaga los criterios de salida utilizando Exit en el bucle.
  • Después de escribir el código, guarde el archivo como Macro Enable Excel para que se conserve el código escrito.

Artículos recomendados

Esta ha sido una guía de VBA Break For Loop. Aquí discutimos cómo usar Excel VBA Break For Loop junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. VBA InStr explicado con ejemplos
  2. Tipo de datos enteros de VBA
  3. ¿Cómo seleccionar la celda usando el código VBA?
  4. Transponer un rango en VBA

Categoría: