Incrementar días a una fecha y notificar con msgbox.

Tengo una columna (B) con diferentes fechas hasta el año 2025 y necesito una macro que cada vez que abra el libro y compruebe las fechas, me notifique con un mensaje msgbox cuando falten dos días para la fecha actual.

Nota: Debe ser con una macro, no me sirve con formato condicional.

1 Respuesta

Respuesta
3

¿Qué significa '...abra el libro y compruebe las fechas ...'?

¿Se ejecuta ya algún proceso de comprobación?

Si todavía no lo hay, te enviaré una macro que al momento de la apertura recorra la col B buscando fechas con 2 días de diferencia con respecto a la fecha actual. Pero antes dime:

- El nombre de la hoja donde se encuentran las fechas

- A partir de qué fila comienzan las fechas.

- Si tienen algún formato especial o solo son del tipo: dd/mm/yyyy

- ¿Todas las filas tienen fecha en esta col? ¿O hay saltos u otros caracteres?

- Si hay fechas repetidas, ¿qué esperas que te informe el mensaje? La cantidad de registros, ¿las filas donde se encuentran o algún campo de ese registro encontrado...?

La siguiente imagen es solo un ejemplo de un mensaje de comprobación:

Quedo a la espera de tus aclaraciones para enviarte la macro que necesitas.

Hola Elsa.

El nombre es hoja2 y las fechas inician en la fila 2 y sin formato especial

y si, todas las fechas están en la misma columna(B) y no hay fechas repetidas

Entrá al Editor de macros y seleccioná el objeto Libro o ThisWorkbook.

Allí copiá este código, o agrega la instrucción Call si ya tenés algunas instrucciones en ese evento.

Private Sub Workbook_Open()
   Call revisaFechas
End Sub

Y en un módulo copiá lo siguiente:

Sub revisaFechas()
'x Elsamatilde
Dim fecha As Date
'hoja donde se encuentran las fechas
Set hof = Sheets("fecha")
'encontrar fin de rango de la col B de esa hoja
x = hof.Range("B" & Rows.Count).End(xlUp).Row
'fecha que debe buscar
fecha = (Date - 2)
Set busco = hof.Range("B2:B" & x).Find(fecha, LookIn:=xlValues, lookat:=xlWhole)
If Not busco Is Nothing Then
    'si encuentra la fecha envía un mensaje indicando la fila del registro encontrado
    MsgBox "Hay un registro a vencer en 2 días en fila " & busco.Row
End If
End Sub

Más Eventos de Libros en video N°48 de mi canal.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas