Ejercicios con el bucle Do Until Loop de Vba

El bucle Do Until en VBA para Excel le permite ejecutar repetidamente un bloque de código hasta que se cumpla una determinada condición. Es una herramienta útil para tareas que requieren procesos iterativos hasta que se cumplan criterios específicos o se cumplan condiciones.

Estructura básica:

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

Explicación:

  1. Do: Inicia el bucle.
  2. Código: Se ejecutan las instrucciones dentro del bloque de código.
  3. Until condición: Evalúa la condición al final de cada iteración. Si la condición es falsa, el bucle se repite. Si la condición es verdadera, el bucle termina.
  4. Loop: Marca el final del bucle.

Ejemplo 1:

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

Dim numero As Double

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

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

Ejemplo 2:

Buscar un valor específico en un rango de celdas:

Dim celda As Range
Dim valorBuscado As String
Dim encontrado As Boolean

valorBuscado = InputBox("Ingrese el valor que desea buscar: ")
encontrado = False

Do Until encontrado Or celda Is Nothing
    Set celda = NextCell(ActiveCell)
    If celda.Value = valorBuscado Then
        encontrado = True
        MsgBox "El valor " & valorBuscado & " se encontró en la celda " & celda.Address
    End If
Loop

If Not encontrado Then
    MsgBox "El valor " & valorBuscado & " no se encontró en el rango seleccionado."
End If

Ejemplo 3:

Generar números aleatorios hasta obtener uno que cumpla con una condición:

Dim numeroAleatorio As Double
Dim rangoMinimo As Double
Dim rangoMaximo As Double

rangoMinimo = InputBox("Ingrese el rango mínimo: ")
rangoMaximo = InputBox("Ingrese el rango máximo: ")

Do Until rangoMinimo <= numeroAleatorio And numeroAleatorio <= rangoMaximo
    numeroAleatorio = Rnd * (rangoMaximo - rangoMinimo + 1) + rangoMinimo
Loop

MsgBox "Se generó el número aleatorio: " & numeroAleatorio

Recuerda:

  • La condición del bucle Do Until 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 que la condición del bucle eventualmente se vuelva verdadera para evitar bucles infinitos.
  • Puedes anidar bucles Do Until 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 *