Visual Basic para Aplicaciones - Insertar un reloj en macro

Life is soft - evento anual de software empresarial
 
Vista:

Insertar un reloj en macro

Publicado por CoquitoPE (78 intervenciones) el 23/05/2021 04:26:57
Foreros un saludo...
Por favor ayuda: Deseo instalar o agregar un reloj o cronometro en una macro que funcione mientras el programa funciona o hace operaciones en segundo plano. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Insertar un reloj en macro

Publicado por Antoni Masana (409 intervenciones) el 25/05/2021 19:30:12
Y en concreto:
¿Para que quieres el reloj?
¿Que función ha de desempeñar?

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Insertar un reloj en macro

Publicado por CoquitoPE (78 intervenciones) el 13/06/2021 04:01:36
Antoni... Gracias por el interes...
Deseo mostrar un reloj o cronometro... mientras hay un proceso en segundo plano que tarda mucho tiempo.
Puedo mostrar una barra de avance.... pero... deseo el reloj... se puede?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Insertar un reloj en macro

Publicado por Antoni Masana (409 intervenciones) el 13/06/2021 18:40:58
Poder se puede.
Para crear una barra de avance necesitas saber algún dato previa, por ejemplo:
- Si tratas una base de datos de 1000 registros en la barra de avance cuando tengas procesados 50 puedes marcar que has realizado 5% del total.
- Si el proceso tarda 60 minutos cuando lleve 3 ejecutando puedes marcar el 5% realizado.

Otra opción es ir mostrando el tiempo desde que empezó la macro.

Para el primero como no se lo que haces no te voy a contar nada más, para el segundo la cosa es más simple pero según lo que haga la macro puede variar el como lo muestra, una opción es el StatusBar (la barra en la parte inferior de la pantalla del Excel)

¿Comó funciona? Al inicio de la macro haces

1
2
3
4
5
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
 
Inicio = Timer
Anter = int(Timer)

Y en algun punto de la macro donde pases siempre o diferentes puntos dependiendo de los bucles que tenga:

1
2
3
4
If Anter <> Int(Timer) Then
    Anter = int(Timer)
    Application.StatusBar = "Tiempo trascurrido: " & Format(Timer - Inicio, "hh:mm:ss")
End If

Y al Final de las macro:

1
2
Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar
[/code]

Hay otras opciones pero hay que ver como es el libro, que hace la macro y que te gustaría hacer.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Insertar un reloj en macro

Publicado por CoquitoPE (78 intervenciones) el 17/06/2021 03:24:58
Gracias Antoni...
Escribi..."Puedo mostrar una barra de avance.... pero... deseo el reloj... se puede?"
Perdona... insisto en el reloj....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Insertar un reloj en macro

Publicado por Antoni Masana (409 intervenciones) el 17/06/2021 11:46:08
No puedo explicarte más de lo que he explicado.

Sube un libro de ejemplo y dime donde quieres el reloj.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar