我想计算2个单元格之间的时间差和MS WORD TABLE的第3个单元格中显示的结果。 例如,细胞D2显示2pm,D1显示1pm,细胞B2的差异
Sub DetermineDuration()
Dim dtDuration As Date
dtDuration = DateDiff("h:mm:ss", D2, D1)
Range("B2").dtDuration
End Sub
答案 0 :(得分:1)
日期可以减去数字:
Time
确保将单元格B2格式化为{{1}},我们最终会得到一个浮点数。
答案 1 :(得分:0)
您可以使用DateDiff
函数返回特定的间隔类型,例如小时,分钟或秒,而不是精确的。它返回常规数字,而不是时间值。在 interval 参数中,您必须指定有效的间隔值。您可以在此处了解该功能并查看有效间隔值MS Excel: How to use the DATEDIFF Function (VBA)
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week
h Hour
n Minute
s Second
如你所见," h:mm:ss"不是有效的间隔。您可以使用此格式来获得秒差:
DateDiff("s", Range("D2"), Range("D1"))
如果您想获得时间值,可以使用TimeSerial
函数进行转换。