Barra de proceso mientras se ejecuta una macro

Primero que todo gracias por la ayuda presta a todos tengo el siguiente problema, tengo una archivo en excel en este cree un from, hay tengo creados texbox, comboox etc... En el combobox tengo muchas macros. Pasa que al momento de ejecutarlas el usuario no sabe si están trabajando estas macros o no. Entonces lo que necesito es que cuando se ejecuten estas macros aparezca un cuadro donde me diga "espere por favor el proceso se esta ejecutando" y que me aparezca una barra de llenado a medida que este valla terminardo también el porcentaje de lo que lleva lo que tengo yo es lo siguiente pero no me sirve se llena al hacerle click en el Private Sub ProgressBar1 :
ProgressBar1.Max = 50500
For i = 0 To ProgressBar1.Max
' Valor actual del Progressbar
ProgressBar1.Value = i
' Visualizamos el porcentaje en el Label
Label8 = CLng((ProgressBar1.Value * 100) / ProgressBar1.Max) & " %"
DoEvents
Next
y esto en el from
'Le asignamos las propiedades para el mínimo, máximo valor del Progress bar
With ProgressBar1
.Max = 5000
.Min = 0
.Value = 0
End With
Por favor ser muy especifico ya que no me manejo mucho gracias ojala me puedan ayudar
bony

1 respuesta

Respuesta
2
Disculpa la demora. Me pareció ver una consulta finalizada con este titulo por lo que supongo que ya lo tendrás resuelto.
De todos modos te explico un poco el tema.
El ejemplo que obtuviste de mi sitio se aplica a rutinas en hoja, no en Userform. No es fácil adaptarlo, ya que no podemos ejecutar (y mostrar) 2 forms al mismo tiempo.
Lo que suelo hacer en casos así es enviar un Msgbox al inicio de la rutina (generalmente en un botón Aceptar) explicando que el proceso demorará algunos segundos/minutos y que el sistema le enviará otro mensaje cuando finalice. (*)
Entonces además agrego un msgbox al finalizar el proceso diciendo algo como: 'El proceso ha finalizado'.
(*) Si el proceso es lento y demora, quizás quieras en el primer mensaje, darle la opción de que acepte continuar o no, con algo como:
sino = Msgbox("Este proceso se demorará.........¿Desea continuar?", vbyesno)
if sino <> vbyes then exit sub 'cancela el proceso si responde NO o cierra
'tu proceso
Hola elsa gracias po responder el tema lo tengo casi resuelto en realidad cambie el progress bar por crear otro from en resumen tengo from1 y from2 lo único que me falta que al momento de llamar from2 lo hago así from2. show y me sale perfecto pero al momento de querer cerrarlo me sale un error yo lo he tratado de cerra de varias formas pero todas me salen error o no me funcionan cuando termina mis macros yo he colocado from1.close(), me close(), unload from2 pero nada me resulta o me sale error o no hace nada se queda pegado no se que hacer ya lo he intertado todo y todos tien su problema necesito ayuda por fa
?
Bien, pero si el form 2 es solo para mostrarte el progress bar tendrás que cerrarlo para que continúe la primer macro, la extensa.
Mejor resolverlo como te lo indico, está probado que así es la mejor manera.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas