Macros excel

Hola, me puede ayudar, tengo una macro, la cual necesito que se corra diario a las 5:30 pm, en automático. ¿Quisiera saber si esto es posible? Y si lo es como lo puedo hacer.
Ojala y me puedas ayudar.
Gracias

1 respuesta

Respuesta
1
Si es posible, y para lograrlo es muy sencillo solo tienes que poner esto dentro de un modulo:
Sub Auto_open()
Application.OnTime TimeValue("17:30:00"), "TuMacro"
End Sub
¿Dónde TuMacro es el nombre de tu macro dentro del archivo
no se si ya ye hayan resuelto tu duda, lo que pasa es que no estuve disponible estos días pero si tienes alguna duda me avisas, va que va?
Saludos!... cuidate!
Haber si entendí...
Voy a crear otra macro con las lineas que me indicas, y en donde dices"tu macro" voy a ingresar el nombre de mi macro por ej. "calculardias"
O sea
Sub Auto_open()
Application.OnTime TimeValue("17:30:00"), "calculardias"
End Sub
y ya???
Otra pregunta como lo tengo que dejar para que corra diario, ¿abierto? ¿Puede corre cerrado o como correría?
Mil gracias por tu ayuda, voy a cerrar la otra pregunta para no tener las dos abiertas, lo que pasa es que no vi que eras el mismo experto y la vrd si me urgía saber esto
Espero tu respuesta
Ah ok... mira el ejemplo que te mande en efecto se pone tal cual dices, en un modulo y le cambias el nombre a la que seria tu macro.
Esta macro corre con el simple hecho de abrir el archivo de ahí el open (se guarda en la memoria la hora en que ejecutara la macro) aun cuando después lo cierres, pero se abrirá a la hora marcada para correr la macro.
Solo que tienes que indicar, en la macro que quieres que se ejecute, donde se debe aplicar es decir el nombre del archivo y activarlo o bien con Application. ThisWorkbook. Activate (esto como te digo debe ir en tu macro, "calculardias").
Me comentas como te fue... es que hay otras formas pero no se cual te sirva más y de las otras tendría que acordarme
jajajaj, adivina q!!!!
Ya no entendí, estuve probando las lineas que me mandaste y no corre... y lo que me dice la vrd no entendí mucho. La macro que quiero correr a las 5:30 diario la tengo como "calculardias", entonces en la macro nueva la puse tal cual
Sub Auto_open()
Application.OnTime TimeValue("17:30:00"), "calculardias"
End Sub
En el momento que la guardo aparece una linea como la siguiente
ActiveWorkbook. Sabe
Pero llega la hr en la que se va a correr y no lo hace, (tengo el archivo abierto)
Si lo corro manual, empieza a parpadear el archivo de excel, y en la parte de la barra dice saving y el nombre del archivo, pero después de unu rato, marca error y dice q el archivo no se guardo, pero no hace ningún cambio en el archivo,
Como Vx
Si me entendist? =(
Ya cache... lo que pasa es que como te decía primero, cuando hagas los cambios (lo de agregar el modulo) debes guardar, cerrar el libro y después abrirlo para que se cargue en la memoria la macro.
Te explico, la macro que te mande se carga solamente cuando abres el archivo por eso se llama auto_open (existen otros nombres para otras acciones) en este caso la instrucción es que se ejecute la macro llamada calculardias a cierta hora, pero como la función es para application entonces la macro llamada calculardias se ejecutara en la aplicación activa, por eso te decía que el la macro calculardias pusieras también el nombre del archivo donde ha de ejecutarse o en su caso Application. ThisWorkbook. Activate.
Y otra muy tonta tal vez de mi parte pero pusiste que la macro se ejecute a las 17:30 y aun no son las 17:30 (bueno creo tal vez pusiste otra hora para probarla)
¿Si no te funciona me puedes mandar el archivo a [email protected] y lo checo va que va?...
jajajajja, ta bn q estoy mensilla pero no es para tanto!!!! jajajajjaj de echo estuve cambiando las hrs para probar.
ya agreg la linea q me comentas, lo abro, y despues como q se cierra, pero es cuando se ejecuta!! y ya corre la macro.
peeeeeerooooo....aun no te entiendo en la parte de como correria. o sea si la dejo cerrada tmb corre....???
De todas formas ahorita te la mando.. para igual la cheques
Muchas gracias!
Perdón! Jaja...
Dejame la checo... pero en si te digo que la macro por ejemplo ahorita que abriste el archivo ya quedo guardado en la memoria que se debe correr la macro todos los días a las 17:30... si el libro esta cerrado, se abrirá automáticamente y se ejecutara la macro
mmmmm
Pues no se abrió! Solo voy a ser pruebas cambiando el día a la compu haber que tal, nada más otra pregunta debe ser a la hr que le puse la primera vez vrd! Por lo que la macro guarda!
¿No tienes cuenta de messenger o algo así para contactarnos más rapido...?
Vas a decir que concha, pero pues es más fácil, ¿no crees?
Lo siento pero no puedo abrir el messenger pues nos tienen bloqueados (estoy en mi trabajo)...
De echo ya cheque el correo pero no pude abrir el archivo que me mandaste... no me deja abrir el adjunto... si puedes mandalo de nuevo
y si, cada que pongas una hora diferente debes guardar, cerrar y abrir para que se quede en la memoria... una vez que ya te ejecute la macro como quieres ya no tendrás que hacer esto.
La vdd no se porque no se esta ejecutando, yo la probé una y otra vez y si funciona
necesitaría ver tu archivo!...
mmm
Me puedes mandar el fragmento donde estas programando eso. Para ver si queda con eso... plis... te voy a mandar el archivo otra vx, pero a lo mejor no lo puedas abrir como yo también estoy en el trabajo a lo mejor bloquean algo pero bueno. Me mandas ese segmento por favor!1
Tal vez no me explique bien al decirte como debías poner la macro en el modulo pero aquí te mando como debe quedar... ya la cheque y si funciona
Sub Auto_Open()
Application.OnTime TimeValue("17:30:00"), "calculardias"
End Sub
Sub calculardias()
Application. ThisWorkbook. Activate
Y despues, todo tu codigo... te mando el archivo por correo
cualkier duda me echas un grito...
Ok lo voy a probar en estos días, cualquier cosa te aviso a tu correo, voy a cerrar la pregunta para que no estés bloqueado!
Muchas Gracias por tu ayuda!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas