计算Word中VBA的时差

时间:2016-05-03 21:36:23

标签: vba ms-word word-vba

我想计算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

2 个答案:

答案 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函数进行转换。