VBA - Bucles de ejecución

UN Do…WhileEl bucle se utiliza cuando queremos repetir un conjunto de declaraciones siempre que la condición sea verdadera. 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…While bucle en VBA.

Do While 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…whileloop para comprobar la condición al comienzo del ciclo. Las declaraciones dentro del ciclo se ejecutan, solo si la condición se vuelve Verdadera.

Private Sub Constant_demo_Click()
   Do While i < 5
      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 : 1

The value of i is : 2

The value of i is : 3

The value of i is : 4

The value of i is : 5

Sintaxis alternativa

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

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

Ejemplo

El siguiente ejemplo utiliza Do…whileloop 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 falsa.

Private Sub Constant_demo_Click() 
   i = 10
   Do
      i = i + 1
      MsgBox "The value of i is : " & i
   Loop While i < 3 'Condition is false.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