VBA Do hasta bucle

¿Qué es Do until Loop en VBA Excel?

En VBA Do Until Loop , necesitamos definir criterios después de la declaración hasta que significa cuándo queremos que el bucle se detenga y la declaración final es el bucle en sí. Entonces, si la condición es FALSA, seguirá ejecutando la instrucción dentro del ciclo, pero si la condición es VERDADERA inmediatamente, saldrá de la instrucción Do until.

Como las palabras mismas dicen que para hacer alguna tarea hasta que se alcanza un criterio, Do hasta que el bucle se usa en casi todos los lenguajes de programación, en VBA también a veces usamos Do hasta que el bucle. Hacer hasta bucle significa hacer algo hasta que la condición se convierta en VERDADERA. Es como si una función lógica funcionara basada en VERDADERO o FALSO.

Esto es lo opuesto al bucle Do While, donde Do while ejecuta los bucles siempre que la condición sea TRUE.

Sintaxis

El bucle Do until tiene dos tipos de sintaxis.

Sintaxis # 1 

 Hacer hasta [condición] [Realizar alguna tarea] Bucle 

Sintaxis # 2

 Hacer bucle de [Realizar alguna tarea] hasta [condición] 

Ambos se ven muy similares y hay una diferenciación simple.

En la primera sintaxis, el bucle "Do until" comprueba primero la condición y obtiene que el resultado de la condición sea VERDADERO o FALSO. Si la condición es FALSA, ejecutará el código y realizará una tarea específica y si la condición es VERDADERA, saldrá del ciclo.

En el segundo ciclo de sintaxis “Do”, primero ejecutará la tarea de codificación y luego probará si la condición es VERDADERA o FALSA. Si la condición es FALSA, volverá de nuevo y realizará la misma tarea. Si la condición es VERDADERA, saldrá inmediatamente del bucle.

Ejemplo

Sé que no es tan fácil entender nada en la parte de teoría, pero nada de qué preocuparse. Le daremos ejemplos sencillos para comprender el ciclo. Sigue leyendo. Para comenzar el aprendizaje, realicemos la tarea de insertar los primeros 10 números de serie de la celda A1 a A10.

Puede descargar esta plantilla de Excel de VBA Do hasta aquí - Plantilla de Excel de VBA Do hasta

Siga los pasos a continuación para aplicar el ciclo "Hacer hasta".

Paso 1: primero cree un nombre de macro para iniciar el subprocedimiento.

Código:

 Sub Do_Until_Example1 () End Sub 

Paso 2: Defina una variable como "Long".  He definido "x" como un tipo de datos largo.

Dim x tan largo

Paso 3: Ahora ingrese la palabra "Hacer hasta".

Hacer hasta

Paso 4: Después de iniciar el nombre del ciclo, ingrese la condición como "x = 11".

 Hacer hasta x = 11

x = 11 es la prueba lógica que hemos aplicado. Entonces, esta línea dice ejecutar el ciclo hasta que x sea igual a 11.

Paso 5: aplique la propiedad CELLS e insertemos los números de serie del 1 al 10.

Celdas (x, 1) .Valor = x

Nota: Aquí hemos mencionado que "x" comienza desde 1, por lo que al principio el valor de x es igual a 1. Dondequiera que haya "x", es igual a 1.

Paso 6: Ahora cierre el ciclo ingresando la palabra "LOOP".

 Sub Do_Until_Example1 () Dim x As Long Do Hasta x = 11 celdas (x, 1) .Value = x Loop 

End Sub

Ok, hemos terminado con la parte de codificación, ahora probaremos los códigos línea por línea para comprender mejor el ciclo.

Para ejecutar el código línea por línea, primero presione la tecla F8.

Primero resaltará el nombre de la macro con color amarillo.

Cuando puede ver la línea amarilla, dice que eso no se ejecuta a punto de ejecutarse si presiona la tecla F8 una vez más.

Ahora presione la tecla F8 una vez más, la línea amarilla irá a Do until Loop.

Ahora, para entender el ciclo, coloque un cursor en la variable "x" y vea el valor de la variable "x".

Entonces, x = 0. Dado que la línea resaltada es la primera línea en el ciclo, el valor de "x" es cero, entonces presione la tecla F8 una vez más y vea el valor de "x". Antes de esa salida, el código se ejecuta y asigna el valor a "x" como 1.

Ahora vuelva a iniciar la ejecución de un bucle presionando la tecla F8. Vea el valor de "x".

Ahora el valor de "x" se muestra como 1. Para tener un valor incremental para la variable "x" necesitamos reasignar el valor de la variable "x" como x = x + 1 dentro del ciclo.

Ahora presione la tecla F8 una vez más y deberíamos obtener el valor de 1 en la celda A1.

Ahora presione la tecla F8 una vez más y vea cuál es el valor de "x".

El valor de la variable "x" ahora es 2. Entonces, nuestra condición dice que se ejecute el ciclo hasta que la condición se convierta en VERDADERA, por lo que nuestro ciclo seguirá funcionando hasta que el valor de "x" se convierta en 11.

Presione F8 una vez más y volverá a la línea de bucle "Hacer hasta".

Presione la tecla F8 dos veces más, obtendremos el valor de 2 en la celda A2.

Presione la tecla F8 nuevamente y el valor de "x" se convierte en 3 ahora.

Presione la tecla F8 nuevamente y volverá al bucle una vez más.

Así, este ciclo seguirá ejecutando la tarea de nuevo hasta que el valor de "x" se convierta en 11. Ahora he ejecutado el ciclo hasta que el valor de "x" se convierta en 11.

Ahora, si presiono F8, volverá al ciclo.

Pero si presiono la tecla F8 ahora saldrá del ciclo porque la condición aplicada se convierte en "VERDADERA", es decir, x = 11.

Así que ahora tenemos números de serie del 1 al 10 en la hoja de Excel.

Por lo tanto, esta es la idea básica del ciclo "Hacer hasta". Para comprender los bucles, debe ejecutar el código línea por línea hasta que obtenga el conocimiento completo sobre los bucles.