Saltar al contenido

Consulta sobre ejecutar macro n veces en un rango de celdas


Galactico

Recommended Posts

publicado

buenas noches, dispongo de una macro que me entrega para cada celda un valor distinto de 0 (dentro de un rango de celdas), al utilizar ciclo for, no obtengo todos los resultados inmediatamente (algunas celdas siguen con valor 0, por la naturaleza de los datos de entrada), por lo que debo ejecutar la macro varias veces hasta que se rellenen todos los datos del rango con un valor distinto de 0 

 

como puedo ejecutar la macro de forma automática varias veces, hasta que todos los valores de mi rango, sean distintos de 0?

 

muchas gracias

 

publicado

Hola @Galactico, en ese caso debes buscar como utilizar los ciclos while, te adjunto un código que recorre un rango de celdas colocando un número aleatorio y con el while indico que la instrucción debe repetirse hasta que el número que entrega sea mayor a 50.

Sub aleatoreo()
Dim c As Range

For Each c In Range("A1:A7")

    num = 0
    
    While num < 50 ' El ciclo while se repite si num es menor a 50
    
        num = Int((100 * Rnd) + 1) 'Generamos un número aleatorio
    
    Wend
    
    c = num

Next

End Sub

Saludos.

publicado

Lo mismo pero de otra forma, suponiendo que tu rango de celdas fuera A1:B6:

Do Until WorksheetFunction.CountIf(Range("A1:B6"), ">0") = 0

'Tu macro

Loop

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.