比较input时间和当前时间Excel VBA

如果input时间小于或等于当前时间,任何人都知道如何比较excel vba?

以下是我的代码片段:

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

这总是返回到Good Afternoon ,这是我的问题。 有什么缺乏的东西吗?

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

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

处理与保留字具有相同名称的variables绝不是一个好主意。