任何人都知道如何比较输入时间是否小于或等于excel vba中的当前时间?
以下是我的代码段:
time = "11:59:59 AM"
If Format(TimeValue(Now)) <= time Then
test = "Good morning!"
Else
test = "Good Afternoon!"
End If
这总是返回Good Afternoon
,这是我的问题。是否缺少某些东西?
答案 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
使用与保留字同名的变量绝不是一个好主意。