比较输入时间和当前时间Excel VBA

时间:2016-02-17 06:01:35

标签: excel vba excel-vba

任何人都知道如何比较输入时间是否小于或等于excel vba中的当前时间?

以下是我的代码段:

time = "11:59:59 AM"
If Format(TimeValue(Now)) <= time Then
    test = "Good morning!"
Else
    test = "Good Afternoon!"
End If

这总是返回Good Afternoon,这是我的问题。是否缺少某些东西?

1 个答案:

答案 0 :(得分:2)

您需要将表示时间的字符串转换为TimeValue的实际时间值。看来你的过程有点倒退了。你想得到一个真正的数字时间值来与Now比较;不是要与表示Now的字符串进行比较的字符串。

dim tm as date
tm = TimeValue("11:59:59 AM")
If TimeValue(Now) <= tm Then
    test = "Good morning!"
Else
    test = "Good Afternoon!"
End If

使用与保留字同名的变量绝不是一个好主意。