创建基于一行数据(日期)计算的VBA代码,并在日期已过或在2周内时弹出

问题描述 投票:-1回答:1

这是第一个计时器我正在尝试创建一个VBA弹出窗口,如果特定工作表上某个范围内的日期即将到来(约2周),则只返回弹出/警告。这有模板或起点吗?

打开工作簿时我已经到了获取弹出窗口的位置,但是不知道如何应用查看日期范围所需的计算/公式。

Private Sub Workbook_Open()
    MsgBox "TEST"
End Sub
excel vba popup
1个回答
0
投票

好吧,这应该是一个很好的开始。我不是VBA专家。我实际上对此知之甚少,但这确实适用于我尝试的少数测试用例。我没有声称这是处理这个问题的正确方法。

Sub DateCheck()

    cmpDate = DateAdd("d", -14, Now())

    Range("A1").Select
    ' Set Do loop to stop when an empty cell is reached.
    Do Until IsEmpty(ActiveCell)
        If ActiveCell.Value > cmpDate Then
            MsgBox ActiveCell.Value
        End If
        ActiveCell.Offset(1, 0).Select
    Loop
End Sub

您可能需要将“A1”更改为范围的开头。这将从A1开始并逐行进行,直到它到达没有值的单元格。在每个单元格中,它将当前日期 - 14天(cmpDate)与单元格中的日期进行比较。如果活动单元格值大于cmpDate,则发送带消息框的消息。

© www.soinside.com 2019 - 2024. All rights reserved.