Macro para % de avance de Macro con un Progressbar

Tengo una Macro que tarda como 5min en ejecutarse. El usuario se desespera por que no sabe si la Macro sigue funcionando. ¿Hay algún código que pueda añadir que indique el % de ejecución de la Macro?. Se me ocurre algo así como que cada 10 líneas de código calcule el % de Líneas ejecutadas entre Líneas de Código. ¿Es posible?

1 Respuesta

Respuesta
1

07/10/16

Buenas noches, Federico

Las nuevas versiones de MS Excel ya cuentan con un control progressbar en VBA.

Para activarlo en el editor de VBA inserta un Userform y vé a Herramientas, donde seleccionarás controles adicionales. Luego busca

Que luego podrás agregar a ese userform.

Dicho esto, hay una opción más general y donde tendrías más control, que -por derechos intelectuales- sólo te pasaré el vínculo para que lo leas:

http://www.excel-easy.com/vba/examples/progress-indicator.html 

Creo que te será de gran ayuda.

Saludos

Fernando

(Buenos Aires, Argentina)

.

Gracias por tu respuesta!. 

Como podría hacer el código para que muestre el % de avance de la Macro?. Entiendo que en el ejemplo i es la celda que se esta calculando y lo que necesito es que i sea la Linea de la macro que se esta ejecutando. 

Sub code()
Dim i As Integer, j As Integer, pctCompl As Single
For i = 1 To 100
    For j = 1 To 1000
        Cells(i, 1).Value = j
    Next j
    pctCompl = i
    progress pctCompl
Next i
End Sub

Muchas Gracias!

.

Efectivamente, la rutina que pasaste simplemente llena cada celda del rango de 100 celdas con un valor que va de 1 a 1000. Desde luego no tiene mucho sentido salvo para mostrar como se vé el avance de la barra en tareas lentas.

Respecto a tu petición de asociarla a las líneas de tu rutina, deberías intercalar luego de cada una, algo como esto

i = i + 10

PctCompl = i/100

Progress pctCompl

Con lo cual vas incrementando un 10% a cada paso en tu rutina.

El resto seguiría como explica aquel artículo

Espero que te quede bien así.

Abrazo

Fer

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas