如何在Excel中的列中提醒即将到来的日期

时间:2017-05-27 18:01:09

标签: excel vba

在Excel中,我需要评估从当前日期到在单元格中输入的日期还有5天,如果它真实,则将该行涂成红色并生成警报消息以通知此情况。

例如: 今天是2017年5月25日

该列的值为:

2017年1月6日 2017年3月6日 29/06/2017

所以该计划必须提醒日期2017年6月1日和2017年6月29日。 如果有2个小区,则警报消息不必包含每个日期。剩下5天,它会生成2条警报消息。

我会感谢任何帮助,我不知道如何在VBA中编程,这对我来说有点复杂!感谢。

2 个答案:

答案 0 :(得分:0)

对于绘画,最简单的方法是使用条件格式。使用以下公式添加新规则:

=AND(A1-Today()<5;A1>=Today())

您的日期将在A栏中。

从今天起不到5天的每个日期的提醒可以通过以下方式完成:

For Each cell In Range("A4:A6")
    If cell.Value - Now < 5 Then
        MsgBox "Row " & cell.Row & " has less than 5 days"
        ' optional alterative to conditional formatting for painting
        cell.Interior.Color = RGB(255, 0, 0)
    End If
Next

答案 1 :(得分:0)

要粘贴到ThisWorkbook

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

With ActiveCell
    If IsDate(.Value) Then
        If .Value - Now < 5 Then
            If .Value >= Now Then
                MsgBox ("Tic-Tac Tic-Tac... time come soon!")
                Range(.Row & ":" & .Row).Select
                With Selection.Interior
                    .Color = RGB(255, 0, 0)
                End With
            End If
        End If
    End If
End With

End Sub