繁体   English   中英

Excel VBA宏中的Now()函数停止工作

[英]Now() function in Excel VBA macro stopped working

我正在尝试在Excel工作簿的VBA命令按钮中使用的提示中设置警告。

两天前它运行良好,但目前不起作用,我不明白为什么。 在这里,您可以使用之前的代码:

Option Explicit

Private Sub CommandButton1_Click() 
Dim wb As Workbook Dim FinalDate As Variant
Set wb = Application.Workbooks("Test")

FinalDate = InputBox("Introduce the final date for analysis in the
following format MM/DD/YYYY") 

'< Check that final date is in the correct format
        If IsDate(FinalDate) = False Then
            MsgBox ("The date you entered is NOT IN THE CORRECT FORMAT!!!")
            Exit Sub
        End If

'<Check that final date is NOT later than today
        If FinalDate > Now Then '< **This part is the one that used to work**
            MsgBox ("The date you entered is LATER THAN THE CURRENT DATE!!!")
            Exit Sub
        End If

            wb.Worksheets("Sheet1").Range("K2") = FinalDate
End Sub

这是以前工作的部分,但昨天停止工作:

If FinalDate > Now Then
    MsgBox ("The date you entered is LATER THAN THE CURRENT DATE!!!")
    Exit Sub
End If

目前,每次我在此提示屏幕中输入任何日期时,无论该日期晚于还是早于当前日期,我都会收到警告“您输入的日期晚于当前日期!!”。

Excel工作簿中唯一发生变化的地方是,不同电子表格中有多个单元格包含将来约会中的将来日期,但是now()函数应检查系统日期,而不是工作簿中的日期,它?

非常感谢你,

最好的祝福,

Yatrosin

您的问题是您正在将用户输入的字符串与now函数返回的日期进行比较。

该值有两种不同的类型。

If FinalDate > Now Then

您应该使用CDate()将FinalDate转换为Date

if CDate(FinalDate) > Now Then

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM