Feliz navidad,
Disculpa la tardanza prueba estas a ver si te ayuda
En el un modulo copia esta macro
sub revisarfechas ()
'Aneudys01
Set h1 = sheets("hoja1")
c = "M"
For i = 3 To h1.Range(c & Rows.Count).End(xlUp).Row
h1.Cells(i, c).Interior.ColorIndex = xlNone
If h1.Cells(i, c) >= Date - 30 And h1.Cells(i, c) <= Date - 16 Then
h1.Select
h1.Cells(i, c).Select
h1.Cells(i, c).Interior.ColorIndex = 6 'amarrillo
MsgBox "EL CURSO ESTA PROXIMO A VENCERSE"
End If
If h1.Cells(i, c) >= Date + 2 And h1.Cells(i, c) <= Date + 30 Then
h1.Cells(i, c).Interior.ColorIndex = 39 'morado
End If
If h1.Cells(i, c) = Date Then
h1.Cells(i, c).Interior.Color = vbGreen 'verde
End If
Next
end sub
Donde:
Hoja1 seria el nombre de tu hoja
M Seria la columna donde están la fechas a revisar
La macro trabaja de la siguiente manera le quita tolos los fonde de color a todas y las que estén 15 días ante te avisa con mesaje y se pone de color amarrilo y las que estén al día final se pone de color verde esto lo hace con la fecha del sistema osea fecha actual
Esto lo puedes programar en un botón y solo sale click
O si prefieres que para mi es mejor en el evento open del libro
Llamar la macro así cada ves que abras el libro la macro corre solo
Seria así
Private Sub Workbook_Open()
call revisarfechas
End Sub
No olvides valorar si te silve para cerrar la pregunta