我正在使用Excel 2007的VBA脚本。
为什么TimeSerial(0,-10,0)会返回0:10:00?
我使用TimeSerial从一个时间减去分钟,所以它适用于所有情况。例如,TimeSerial(23,-10,0)正确返回22:50。
但是当我的时间是TimeSerial(0,-10,0)时,它不应该返回23:50:00吗?
答案 0 :(得分:0)
TimeSerial Function
会返回Variant/Date
值,如果TimeSerial(0, -10, 0)
为否定
TimeSerial(0, -10, 0)
中显示的Local Window
或Immediate Window
中显示的结果正与TimeSerial(0, 10, 0)
相同(尝试在即时窗口中:
debug.Print "TimeSerial(0, -10, 0) = " TimeSerial(0, -10, 0) vblf _
"TimeSerial(0, 10, 0) = " TimeSerial(0, 10, 0)
然而,使用IF
的简单测试证实:
a)它们不同(在即时窗口中尝试):
debug.Print TimeSerial(0, -10, 0) = TimeSerial(0, 10, 0)
b)TimeSerial(0, -10, 0)
的负值(在即时窗口中尝试):
debug.Print TimeSerial(0, -10, 0) < 0
获取23:50:00
可以使用:
debug.Print TimeSerial(24, -10, 0)
或
debug.Print TimeSerial(24, -9, -60)
等
有关其他信息,请参阅: TimeSerial Function和 Data Type Summary和