Ejecutar macro en una fecha determinada

23/08/2008 - 13:10 por Rafa | Informe spam
Hola a todos:

Me han pasado esta macros que se ejecuta correctamente a partir de una
fecha determinada y funciona
correctamente. Quisiera codificarla para para que actué cuando la
fecha esta en la columna C y no en una
sola celda.
He realizado varias pruebas y no lo consigo.

¿Alguno de vosotros me puede ayudar?

GRACIAS


Private Sub Workbook_Open()
Application.DisplayAlerts = f
Dim Fecha As Date
Dim Hoy As Date
Fecha = Format(Worksheets("Diario").Range("C1"), "dd/mm/yyyy")
Hoy = Format(Now(), "dd/mm/yyyy")
If Hoy > Fecha Then
MsgBox "La fecha máxima de uso ya se cumplió, el archivo se cerrará",
vbCritical
Application.DisplayAlerts = True
Application.Quit
End If
End Sub

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
23/08/2008 - 20:31 | Informe spam
hola, Rafa !

Me han pasado esta macros que se ejecuta correctamente a partir de una fecha determinada y funciona correctamente.
Quisiera codificarla para para que actue cuando la fecha esta en la columna C y no en una sola celda.
He realizado varias pruebas y no lo consigo.
Alguno de vosotros me puede ayudar?



el codigo que expones ya se ejecuta cuando la fecha esta en la columna C (en la fila 1)
si necesitas modificar para cualquier otra fila... hay que decirle al codigo cual es "la fila" -???-
- tienes ya la forma de indicarle en cual fila de la columna C (u otra) debe encontrar "cual fecha" ?

saludos,
hector.

__ el codigo expuesto __
Private Sub Workbook_Open()
Application.DisplayAlerts = f
Dim Fecha As Date
Dim Hoy As Date
Fecha = Format(Worksheets("Diario").Range("C1"), "dd/mm/yyyy")
Hoy = Format(Now(), "dd/mm/yyyy")
If Hoy > Fecha Then
MsgBox "La fecha maxima de uso ya se cumplio, el archivo se cerrara", vbCritical
Application.DisplayAlerts = True
Application.Quit
End If
End Sub
Respuesta Responder a este mensaje
#2 Rafa
25/08/2008 - 18:59 | Informe spam
On 23 ago, 20:31, "Héctor Miguel"
wrote:
hola, Rafa !

> Me han pasado esta macros que se ejecuta correctamente a partir de una fecha determinada y funciona correctamente.
> Quisiera codificarla para para que actue cuando la fecha esta en la columna C y no en una sola celda.
> He realizado varias pruebas y no lo consigo.
> Alguno de vosotros me puede ayudar?

el codigo que expones ya se ejecuta cuando la fecha esta en la columna C (en la fila 1)
si necesitas modificar para cualquier otra fila... hay que decirle al codigo cual es "la fila" -???-
- tienes ya la forma de indicarle en cual fila de la columna C (u otra) debe encontrar "cual fecha" ?

saludos,
hector.

__ el codigo expuesto __
Private Sub Workbook_Open()
Application.DisplayAlerts = f
Dim Fecha As Date
Dim Hoy As Date
Fecha = Format(Worksheets("Diario").Range("C1"), "dd/mm/yyyy")
Hoy = Format(Now(), "dd/mm/yyyy")
If Hoy > Fecha Then
MsgBox "La fecha maxima de uso ya se cumplio, el archivo se cerrara", vbCritical
Application.DisplayAlerts = True
Application.Quit
End If
End Sub



Gracias por responder Hector.

Lo que ocurre es que no me explique bien, te comento:
Lo que pretendo modificar que la macro se ejecute cuando la fecha este
en cualquier lugar de la columna C
y no conociendo en que celda estará.

Un saludo.
Respuesta Responder a este mensaje
#3 Héctor Miguel
26/08/2008 - 03:10 | Informe spam
hola, Rafa !

Lo que ocurre es que no me explique bien, te comento:
Lo que pretendo modificar que la macro se ejecute
cuando la fecha este en cualquier lugar de la columna C y no conociendo en que celda estara.



(perdon... pero) este asunto sigue estando muy ambiguo -???- (p.e.)
- que mas podria esperarse que este en las celdas de la columna C ???
- que pasa si existen dos (o mas) celdas que puedan ser interpretadas como fecha ???
- que pasa si no existe ninguna celda (interpretable como fecha) ?
- quieres que el codigo haga un bucle para ver si acierta cual es la celda que contiene "la fecha esperada" ?

saludos,
hector.

Me han pasado esta macros que se ejecuta correctamente a partir de una fecha determinada y funciona correctamente.
Quisiera codificarla para para que actue cuando la fecha esta en la columna C y no en una sola celda.
He realizado varias pruebas y no lo consigo.
Alguno de vosotros me puede ayudar?



el codigo que expones ya se ejecuta cuando la fecha esta en la columna C (en la fila 1)
si necesitas modificar para cualquier otra fila... hay que decirle al codigo cual es "la fila" -???-
- tienes ya la forma de indicarle en cual fila de la columna C (u otra) debe encontrar "cual fecha" ?

__ el codigo expuesto __
Private Sub Workbook_Open()
Application.DisplayAlerts = f
Dim Fecha As Date
Dim Hoy As Date
Fecha = Format(Worksheets("Diario").Range("C1"), "dd/mm/yyyy")
Hoy = Format(Now(), "dd/mm/yyyy")
If Hoy > Fecha Then
MsgBox "La fecha maxima de uso ya se cumplio, el archivo se cerrara", vbCritical
Application.DisplayAlerts = True
Application.Quit
End If
End Sub
Respuesta Responder a este mensaje
#4 Rafa
26/08/2008 - 19:18 | Informe spam
Hola Héctor

Lo primero es agradecerte tu paciencia

Con esta macro pretendo pasar a excel una gran cantidad de datos sobre
facturas atrasadas
de tal manera que cuando las facturas estén puestas al día el programa
me avise de que no
puedo pasar facturas con fechas iguales a la actual ya que a partir de
aquí se han de guardar
en otro libro con un formato distinto mediante un formulario.

En lugar de la función Hoy() podría utilizar una fecha determinada
ejemplo 31/08/2008

En la columna C es donde están las fechas a evaluar, supongo que se
debe realizar mediante
un bucle que corra en la columna C buscando la existencia de la fecha
31/08/2008, ejecute la macro.


Un saludo.
Respuesta Responder a este mensaje
#5 Héctor Miguel
26/08/2008 - 23:01 | Informe spam
hola, Rafa !

__ 1 __
... pretendo pasar a excel... datos sobre facturas atrasadas
... que cuando las facturas esten puestas al dia el programa
avise de que no puedo pasar facturas con fechas iguales a la actual
ya que a partir de aqui se han de guardar en otro libro con un formato distinto mediante un formulario.



1) que es lo que necesitas "pasar" ???
- un formato (unico) de factura (p.e. al imprimirse) a un registro "historico" ?
- una serie de registros historicos a otro de historicos "pasados" ?

__ 2 __
En lugar de la funcion Hoy() podria utilizar una fecha determinada ejemplo 31/08/2008
En la columna C es donde estan las fechas a evaluar



2) cuantas filas/registros y columnas/campos necesitas "pasar" ?
y de que libro, hoja y rangos... a cual otro libro y que hoja y exactamente en que rangos ?

__ 3 __
supongo que se debe realizar mediante un bucle que corra en la columna C
buscando la existencia de la fecha 31/08/2008, ejecute la macro.



3) puedes comentar rangos, hojas, libros, titulos, tipo de datos, de donde, a donde, por que si (o no), etc.?
algo que permita una (re)construccion del modelo que tu tienes a la vista (y no se puede ver desde este lado) ?

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida