Ejercicios con el Bucle Do While Loop de VBA

El bucle Do While en VBA para Excel te permite ejecutar un bloque de código de forma repetitiva hasta que se cumpla una condición específica. Es una herramienta útil para realizar tareas que requieren repetir un proceso hasta que se alcance un cierto criterio o se cumpla una condición.

Estructura básica:

Do
    ' Código que se ejecuta en cada iteración del bucle
While condición
Loop

Explicación:

  • Do: el código se ejecuta al menos una vez por ciclo.
  • Código: siga las instrucciones en el bloque de código.
  • While: Modo de evaluación. Si la condición es verdadera, el ciclo se repite. Si la condición es falsa, el ciclo finaliza.
  • Loop: Marca el final de un bucle.

Ejemplo 1:

Sumar celdas de una columna hasta encontrar una celda vacía:

Dim total As Double
Dim celda As Range

Set celda = Range("A1")

Do While Not celda Is Nothing And celda.Value <> ""
    total = total + celda.Value
    Set celda = celda.Offset(1, 0) ' Avanzar a la siguiente celda
Loop

MsgBox "La suma total de la columna A es: " & total

Ejemplo 2:

Solicitar números al usuario hasta que ingrese un valor negativo:

Dim numero As Double

Do
    numero = InputBox("Ingrese un número: ")
Loop Until numero < 0

MsgBox "Ha ingresado un número negativo: " & numero

Ejemplo 3:

Cambiar el color de fondo de las celdas con valores impares en un rango:

Dim celda As Range

For Each celda In Range("A1:C10")
    If celda.Value Mod 2 <> 0 Then
        celda.Interior.Color = vbRed
    End If
Next celda

Recuerda:

  • La condición del bucle Do While se evalúa al final de cada iteración.
  • Puedes utilizar sentencias If y estructuras de control dentro del bucle para controlar el flujo del código.
  • Es importante utilizar una condición que eventualmente se vuelva falsa para evitar que el bucle se ejecute infinitamente.
  • Puedes anidar bucles Do While para crear estructuras de control más complejas.

Más Bucles:

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *