¿Quiere automatizar tareas repetitivas en Excel VBA? Aprenda a usar el ciclo Do-While para ejecutar un conjunto de acciones repetidamente hasta que se cumpla una condición.

Los bucles son una parte integral de cualquier lenguaje de codificación, y puede automatizar muchas tareas repetitivas mediante el uso de una variedad de bucles, según el lenguaje en cuestión. El VBA de Excel no es diferente de los demás, ya que ofrece una serie de opciones de bucle, cada una con un propósito diferente.

Puede utilizar estos bucles definiendo los puntos de inicio y fin, las condiciones y los parámetros. Uno de esos bucles destacados dentro de VBA es el bucle do-while, que puede utilizar para trabajar con la automatización de datos. Aquí se explica cómo usar el bucle do-while de Excel VBA, una metodología de bucle siempre esencial, que puede simplificar sus tareas manuales en gran medida.

¿Qué es el bucle Do-While en Excel VBA?

El bucle do-while es bastante sencillo; puede usar este ciclo para hacer su oferta si desea generar una salida deseada en base a una condición específica. El ciclo se ejecuta hasta que la(s) condición(es) definida(s) sea(n) Verdadera(s). Una vez que el programa encuentra un valor Falso, el ciclo termina e imprime los resultados en las celdas designadas.

instagram viewer

Puede usar el bucle do-while en varias etapas y con diferentes criterios; incluso puede usar varios bucles dentro del bucle exterior principal para mejorar su uso. Como principiante, debe referirse a elaborar Tutoriales de programación de VBA para ampliar sus conocimientos y habilidades dentro de este dominio.

Sintaxis de Do-While Loop en Excel VBA

El bucle do-while tiene una estructura predefinida, que debe seguir para asegurarse de que funciona sin problemas y sin incurrir en errores. Aquí está la sintaxis para referencia:

Hacermientras [condición_referencia]

[Declaraciones de criterios]

Bucle

El bucle comienza con la palabra clave do-while, seguida de las referencias inicial y final. La primera parte de la sintaxis controla todo el ciclo. A continuación, debe definir las declaraciones que se ejecutarán cada vez que se ejecute el ciclo.

Finalmente, una vez que la condición del ciclo incurre en un valor Falso, la palabra clave del ciclo se ejecuta y sale del ciclo. Esta es una estructura general; puede refinarlo para realizar diferentes acciones. Aquí hay algunos ejemplos para familiarizarse con el funcionamiento de un bucle do-while.

Escribir su primer código de bucle Do-While

Suponga que desea mostrar los múltiplos de dos en la columna A. La condición es imprimir los números hasta que el contador llegue a 20.

Para hacerlo, navegue a la pestaña Desarrollador en su Excel y abra el editor de codificación; alternativamente, presione Alt+F11 para abrir el editor de codificación directamente. Dentro de la ventana del editor de código, haga clic en el Insertar pestaña y agregar un nuevo módulo.

Debe escribir todo el código dentro de esta ventana de módulo. Agregue el siguiente código dentro del módulo:

Subdowhileloop()

atenuar un Como Entero

un = 1

HacerMientras un <= 10

Celdas (a, 1) = 2 * a

un = un + 1

Bucle

Fin Sub

El código explicado

Aquí hay un desglose del código para ayudarlo a dominar los conceptos básicos:

  • Usar subrutina: Para comenzar a escribir el código en Excel VBA, cree una capa exterior con una función de subrutina (Sub). Déle un nombre significativo, que resuene con el propósito del código. En este ejemplo, puede usar el nombre dowhileloop, seguido de ().
  • Definir tipos de datos: La función de dimensión (dim) debe usarse para declarar los tipos de datos variables. Al declarar el tipo de datos, puede hacer que su código sea eficiente y mejorar la velocidad de ejecución. En este caso, la variable a almacena valores enteros, así que use el tipo de datos entero para definirlo. Puede almacenar el número de fila inicial dentro de esta variable, para declarar el punto de datos inicial de su bucle do-while.
  • Definir Condición(es): Ahora es el momento de pasar la condición para controlar el bucle do-while. Puedes usar el hacer mientras palabras clave, seguidas de la condición. Como desea ejecutar el bucle diez veces, utiliza la condición un < = 10.
  • Pase las declaraciones ejecutables: Es importante que sepas la diferencia entre el Función de celdas y función de rango en VBA. La función de celdas utiliza las referencias de fila y columna dentro de VBA. Por ejemplo, durante la primera iteración, cuando el valor de a =1, la fórmula de la celda es (1,1). En la memoria de VBA, esto se traduce en la celda A1. Cada vez que se ejecuta el bucle, el valor de la variable definida aumenta y la referencia se mueve a la siguiente celda disponible.
  • Incrementa tu variable: Puedes pasar un = un + 1 instrucción para incrementar los valores de las celdas. Esto mueve el ciclo a la siguiente parte de la condición; el ciclo continúa ejecutándose hasta que la condición incurre en un valor Falso.
  • Salir de la condición de bucle: Una vez que la condición es Falsa, el bucle sale con la palabra clave Loop y, finalmente, sale de la subrutina con la palabra clave End Sub.
  • Ejecutando el Código: Ya que el código está listo, simplemente presione el botón tecla F5 o el botón verde de reproducción en la barra de menú superior para ejecutar el código.

El resultado final muestra una lista de números del 2 al 20 dentro de la columna A.

Uso de una columna rellenada previamente como condición de bucle

Ahora que ha entendido la sintaxis y los matices de construir una estructura básica, ¿por qué no escribir otro código para imprimir números similares basados ​​en criterios preexistentes? Por ejemplo, puede crear una condición de bucle que seleccione su señal de la columna A e imprima la salida en la columna B.

Según el total de celdas pobladas en la columna A, puede imprimir múltiplos de dos en la columna B. El bucle ejecuta el recuento total de celdas precargadas de la columna A. Dado que el valor de fila inicial es uno (a = 1), el valor final es dinámico y lo calcula automáticamente el bucle do-while.

Utilizando su valor de fila, el código recorre cada celda de la columna A y multiplica el número por 2. El resultado se muestra en la columna B.

Si hay más de diez valores en la columna A, el bucle se ejecutará hasta que encuentre un valor en blanco en la primera columna. De manera similar, puede escribir condiciones aún más complejas dentro del ciclo do-while y usarlo para verificar las condiciones y mostrar la salida según sea necesario.

Uso de una instrucción IF dentro de un ciclo Do-While

Al igual que los bucles anidados, puede usar la declaración IF dentro del bucle Do-While para agregar otra capa de condición. En tal caso, el ciclo do-while ejecuta todo el ciclo hasta que la condición es Falsa, y la instrucción IF interna se ejecuta cada vez que se ejecuta el ciclo.

En el siguiente ejemplo, el bucle do-while recorre cada celda de la columna A, hasta que encuentra una celda en blanco. Posteriormente, la declaración IF verifica el valor de cada celda en la columna A e imprime el resultado en la columna B. Tan pronto como el ciclo externo encuentra una celda en blanco en la columna A, el ciclo se detiene y sale de la subrutina.

La salida es la siguiente:

Hasta que el valor en la columna A sea menor que cinco, el valor resultante en la columna B es cinco. En A6, dado que el valor de la celda es mayor que cinco, la salida resultante es siete, que está sincronizada con la condición IF.

Desentrañando las funcionalidades multifacéticas de VBA

Excel y VBA forman una combinación muy propicia para realizar análisis de datos avanzados. Incluso sin VBA, puede usar varias funciones lógicas de Excel para realizar tareas complicadas, ejemplificando sus habilidades de programación.

Si está interesado en el análisis de datos y utiliza Excel en sus actividades habituales, puede beneficiarse enormemente del uso de las funciones lógicas multifacéticas de Excel.