¿Qué es un bucle en VBA??
Los bucles son una de las herramientas de programación más potentes de VBA, y permiten a los usuarios repetir el mismo bloque de código varias veces hasta que se alcance un punto específico o se cumpla una condición determinada. Una vez que se cumple la condición, el programa ejecuta la siguiente sección del código.
Antes de continuar, utilice el siguiente formulario para obtener acceso a nuestra completa hoja de trucos de VBA para obtener una visión general de los códigos y macros clave, la terminología y las mejores prácticas en Excel VBA.
El comando Loop permite a los usuarios recorrer un conjunto de valores en un estado o grupos de estados y analizar cada valor individualmente. En lugar de repetir un bloque de código varias veces, permite a los usuarios escribir unas pocas líneas de código y lograr un resultado significativo sin la necesidad de escribir código para cada una de las tareas repetitivas.
Resumen
Tipos de bucles en Excel
Hay varios tipos de bucles VBA en Excel que ayudan a los usuarios a automatizar tareas que de otro modo requerirían largas líneas de código. Los siguientes son los principales tipos de bucles en Excel:
1. Bucle Do Until
El bucle Do Until continúa repitiéndose hasta que la condición se cumple o la condición especificada se evalúa como TRUE. Las sentencias Do Until continuarán ejecutándose mientras la condición sea falsa. Los criterios se especifican inmediatamente después del “Hacer Hasta que” y termina con la sentencia de bucle.
La sintaxis para el bucle Do Until puede tomar las siguientes dos opciones:
Opción 1:
Do [Hasta que la condición]
[Bloque de código a ejecutar]
Bucle
Opción 2:
Do
[Bloque de código a ejecutar]
Bucle [Hasta la condición]
La principal diferencia entre las opciones 1 y 2 anteriores es cuando se comprueba la condición Until. En la primera opción, la condición Until se comprueba primero antes de ejecutar los bloques de código. Por otro lado, en la segunda opción, se ejecuta primero el bloque de código y se comprueba la condición Until.
En la primera opción, si la condición Until es verdadera, el bloque de código no se ejecutará, mientras que, en la segunda opción, el bloque de código se ejecutará al menos una vez, ya que la condición Until se comprueba después de que se haya ejecutado el código.
Ejemplo de Bucle Do Until
En el siguiente ejemplo, sumamos los diez primeros enteros positivos utilizando el bucle Do Until en VBA. El código se ejecutará hasta que el siguiente número sea menor o igual a 10. Una vez que el número sea mayor a 10, el bucle se detendrá. El código VBA para el bucle será el siguiente:
Sub AñadirPrimeros10IntegrantesPositivos()
Dim i As Integer
i = 1
Do Until i > 10
Resultado = Resultado + i
i = i + 1
Bucle
MsgBox Resultado
End Sub
2. Bucle Do While
El bucle Do While permite a los usuarios ejecutar continuamente una sección de código mientras la condición se cumple o se evalúa a TRUE.
La sintaxis de un bucle Do While es la siguiente:
Do while [Declaración de condición]
[Bloque de código a ejecutar]
Bucle
Alternativamente, la sintaxis del bucle Do While puede ser la siguiente
Do While
[Bloque de código a ejecutar]
Bucle [Condición]
La principal diferencia entre las dos opciones de sintaxis es cuándo se comprueba la declaración de la condición. En la primera opción, la condición se comprueba antes del inicio del bucle. Una vez que la declaración se comprueba, el programa pasa a ejecutar el código escrito debajo de la declaración Do While para ayudar a controlar el número de bucles. El código del bucle sólo se ejecutará si la declaración de la condición no se ha cumplido. Si la condición se satisface, el código dejará de ser un bucle.
En la segunda opción, el bloque de código se ejecutará primero, mientras que la declaración de la condición se comprobará a continuación. Si la condición no se cumple, el bloque de código se ejecutará al menos una vez mientras se comprueba la declaración de la condición. Es opuesta a la sintaxis de la Opción 1, donde el bloque de código debajo de la declaración de condición no se ejecutará ni una sola vez si la condición se cumple.
Ejemplo
Supongamos que queremos sumar 10 enteros positivos utilizando el bucle Do While en VBA. En este caso, podemos utilizar el bucle Do While hasta que el siguiente número sea menor o igual a 10. Cuando el número sea superior a 10, el bucle se detendrá. Aquí el código VBA para el bucle es el siguiente:
Sub AñadirPrimeros10EntrerosPositivos()
Dim i As Integer
i = 1
Do While i <= 10
Resultado = Resultado + i
i = i + 1
Bucle
MsgBox Resultado
End Sub
3. Bucle For
El bucle For es una estructura de control que permite al usuario escribir un bucle que se ejecutará un número específico de veces. En este caso, el usuario especifica el número de veces que quiere que se ejecute el bucle. El bucle For se clasifica en Bucle Next y Bucle For Each.
La sintaxis de un bucle For se escribe de la siguiente manera:
For counter = start To end [Valor del paso]
[Bloque de código a ejecutar]
Siguiente [Contador]
Más recursos
Para seguir desarrollando sus conocimientos y avanzando en su carrera, los recursos adicionales de nuestro sitio web que figuran a continuación le serán de utilidad: