Ejecutar macro automaticamente a una hora.

06/06/2006 - 21:46 por martin | Informe spam
Hola a todos,

Tengo una macro que consiste en copiar y pegar una columna dentro de la
misma hoja. La ejecuto con un boton. Lo que necesito es que se ejecute
todos los dias a las 3 de la tarde automaticamente. Habitualmente tengo ese
libro abierto, pero hay dias que a esa hora no estoy delante de el para
apretar el botonico.

¿Como puedo hacerlo?


Muchas gracias por adelantado.



Salu2


Martin.

Preguntas similare

Leer las respuestas

#1 KL
06/06/2006 - 22:21 | Informe spam
Hola martin,

Mira a ver si te vale alguna de las siguientes conversaciones: http://tinyurl.com/hy2cu

Saludos,
KL


"martin" wrote in message news:e64m1m$v3j$
Mostrar la cita
#2 martin
07/06/2006 - 00:37 | Informe spam
Gracias KL, siempre tan diligente en esta ayuda que no tiene precio.
Bueno, despues de dar muchas vueltas he avanzado algo. Me ha ayudado
sobre todo esta direccion, a la que he accedido desde una consulta del
grupo en ingles:
http://www.ozgrid.com/Excel/run-macro-on-time.htm
Y la ayuda del Visual Basic de excel.
No obstante tengo un problema. Si programo para una hora determinada,
para "activar" el proceso tengo que ejecutar la macro previamente, si no
no pasa nada a la hora en cuestion :-((

Lo que he hecho es poner el el Thisworkbook lo siguiente:

Private Sub Workbook_Open()
Application.OnTime TimeValue("00:25:00"), "copypa"


End Sub


Copypa es mi macro.

Para que se autoejecute tengo que ejecutarla yo primero antes de la hora
especificada (borro la columna) y despues ya se ejecuta sola a las
00:25:00 Si no hago eso, a las 00:25:00 no pasA NADA ¿¿??

Alguna idea? mil gracias


Salu2.

Martin.




Mostrar la cita
#3 Jordi-Albert
07/06/2006 - 01:44 | Informe spam
en el momento de abrir el libro miras la hora.
Si aún no son las 3 entonces ejecutas el OnTime
Si ya lo son entonces haces la copia de la columna

¿Que resulta que son las 4? tampoco pasa nada porque nadie ha abierto el
libro entre las 3 y ahora

"martin" escribió:

Mostrar la cita
#4 KL
07/06/2006 - 13:15 | Informe spam
Hola martin,

Prueba incluir otra instruccion OnTime en el procedimiento "copypa", algo asi:

'--en el modulo ThisWorkbook--
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime Hora, "copypa", False
End Sub

'Si quieres que mientras Excel este abierto
'el libro se abra solo a la hora establecida
'y dispare el procedimiento, borra este
'procedimiento.
Private Sub Workbook_Open()
Application.OnTime Hora, "copypa"
End Sub
'--en el modulo ThisWorkbook--

'--en un modulo estandar--
Public Const Hora = #12:25:00 AM#

Sub copypa()
MsgBox "hola!"
Application.OnTime Hora, "copypa"
End Sub
'--en un modulo estandar--

Saludos,
KL


"martin" wrote in message news:e6502q$v8n$
Mostrar la cita
#5 martin
07/06/2006 - 18:40 | Informe spam
Gracias KL, pero es demasiado lio para mi. Al final he puesto un boton
asociado a una macro:

Sub ACTIVADOR()

Application.OnTime TimeValue("09:00:00"), "NUEVE"
Application.OnTime TimeValue("13:00:00"), "TRECE"



End sub


Y la macro correspondiende "copypa" que he renombrado como "NUEVE" y
"TRECE" para asociarla a las horas a las que se dispara.

En principio la idea era que al estar el libro abierto y el codigo del
activador en el modulo ThisWorkbook, la macro se ejecutara sin mas a la
hora establecida en el OnTime. Como esto no sucedia, he puesto el
activador en un modulo standard. El inconveniente es que hay que
"apretar" el boton despues de abrir el libro para que se "activen" los
OnTime, pero en fin, tampoco es un inconveniente insalvable, al menos
hasta que nos vayamos de vacaciones :-)))


Salu2 y gracias.


Martin.



Mostrar la cita
Ads by Google
Search Busqueda sugerida