Las estructuras de control son fundamentales en la programación, ya que permiten ejecutar bloques de código de manera repetitiva o condicional. Entre las más utilizadas se encuentran las estructuras FOR-NEXT, DO-WHILE, DO-LOOP y DO UNTIL.
las estructuras de control: FOR-NEXT; DO-WHILE; DO-LOOP; DO UNTIL,
Estructura Do Until
* El ciclo del bucle, (acciones dentro del ciclo) son ejecutadas repetidamente hasta que la condición resulta VERDADERA. La repetición continúa siempre y cuando la condición sea FALSA, y termina cuando se hace VERDADERA.
* El ciclo del bucle o las operaciones se ejecutan por lo menos una vez, posteriormente se evalúa la condición que puede resultar verdadera.
Estructura Do-Loop
Dim entrada
entrada = ""
DO WHILE (entrada <> "migue")
entrada = inputbox ("Dime el nombre del autor","seguridad","migue",2,3)
if (entrada = "out") then
msgbox "salgo por la puerta de atras"
exit do
end if
LOOP
Condición expresada al lado del DO: en este caso la condición se evalua antes de empezar a ejecutarse el bucle.
Condición expresada al lado del LOOP: en este caso la condición se evalua después de ejecutarse el bucle. Tiene como diferencia principal frenta al otro método que en este caso el bucle se ejecutará por lo menos una vez.
Además de poder expresar la condición en estos dos sitios también se puede construir la condición con un enunciado mientras (WHILE) o un enunciado hasta (UNTIL). Las diferencias semanticas de estas dos posibilidades se trasladan también a su manera de funcionar.
Vamos a ver un par de ejemplos de este bucle para comprender su funcionamiento. El ejemplo pide cunstantemente el nombre del autor de la página y no para hasta que el nombre sea "migue". También tiene el usuario la posibilidad de escribir "out", en ese caso, comprobado con un enunciado IF, se sale del bucle rompiéndolo con la sentencia EXIT DO, utilizada para romper bucles.
Estructura Do-While
No debemos confundir la representación gráfica de la estructura repetitiva Do While ... Loop (Mientras) con la estructura condicional If (Si)
Funcionamiento: En primer lugar se verifica la condición, si la misma resulta verdadera se ejecutan las operaciones que indicamos por la rama del Verdadero.
A la rama del verdadero la graficamos en la parte inferior de la condición. Una línea al final del bloque de repetición la conecta con la parte superior de la estructura repetitiva.
En caso que la condición sea Falsa continúa por la rama del Falso y sale de la estructura repetitiva para continuar con la ejecución del algoritmo.
Estructura for
En este ejemplo tenemos el bucle FOR NEXT en VBA más sencillo. El bucle cuenta de 1 a 10 y va poniendo en una columna el valor del contador.
For CONTADOR = 1 To 10
fila = CONTADOR
Cells(fila, 1) = CONTADOR
Next
El bucle FOR NEXT en VBA nos permite en Excel (o cualquier otro lenguaje de programación) repetir una acción un número de veces dado. Su sintaxis es la siguiente:
For CONTADOR = COMIENZO To FINAL [Step VALOR_DE_PASO]
'código
[Exit For]
'código
Next