Saltar al contenido

Ejecutar una macro un determinado día cada semana


Recommended Posts

publicado

Muy buenas a todos,

He estado leyendo y probando métodos que dais en otras dos consultas muy similares a esta, pero lo único que he conseguido es entrar en un bucle infinito que bloque todo.

Os cuento, estoy realizando una pequeña aplicacion en vba y necesito que un determinado día de la semana a una hora que yo le fije,  ejecute una macro. Esta macro lo que hace es , dependiendo del valor de una celda  (0 o 1) , compara el día actual y si se corresponde el día con el fijado en otra celda, envia un e-mail y eso lo hace bien, si se abriera la hoja de excel todos los días, funcionaría, pero, en teoría el formulario va a quedar siempre abierto y al hacer uso de ontime.value, una vez llega al fin del día, no sigue ejecutándose. Si yo le fijo una hora, si, ese día lo hace bien, no así el siguiente, no se si me explico.

 

A esto le añadimos que cada día a las 00:10 debe ejecutar otras macros que hacen unas comprobaciones y me encuentro con el mismo error, lo ejecuta una vez, pero nada más.

Si hago una llamada a la macro desde Workbook_Open y luego hago redundancia (¿se llamas así, no? ) desde la macro nuevamente, entro en bucle, si la llamada la hago en el UserForm_Initialize, según como ejecute el formulario (puede ser desde un botón o de forma automática al abrir el libro),  ejecuta la macro del módulo o no... Estoy ya perdido.

Gracias de antemano

PD: intentaré subir parte del código, pero justo me ha quedado el pendrive en el coche.

publicado

Necesitas arrancar un reloj, entretente buscando información sobre Application.OnTime.

No es difícil, a ver si durante el fin de semana tengo un hueco.

publicado

Gracias por la respuesta Antoni, hago uso de Application.OnTime, pero me sucede eso, que sólo me ejecuta bien las macros que en ese día, o al menos es la sensación que me da.

Por ejemplo, tengo el  ApplicationOnTime TimeValue("07:00:00"), Avisos en el UserForm_Initialize(), aparentemente sólo me funciona durante ese día.

publicado

Listo, o eso parece, no pude contestar antes, que he tenido al peque confinado por unos positivos en el cole.

Ahora lo que hice es que llamo a la macro todos los días a las 00:01, así vuelve a contar de nuevo.

 

Gracias!!

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.