Esta instrucción permite ejecutar un grupo de sentencias contenidas en el ámbito, hasta que determinada condición se cumpla.

La condición que determinar el término de las iteraciones debe ser resultado de algún cálculo al interior del ámbito o debe haber sido leído en él.
Sintaxis:
DO
[ Sentencias ]
LOOP UNTIL Expresión_de_Comparación
Como decíamos, Expresión_de_Comparación debe contener una relación lógica capaz de ser verdadera o falsa.
Observación:
Tome nota de la diferencia en el uso de la instrucción FOR, WHILE y DO. El uso de cada una de ellas es diferente y se emplea en diferentes contextos.
La instrucción FOR se emplea para repetir un bucle un número determinado de veces.
La instrucción WHILE se emplea para repetir el bucle siempre que la condición se cumpla.
La sentencia DO es lo mismo que WHILE, excepto que While pregunta antes de ejecutar el bucle, mientras que Do ejecuta el bucle y luego verifica la condición.
Ejemplo 17
Reescriba el procedimiento de la calculadora usando la instrucción DO … Loop Until
Como se puede apreciar, sólo cambiamos la instrucción While y la condición la hemos pasado al final, luego de leer el código de operación para una siguiente operación.
Sub Hasta()
Dim Op As Double
Op = Val(InputBox("Ingrese un número"))
Code = InputBox("Codigo de operación")
Do
Select Case Code
Case "+"
Op = Op + Val(InputBox("Digite el número"))
Case "-"
Op = Op - Val(InputBox("Digite el número"))
Case "*"
Op = Op * Val(InputBox("Digite el número"))
Case "/"
Op = Op / Val(InputBox("Digite el número"))
Case "^"
Op = Op ^ Val(InputBox("Digite el número"))
Case Else
MsgBox ("Código inválido. Reinicie todo...")
End
End Select
Code = InputBox("Código de operación")
Loop Until Code = "="
MsgBox ("Resultado = " & Op)
End Sub
Síguenos en: Facebook Sobre aulaClic Política de Cookies