根据日期做出判断并发出提醒(失败)

时间:2019-07-09 18:39:16

标签: excel vba

我试图判断每次打开工作簿时,今天的日期是否晚于工作表的列中指定的任何日期,以决定是否给用户提示。我使用debug.print来确保设置的条件正确,但是每次打开文件时都没有弹出提醒。谁能指出我在哪里犯了错误?谢谢。

我使用cdbl将日期转换为双精度,并在今天和列中的日期之间进行比较。如果其中任何一个比今天早,它将给用户提醒。

Private Sub UserForm_Initialize()

Dim i As Integer
Dim cnt As Integer

Count = 0

With ThisWorkbook.Worksheets("Gun Inventory")
    For i = 2 To .Cells(Rows.Count, "A").End(xlUp).row
        If Int(CDbl(Date)) > Int(CDbl(.Cells(i, "J").Value)) Or Int(CDbl(Date)) = Int(CDbl(.Cells(i, "J").Value)) Then
        .Cells(i, "I") = "Needs Test"
        Count = Count + 1
        Else: Exit Sub
        End If
    Next i

If Count <> 0 Then MsgBox "You have guns needs check ASAP. Please review 'gun inventory' tab to see which gun it is."

End With

End Sub

我希望应该有所提醒,但没有任何提示。甚至没有一个错误,这很奇怪。

1 个答案:

答案 0 :(得分:0)

如果要在打开工作簿时执行那部分代码,则应使用:

Sub Auto_Open()
Insert code here
End Sub 

或使用Workbook_Open(),但必须将其添加到ThisWorkbook类中。

相关问题