VBA - Bucles de hacer hasta que

UN Do…UntilEl bucle se usa cuando queremos repetir un conjunto de declaraciones siempre que la condición sea falsa. La condición se puede verificar al principio del ciclo o al final del ciclo.

Sintaxis

A continuación se muestra la sintaxis de un Do..Until bucle en VBA.

Do Until condition
   [statement 1]
   [statement 2]
   ...
   [statement n]
   [Exit Do]
   [statement 1]
   [statement 2]
   ...
   [statement n]
Loop

Diagrama de flujo

Ejemplo

El siguiente ejemplo utiliza Do…Untilloop para comprobar la condición al comienzo del ciclo. Las declaraciones dentro del ciclo se ejecutan solo si la condición es falsa. Sale del bucle cuando la condición se cumple.

Private Sub Constant_demo_Click() 
   i = 10
   Do Until i>15  'Condition is False.Hence loop will be executed
      i = i + 1
      msgbox ("The value of i is : " & i)
   Loop 
End Sub

Cuando se ejecuta el código anterior, imprime la siguiente salida en un cuadro de mensaje.

The value of i is : 11

The value of i is : 12

The value of i is : 13

The value of i is : 14

The value of i is : 15

The value of i is : 16

Sintaxis alternativa

También hay una sintaxis alternativa para Do...Untilbucle que verifica la condición al final del bucle. La principal diferencia entre estas dos sintaxis se explica con el siguiente ejemplo.

Do 
   [statement 1]
   [statement 2]
   ...
   [statement n]
   [Exit Do]
   [statement 1]
   [statement 2]
   ...
   [statement n]
Loop Until condition

Diagrama de flujo

Ejemplo

El siguiente ejemplo utiliza Do...Untilloop para comprobar la condición al final del ciclo. Las declaraciones dentro del ciclo se ejecutan al menos una vez, incluso si la condición es Verdadera.

Private Sub Constant_demo_Click()  
   i = 10
   Do 
      i = i + 1
      msgbox "The value of i is : " & i
   Loop Until i<15 'Condition is True.Hence loop is executed once.
End Sub

Cuando se ejecuta el código anterior, imprime la siguiente salida en un cuadro de mensaje.

The value of i is : 11