VBA hacer bucle

¿Estás interesado(a) en aprender VBA y cómo utilizar bucles en tus proyectos? ¡Estás en el lugar correcto! En este artículo, te enseñaremos cómo hacer bucles en VBA, una herramienta poderosa que te permitirá automatizar tareas y agilizar tus procesos de programación. Aquí encontrarás una explicación detallada sobre qué es un bucle, cómo funciona en VBA y ejemplos prácticos para que puedas comenzar a utilizarlo de inmediato. ¡No pierdas la oportunidad de mejorar tus habilidades en VBA y simplificar tus tareas diarias! Sigue leyendo para descubrir todos los secretos de los bucles en VBA.

Ejecute bucles para mejorar la eficiencia de sus modelos financieros

Más de 1,8 millones de profesionales utilizan CFI para aprender contabilidad, análisis financiero, modelado y más. Comience con una cuenta gratuita para explorar más de 20 cursos siempre gratuitos y cientos de plantillas financieras y hojas de trucos.

¿Qué es Do Loop en VBA?

Un bucle do de VBA es una subsección dentro de una macro que se repite hasta que se cumplen ciertos criterios. El codificador puede configurar el bucle para que se repita un número específico de veces hasta que una variable específica supere un umbral o hasta que se active una celda específica. De hecho, los bucles son bastante sólidos porque el usuario puede ser creativo con los criterios que terminan el bucle siempre que comprenda cómo funcionan los bucles VBA. Esto puede resultar muy útil para hacer más eficiente un modelo financiero.

Una declaración Do Loop consta de una declaración inicial y una declaración final, y el código que se ejecutará está contenido en estas dos declaraciones. Esto es similar a la estructura de una macro, donde todo el código de la macro está contenido en la instrucción Sub que inicia una macro y en la instrucción End Sub que la finaliza. Las macros pueden contener múltiples bucles separados y los bucles pueden repetirse dentro de sí mismos indefinidamente.

Para obtener más información, comience nuestro curso de modelado financiero Excel VBA en línea.

Diferentes tipos de bucles

Hay diferentes tipos de bucles y cada tipo tiene un rendimiento diferente.

Hacer un bucle hasta

El bucle Do Until se repite hasta que el criterio sea verdadero. El criterio se inserta directamente después de la declaración “Hacer hasta”. El ciclo termina con la declaración “Bucle”. Un ejemplo simple de este bucle es incrementar un contador hasta que alcance un número determinado, como en el ejemplo siguiente.

Dim n como un número entero

norte = 0

Haz esto hasta n=10

norte = norte + 1

Cinta

En este ejemplo, hemos establecido una variable entera llamada “n”. La macro inicialmente almacena un valor de 0 en n. Cuando se ejecuta en el bucle Do Until, el criterio n = 10 no es verdadero, por lo que el proceso se ejecuta dentro del bucle. La primera iteración suma 1 a n y convierte el valor en 1. Como n todavía no es 10, el proceso se repite 10 veces hasta que n sea 10. Una vez n = 10, la macro pasa por el bucle y continúa con el resto de la macro.

Este tipo de bucle con un número entero es útil para ejecutar un proceso una cantidad específica de veces. Por ejemplo, es posible que desee completar las primeras diez filas de la columna A con el texto “Empresa n”. Esto se hace de la siguiente manera:

Dim n como un número entero

norte = 0

Haz esto hasta n=10

norte = norte + 1

Rango(“A” y n). Valor = “Empresa” y n

Cinta

Cuando ejecute esta macro, la celda A1 se completará con la empresa 1, la celda A2 con la empresa 2, y así sucesivamente hasta que la celda A10 se complete con la empresa 10. En la celda A10, se cumple el tercer criterio n = 10 y la macro saldrá del bucle y seguirá adelante.

VBA hacer bucle

Para obtener más información, comience nuestro curso de modelado financiero Excel VBA en línea.

Haz un bucle while

A diferencia del bucle do-until, el bucle do- while ejecuta el bucle hasta que el criterio se vuelve falso. En otras palabras, el bucle Do se ejecutará siempre que se cumplan los criterios. Parece ser exactamente lo opuesto al ciclo de hacer.

Si utilizamos exactamente el mismo ejemplo de macro que el anterior pero reemplazamos “hacer hasta” por “hacer mientras”, la macro simplemente se saltará el bucle. Esto se debe a que n es 0 al comienzo del proceso y el ciclo solo se ejecutará cuando n = 10. Dado que n solo puede llegar a 10 durante el proceso del ciclo, nunca podrá llegar a 10, por lo que se omite el ciclo.

Para realizar el mismo proceso dentro del ciclo do while, deberíamos usar una desigualdad en su lugar.

Dim n como un número entero

norte = 0

Haga esto siempre que n < 11

norte = norte + 1

Rango(“A” y n). Valor = “Empresa” y n

Cinta

Tenga en cuenta que la desigualdad usa 11 en lugar de 10. Esto se debe a que la macro debe ejecutarse hasta llegar a la empresa 10. Si el criterio del bucle se estableciera en n < 10, el bucle terminaría en la empresa 9 porque solo se ejecutará siempre que n sea menor que 10. Dado que 10 no es menor que 10, termina justo antes de llegar a la empresa 10.

VBA hacer bucle

Múltiples criterios con Y y O con bucle Do

Estos bucles también le permiten incluir múltiples criterios al incluir dos expresiones separadas por el operador Y u O. Estos operadores se explican por sí solos.

Se ejecuta un bucle de inclinación con dos criterios separados por AND hasta que se cumplan ambos criterios. Se ejecuta un bucle de inclinación con dos criterios separados por OR hasta que se cumpla uno de los criterios.

Se ejecuta un bucle do- while con dos criterios AND siempre que se cumplan ambos criterios.

Se ejecuta un bucle do- while con dos criterios OR siempre que se cumpla al menos uno de los criterios.

El uso de múltiples criterios puede llegar a ser muy importante en la modelización financiera. Por ejemplo, un usuario puede requerir que dos ratios de apalancamiento estén por encima de ciertos valores antes de ejecutar una macro específica.

Criterios no numéricos en el bucle Do

En un bucle for, el proceso anterior se puede simplificar. El bucle for tiene la ventaja sobre los bucles do de que crea automáticamente una variable en lugar de n en un simple paso. Sin embargo, los bucles do tienen ciertas ventajas en comparación con los bucles for.

Mientras que los bucles for generalmente solo se pueden usar con variables numéricas, los bucles do pueden tener criterios que usan otros tipos de datos, como cadenas y fechas. Se puede configurar un bucle Do para que solo se ejecute hasta que lleguen ciertos datos. Por ejemplo, es posible que el usuario desee que la macro se ejecute solo durante el año 2017 y no cuando pase el año. Esto se puede lograr con una variable de fecha y estableciendo el criterio en “Hacer antes”. [DateVariable] = 01/01/2018.

Tal vez, en cambio, el usuario quiera que la macro se ejecute solo mientras una celda en particular esté vacía y no cuando esa celda esté llena. Esto se puede lograr con el criterio “Hacer hasta rango (“A5”). Valor = “”. El “” se refiere a una celda vacía. Nota: Una celda que contiene un espacio puede aparecer en blanco, pero VBA no la considerará una celda en blanco.

Para obtener más información, comience nuestro curso de modelado financiero Excel VBA en línea.

Recursos adicionales

Gracias por leer esta guía de CFI sobre cómo crear un bucle Do en VBA. Para desarrollar aún más sus habilidades, estos recursos adicionales de CFI le resultarán útiles:

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Deja un comentario

¡Contenido premium bloqueado!

Desbloquear Contenido
close-link