Excel - Comprobación de fecha + 15 días

 
Vista:
sin imagen de perfil

Comprobación de fecha + 15 días

Publicado por Dave (2 intervenciones) el 11/11/2014 22:10:16
Hola que tal, soy nuevo en el foro y también en esto de la programación de VBA en Excel. Tengo un problema con una macro que quiero hacer. Quiero que al abrirse un archivo active la macro. En la hoja 1 hay una columna con fechas. Quiero que el macro cheque las fechas de esa columna y las compare con la fecha actual. Si la fecha de la columna está 15 días adelante de la fecha actual que lance un mensaje (MsgBox) diciendo algo. No se si me explico bien, he tratado de hacerlo declarando dos variables y con "DateAdd" pero realmente estoy algo perdido en esto.

Espero me puedan ayudar, y colaborar con ustedes activamente una vez que aprenda bien VBA en Excel.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Comprobación de fecha + 15 días

Publicado por Juanjo (494 intervenciones) el 12/11/2014 08:39:17
Muy buenas.

Sería interesante que pusieras lo que has hecho hasta ahora. Ahí te va algo rudimentario:

1
2
3
4
5
6
7
8
9
10
Sub auto_open()
    Dim r As Range
    Dim rc As Range
    Set r = Range("a1:a25")
    For Each rc In r.Cells
        If rc = Date + 15 Then
            MsgBox "faltan 15 días en la fila: " & rc.Row
        End If
    Next
End Sub

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Comprobación de fecha + 15 días

Publicado por Dave (2 intervenciones) el 12/11/2014 22:36:23
Soy muy novato en esto, apenas de lo que he podido leer estaba tratando de armar algo. Creo que está hecho un lío el código jajaja pero esto es lo que intentaba. Aunque veo que utilizaste un For y luego un condicional If.

Private Sub Workbook_Open()
Dim DateVar As Date
Dim LDate As Date

LDate = DateAdd("d", 15, Date)
DateVar = Range("K2:K241").Find(What:=Date)
If LDate = DateVar Then
MsgBox "Llamar a cliente para calibración de equipo"
Else
MsgBox "No hay calibraciones pendientes"


End If
End Sub

Eso es lo que estaba intentando hacer, pero creo que no estaba haciendo lo que quería, y el mensaje no me salta por lo mismo. Tengo una hoja en el excel llamada "2014" pero no sé si poner el código en "ThisWorkbook" o en "sheet 1". Como verán apenas estoy empezando en esto y ando perdido y medio.

Les agradezco su ayuda, es checar la columna K (sin un número límite de rango porque se van a ir agregando fechas sin saber exactamente hasta que celda) con la fecha actual + 15 días, y si alguna de las fechas leídas concuerda con esa comprobación saltar el mensaje, en caso de que ninguna empate, lanzar el mensaje de que no hay calibraciones pendientes. Por decir, hoy es 12, y si hay una fecha que marque el 27 de noviembre que salte el mensaje, en caso de que no, entonces mandar el otro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar