Excel VBA Do Loop
VBA Do loop , es un conjunto de instrucciones dentro de un subprocedimiento donde el código se ejecuta un número específico de veces hasta que se alcanza el criterio deseado o se excede cualquier umbral o es seguro decirlo hasta que se obtienen los datos requeridos.
Si bien el ciclo funciona con resultados lógicos, sigue funcionando de un lado a otro mientras la condición de prueba es VERDADERA. En el momento en que la condición de prueba devuelva FALSE, saldrá del ciclo. Los bucles son el corazón de cualquier lenguaje de programación. En nuestros artículos, demostramos la importancia de los bucles y las formas de codificarlos. En este artículo, le mostramos cómo utilizar Do Loop.

¿Cómo utilizar VBA Do Loop?
Ejemplo n. ° 1: condición al final del bucle
Hemos visto la prueba de condición al comienzo del ciclo. En el código anterior, hemos visto el ejemplo de insertar números de serie, y el código era así.
Código:
Sub Do_While_Loop_Example1 () Dim k As Long k = 1 Do While k <= 10 celdas (k, 1) .Value = kk = k + 1 Loop End Sub

Ahora puede ejecutar este código manualmente o mediante la tecla de método abreviado F5 para ver el resultado.
Este código insertará números de serie del 1 al 10.

Pero también podemos probar la condición al final del ciclo. Necesitamos usar la palabra "mientras" y la prueba de condición al final después de la palabra Bucle.
El único cambio aquí es aplicar la prueba al final, como se muestra a continuación.
Código:
Sub Do_While_Loop_Example1 () Dim k As Long k = 1 Do Cells (k, 1) .Value = kk = k + 1 Loop While k <= 10 End Sub

De esta manera, también podemos probar la condición al final de la declaración del ciclo.
Nota: El código se ejecutará y luego probará la condición para volver al bucle una vez más o no. Esto significa que se ejecutará primero y luego probará la situación más tarde.Ejemplo n. ° 2 - Suma usando Do While Loop
Suponga que tiene datos de ventas y costos en su hoja de Excel. A continuación se muestra el conjunto de datos ficticios que he creado para el cálculo.

Ahora necesitamos obtener el valor de las ganancias en la columna C. Ya he creado un código que funcionará por mí.
Código:
Sub Do_While_Loop_Example2 () Dim k As Long Dim LR As Long k = 2 LR = Cells (Rows.Count, 1) .End (xlUp) .Row Do While k <= LR Cells (k, 3) .Value = Cells (k , 1) + Celdas (k, 2) k = k + 1 Loop End Sub

LR = Celdas (Rows.Count, 1) .End (xlUp) .Row
Este código identificará la última fila utilizada en la primera columna. Esto hace que el código sea dinámico porque si hay alguna adición o eliminación de los datos, esto ajustará el tiempo de mi secuencia para ejecutar el ciclo.
k = 2
Queremos que el cálculo se realice a partir de la segunda celda. Entonces el valor inicial de k es 2.
Hacer mientras k <= LR
Como dije, LR encontrará la última fila utilizada en la primera columna. Esto significa que el ciclo se ejecutará mientras k sea <= al valor de LR. En este caso, tengo 10 filas, entonces LR = 10.
El bucle se ejecutará hasta que el valor k llegue a 10. Una vez que la cantidad haya pasado los 10 bucles, se detendrá.
Ahora puede ejecutar este código usando la tecla de método abreviado F5 o manualmente para ver el resultado.

Ejemplo n. ° 3 - Declaración de salida en Do While Loop
También podemos salir del ciclo mientras la condición todavía es VERDADERA. Por ejemplo, tome aquí también los datos anteriores.

Supongamos que usted no desea hacer el cálculo completo, pero sólo es necesario calcular las primeras 5 filas de lucro, y tan pronto como llega al 6 ª fila, que quiere salir del bucle. Esto se puede hacer usando la función SI en Excel. El siguiente código incluye la declaración de salida.
Código:
Sub Do_While_Loop_Example3 () Dim k As Long Dim LR As Long k = 2 LR = Cells (Rows.Count, 1) .End (xlUp) .Row Do While k 6 Then Exit Do Cells (k, 3) .Value = Cells ( k, 1) + Celdas (k, 2) k = k + 1 Loop End Sub

"Si k> 6, salga, haga"
Esta línea de código iniciará el proceso de salida. El bucle seguirá funcionando hasta que el valor de k llegue a 6. En el momento en que exceda de 6, si la condición ejecutará el código, "Exit Do".
Ahora puede ejecutar este código usando la tecla de método abreviado F5 o manualmente para ver el resultado.

Cosas para recordar
- Hacer. El bucle funciona con resultados lógicos y sigue ejecutando el bucle de un lado a otro mientras la condición de prueba es VERDADERA. En el momento en que la condición de prueba devuelva FALSE, saldrá del ciclo.
- Podemos salir del ciclo en cualquier momento ajustando una prueba lógica más dentro del círculo usando la función SI.
- Si la condición o prueba se proporciona en la parte superior del ciclo, primero verificará la prueba y avanzará más solo si es VERDADERA.
- Si la condición o prueba se proporciona al final del ciclo, primero ejecutará el bloque de código dentro de la instrucción del ciclo y, en el futuro, probará la condición para decidir si volver a ejecutar el ciclo una vez más. O no.