Visual Basic - retrasar un macro de visual basic

Life is soft - evento anual de software empresarial
 
Vista:

retrasar un macro de visual basic

Publicado por Javi (1 intervención) el 06/10/2006 10:22:42
Hola a tod@s,

tengo un programa en excel (visual basic) que al pulsar un boton ejectua tres macros.

El problema es que uno de los macros, el segundo, se ejecuta al final. esto es debido (supongo) a que es un macro que usa la funcion sendkeys con la que abre un programa que esta arriba, en una pestaña. creo que eso "le cuesta mas", y ejecuta antes las otras dos q son mas sencillas, pero asi no me sirve pq para ejecutar la macro 3 necesito unos datos obtenidos con la macro 2.

por ello, he pensado q una solucion puede ser retrasar unos segundos la ejecucion de la macro 3, para que no se adelante a la 2. ¿alguien sabe si existe un temporizador o algo parecido en visual basic para retrasar una macro? en la ayuda no lo he encontrao

si no existe dicho temporizador, ¿a alguien se le ocurre otra solucion?

Muchas 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

RE:retrasar un macro de visual basic

Publicado por Pedro (93 intervenciones) el 06/10/2006 10:48:55
Prueab esto:

sub espera()

nHora = Hour(Now())
nMinuto = Minute(Now())
nSegundo = Second(Now()) + 1
tEspera = TimeSerial(nHora, nMinuto, nSegundo)
Application.Wait tEspera

End Sub
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

retrasar un macro de visual basic

Publicado por Rodrigo Prias (2 intervenciones) el 18/04/2012 19:33:10
Facil: Insertar la linea

Application.Wait (TimeValue("00:00:10"))
Y la macro esperará 10 segundos.
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

retrasar un macro de visual basic

Publicado por Rodrigo Prias (2 intervenciones) el 18/04/2012 20:03:59
Perdon:

La linea va:

Application.Wait (now + TimeValue("00:00:10")
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