Macro para ejecutar al abrir el libro

Si alguien me puede ayudar necesitaría lo siguiente:

Tengo un macro que necesito que se ejecute un día determinado de cada mes al abrir el libro, por ejemplo el día 5, de cada mes. Pero suponiendo que ese día el libro no se abra,

Se abra uno o más días posteriores al día 5, yo quisiera que la macro se ejecute una sola vez

En el mes, me explico.

2 respuestas

Respuesta
https://mega.co.nz/#!4Fkh0QYY!yfLFK2KWpHZwsMWsq3UMEiwjVdoMvgSBqUqa5DL8JKQ

Saludos. 

Veamos, te explico como lo he planteado y luego tú ya haces las modificaciones para adaptarlo a tu proyecto.

En A1 tienes el día actual. He desactivado que cargue el día actual para que puedas meter el día que quieras haciendo pruebas. En el código que activa eso tiene comentada la línea, para que simplemente activándola, la macro comience a hacer el trabajo con los datos reales.

Verás que en B2 y B3 hay 2 fechas. Son las fechas de tu ciclo de trabajo. Para configurar el tema, pon las que quieras.

La macro compara el día actual (A1) con el ciclo (B2-B3) y...


Si está en plazo y no se ha ejecutado antes

Ejecuta la macro (un mensaje simple), avisa que en ese ciclo se ha ejecutado con una marca de ejecución (C1) y actualiza las fechas del ciclo automáticamente.

Si está en plazo, pero se ha ejecutado

No ejecuta (avisa también con un mensaje)


Si NO estuviera en el plazo

Ya habría pasado la fecha, con lo que quita la marca de ejecución, además, tampoco ejecuta la macro.


Verá que hay un botón que dice "Simula Abrir Excel" que facilita hacer las pruebas pertinentes, sería la función que habría que colocar en la rutina de apertura de fichero de Excel, la misma donde está la línea comentada.

Espero que con todo esto sea capaz de poner a funcionar su contador. En principio es bastante sencillo, lea la macro despacio para ir comprendiendo lo que hace.

perdonme manuel pero no lo entiendo así como lo planteas

No te preocupes, vamos a hacer la prueba para saber si la macro se ajusta a lo que necesitas.

Escribe la fecha actual en A1. Luego no tendrás que escribirla, será automática, pero estamos en pruebas.

En B1, escribe la fecha en que inicia tu ciclo, si por ejemplo, quieres que empiece el dia 5 de cada mes, pon en B1

5/5/2015

En B2... pues lo mismo, pero con un mes más... no te preocupes que cuando la macro esté operativa, hará el cálculo sola.

5/6/2015

Ahora, con el botón "Simula Abrir Excel" simularemos que abrimos Excel.

Vamos a hacer pruebas, eso te corresponde a ti: ve cambiando A1, presiona el botón "Simula Abrir Excel" varias veces, etc, para ver como reacciona. Si el programa te va dando los resultados de acuerdo a lo que necesitas, vamos bien.

Respuesta
-1

Yo estoy usando esta macro, colocada en ThisWorkbook:

Private Sub Workbook_Open()
If Day(Date) = 5 Then
MACRO ' Nombre de la macro
End If
End Sub

Luis te pregunto si el día 5 no habrá el Lo abro el día 7 necesito que la macro se ejecute igual es así

A mi me lo ejecuta el día 5 o el primer día que abro el libro a partir de ese día.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas