Excel VBA Do While Loop
Do While Loop significa hacer algo mientras la condición es VERDADERA. Es como una función lógica que funciona en base a VERDADERO o FALSO. Entonces, si la condición es VERDADERA, seguirá ejecutando la instrucción dentro del ciclo, pero si la condición es FALSA de inmediato, saldrá de la instrucción Do While. El funcionamiento de VBA Do While Loop se muestra en la figura siguiente.
Sintaxis de Do While Loop en VBA Excel
Do While Loop tiene dos tipos de sintaxis en Excel VBA.
Ambos se ven muy similares y hay una simple diferenciación en ellos.
En la primera sintaxis, el bucle "Do While" verifica primero la condición y da el resultado de la condición como VERDADERO o FALSO. Si la condición es VERDADERA, ejecutará el código y realizará una tarea específica y si la condición es FALSA, saldrá del bucle.
En la segunda sintaxis, el bucle "Do" primero ejecutará el código y luego probará si la condición es VERDADERA o FALSA. Si la condición es VERDADERA, volverá nuevamente y realizará la misma tarea. Si la condición es FALSA, saldrá inmediatamente del bucle.
Ejemplo de Excel VBA Do While Loop
Si no ha entendido nada en la teoría, no se preocupe. Le explicaré el conjunto simple de ejemplos para tener un conocimiento justo sobre este ciclo.
Puede descargar esta plantilla VBA Do While Loop Excel aquí - Plantilla VBA Do While Loop ExcelAhora realizaremos la tarea de insertar los primeros 10 números de serie de la celda A1 a A10. Siga los pasos a continuación para aplicar el bucle "Do While".
Paso 1:
Cree un nombre de macro primero.
Código:
Sub Do_While_Loop_Example1 () End Sub
Paso 2:
Defina una variable como "Larga". He definido "k" como tipo de datos largo.
Código:
Sub Do_While_Loop_Example1 () Dim k As Long End Sub
Paso 3:
Ahora ingrese la palabra "Do While". Y después de comenzar el nombre del bucle, ingrese la condición como “k <= 10”.
Código:
Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 End Sub
Etapa 4:
Ahora, usando la propiedad CELLS, permite insertar números de serie.
Código:
Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 Cells (k, 1) .Value = k End Sub
Nota: Aquí la variable "k" comienza desde 1, por lo que al principio el valor de k es igual a 1. Donde sea que "k" sea igual a 1.
Paso 5:
Ahora cierre el ciclo ingresando la palabra "LOOP".
Código:
Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 Cells (k, 1) .Value = k Loop End Sub
Ok, ya hemos terminado. Para una mejor comprensión, pruebe este código uno por uno presionando la tecla F8 una vez.
Primero presione la tecla F8, resaltará el nombre de la macro en color amarillo.
Ahora, una vez más, presione la tecla F8 y saltará a Do While Loop. Coloque el cursor en "k" y vea cuál es el valor.
Entonces, K = 0. La razón por la cual "k" es igual a cero ahora porque el ciclo no se comienza a ejecutar aquí. Presione F8 una vez más y vea cuál es el valor.
Aún así, el valor "k" es cero. Bien, hagamos una cosa ahora, pare la ejecución de la macro y asigne el valor de "k" como 1 antes de que comience el ciclo.
Ahora dentro del bucle, reasigne el valor k como k = k +1.
Ahora comience el proceso de ejecutar el código línea por línea presionando la tecla F8. Comience a presionar F8 y vea cuál es el valor cuando ejecuta el ciclo "Do While".
Código:
Sub Do_While_Loop_Example1 ()
Dim k As Long
k = 1
Hacer Mientras k <= 10
Celdas (k, 1) Valor = k
k = k + 1
Lazo
End Sub
Entonces, el valor de "k" es igual a 1. Donde sea que "k" sea igual al valor de 1. Entonces, la línea de celdas de código (k, 1). Valor = k es igual a:
Celdas (1, 1). Valor = 1, es decir, el valor de la fila 1 y la columna 1 (celda A1) es igual a 1.
Presione la tecla F8 y ejecute la acción dentro del bucle.
Ahora, mire el valor en la celda A1.
Entonces obtuvimos el valor de 1 en la celda A1.
Ahora ejecute la siguiente línea presionando la tecla F8 y vea cuál es el valor de "k".
Entonces, ahora el valor de k es igual a 2. Entonces, donde sea que esté k, es igual a 2.
Presione la tecla F8, ahora el código volverá a probar el valor de k.
Ahora presione dos veces más la tecla F8 y vea cuál es el valor en la celda A2.
De esta manera, Do While Loop sigue ejecutando la tarea de insertar números de serie hasta que el valor de k alcance 11. Ahora ya he ejecutado línea por línea hasta que el valor de k sea 10.
Ahora, si presiono una vez más la tecla F8, volverá a probar la condición pero no ejecutará la línea de código porque el valor de k es más de 10 ahora.
Si presiono la tecla F8, saldrá inmediatamente del bucle y pasará a End Sub.
El resultado final se da de la siguiente manera.
Al igual que este VBA Do While Loop puede usarse para realizar el mismo conjunto de tareas hasta que la condición dada sea VERDADERA.
Cosas para recordar
- VBA Do While Loop ejecuta la tarea hasta que la condición sea VERDADERA.
- También podemos probar la condición al comienzo del ciclo o también al final del ciclo.
- La condición de movimiento es FALSA, saldrá del bucle y no realizará la tarea.
Artículos recomendados
Esta ha sido una guía de VBA Do While Loop. Aquí discutimos cómo usar Excel VBA Do While Loop junto con algunos ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:
- ¿Cómo usar la función FIND en Excel?
- Métodos para usar la función VBA en Excel
- Formas de usar la función VBA en Excel
- ¿Cómo utilizar la función VBAOKUP VBA?