Excel 2007 VBA,TimeSerial函数

时间:2016-07-02 00:32:21

标签: excel-vba vba excel

我正在使用Excel 2007的VBA脚本。

为什么TimeSerial(0,-10,0)会返回0:10:00?

我使用TimeSerial从一个时间减去分钟,所以它适用于所有情况。例如,TimeSerial(23,-10,0)正确返回22:50。

但是当我的时间是TimeSerial(0,-10,0)时,它不应该返回23:50:00吗?

1 个答案:

答案 0 :(得分:0)

TimeSerial Function会返回Variant/Date值,如果TimeSerial(0, -10, 0)否定

TimeSerial(0, -10, 0)中显示的Local WindowImmediate 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 FunctionData Type Summary