VBA Break For Loop

Excel VBA Break For Loop

En VBA Break For Loop también se conoce como salida de bucle, cada bucle en cualquier procedimiento se ha dado som11e conjunto de instrucciones o criterios para que se ejecute nuber de tiempo, pero es muy común que algunos bucle entrar en un bucle infinito corrompiendo así el código en tales escenarios que necesitamos romper para o salir de bucle para salir de ciertas situaciones.

Digamos que hemos instruido al bucle para que se ejecute durante 10 veces, y en base a la condición dada, si el valor de la celda o cualquier otro criterio suministrado tiene éxito, entonces tiene que salir del bucle de Excel antes de que complete la cuota de bucle completo de 10. En este artículo, le mostraremos cómo salir del bucle basado en los criterios dados.

VBA Break For Loop

VBA Break For Loop

¿Cómo romper/salir de bucles en VBA?

Puede descargar este VBA Break For Loop Excel Template aquí – VBA Break For Loop Excel Template

#1 – Break For Next Loop

VBA For Next Loop se utiliza para hacer un bucle sobre las celdas y realizar un conjunto específico de tareas. Por ejemplo, mira el siguiente código VBA.

Código:

Sub Exit_Loop() Dim K As Long For K = 1 To 10 Cells(K, 1).Value = K Next KEnd Sub

Esto insertará los números de serie de la celda A1 a la A10.

Break For Loop Ejemplo 1

Break For Loop Ejemplo 1

Esto es lo obvio con For Next Loop.

Ahora quiero romper el bucle cuando se encuentre algún valor en las 10 primeras celdas. Para ello, he introducido algún valor de texto en la celda A8.

Romper el bucle For Ejemplo 1-1

Romper el bucle For Ejemplo 1-1

Ahora quiero instruir esto en el código, diciendo, «si la celda del bucle tiene un valor determinado, tiene que salir del bucle antes del límite predeterminado.»

Código:

Sub Exit_Loop() Dim K As Long For K = 1 To 10 If Cells(K, 1).Value = "" Then Cells(K, 1).Value = K Else Exit For End If Next KEnd Sub

Mira estas líneas de código:

Si Cells(K, 1).Value = «» Then
Cells(K, 1).Value = K
Else
Exit For
End If

Curso popular en esta categoría

Venta

Formación VBA (3 Cursos, 12+ Proyectos)
4.6 (247 ratings) 3 Cursos | 12 Proyectos Prácticos | 43+ Horas | Acceso Completo de por Vida | Certificado de Finalización

Dice If Cells(K, 1). Value = «la celda del bucle es igual a nada continúa el bucle de inserción de números de serie del 1 al 10.

La última parte del bucle dice:

Else

Salir del For

Si la condición anterior no es TRUE, entonces el bucle «Salir del For».

Ahora ejecuta el código. Insertará los números de serie hasta la celda A7.

Salir del bucle For Ejemplo 1-2

Salir del bucle For Ejemplo 1-2

El código anterior sale directamente del bucle sin decir nada; cómo sabemos que ha salido del bucle.

Para despejar esta ambigüedad, tenemos que poner un simple cuadro de mensaje VBA a continuación.

Código:

Sub Exit_Loop() Dim K As Long For K = 1 To 10 If Cells(K, 1).Value = "" Then Cells(K, 1).Value = K Else MsgBox "We got non empty cell, in cell " & Cells(K, 1).Address & vbNewLine & "We are exiting the loop" Exit For End If Next KEnd Sub

Cuando se realiza el bucle a través de la celda, si se encuentra alguna celda no vacía, se mostrará el mensaje que dice: «Tenemos una celda no vacía, en la celda A8. Estamos saliendo del bucle».

Salir para el siguiente bucle 1-3

Salir para el siguiente bucle 1-3

Esto informará al usuario de la salida del bucle con una dirección de celda también. Si se introduce algún valor por error, entonces podemos comprobar la dirección de la celda devuelta en el cuadro de mensaje.

#2 – Romper el bucle Do Until

Al igual que hemos salido del bucle For Next, de forma similar, podemos salir del bucle «Do Until» también. Por ejemplo, mira el siguiente código.

Código:

Sub Exit_DoUntil_Loop() Dim K As Long K = 1 Do Until K = 11 Cells(K, 1).Value = K K = K + 1 LoopEnd Sub

Este código también realiza la tarea de insertar números de serie. Por ejemplo, si deseamos salir del bucle cuando el valor de la variable «k» se convierta en 6, debemos introducir el criterio como IF k = 6 then exit the loop.

Código:

Sub Exit_DoUntil_Loop() Dim K As Long K = 1 Do Until K = 11 If K < 6 Then Cells(K, 1).Value = K Else Exit Do End If K = K + 1LoopEnd Sub

Esto ejecutará el bucle hasta que el valor de la variable se convierta en 6. Después de eso, saldrá del bucle. Si deseas mostrar el mensaje al usuario, entonces puedes añadir el cuadro de mensaje también.

Código:

Sub Exit_DoUntil_Loop() Dim K As Long K = 1 Do Until K = 11 If K < 6 Then Cells(K, 1).Value = K Else MsgBox "We are exiting the loop because k value is >5" Exit Do End If K = K + 1 LoopEnd Sub

Esto mostrará el mensaje de abajo.

Salir del bucle Do Until

Salir del bucle Do Until

Así, en base a los criterios dados, podemos salir del bucle si los criterios son TRUE, o de lo contrario podemos continuar el bucle.

Artículos recomendados

Esta ha sido una guía de VBA Break For Loop. Aquí aprendemos cómo salir/romper el bucle VBA junto con ejemplos paso a paso y una plantilla excel descargable. A continuación se presentan algunos artículos útiles de excel relacionados con VBA –

  • Palabra clave VBA ME
  • VBA Chr
  • VBA UsedRange
  • VBA Wait
  • .
0 Acciones

Formación VBA (3 Cursos, 12+ Proyectos)

  • 3 Cursos
  • 12 Proyectosen proyectos
  • 43+ horas
  • Acceso completo de por vida
  • Certificado de finalización

>>

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *