如何在VBA中计算时差?

如何在VBA中计算时差?,vba,excel,Vba,Excel,我需要计算两个不同时间的差值 比如说, time1 = 6:45 AM time2 = 7:30 AM 然后,我需要将其转换为小时(整数) 在基础数学中,这是: timediff = time2 - time1 timediff = 0:45 timediff(in hrs) = 0 + (45/60) timediff(in hrs) = 0.75 我需要在VBA中执行此操作。有人能帮我吗? 非常感谢 这是我在谷歌上搜索VBA timediff的第一次成功: 我相信它应该做你想做的事,只

我需要计算两个不同时间的差值

比如说,

time1 = 6:45 AM
time2 = 7:30 AM
然后,我需要将其转换为小时(整数)

在基础数学中,这是:

timediff = time2 - time1
timediff = 0:45

timediff(in hrs) = 0 + (45/60)
timediff(in hrs) = 0.75
我需要在VBA中执行此操作。有人能帮我吗?
非常感谢

这是我在谷歌上搜索VBA timediff的第一次成功:

我相信它应该做你想做的事,只需要很少的修改

该帖子中定义的自定义项是:

Function TimeDiff(StartTime As Date, StopTime As Date) 
    TimeDiff = abs(StopTime-StartTime) * 86400 
End Function 
DateDiff()
计算此值(
n
表示分钟):


这对我有用。在经历了多次反复之后,事情看起来很简单。 结果值dtDuration(实际上是双精度)也用于更新表中的小时(双精度)字段

Dim dtDuration As Double
dtDuration = DateDiff("s", CDate(strStarTime), CDate(strCompTime))

Me.txtCalcHours.SetFocus
Me.txtCalcHours.Text = dtDuration / 3600
Dim dtDuration As Double
dtDuration = DateDiff("s", CDate(strStarTime), CDate(strCompTime))

Me.txtCalcHours.SetFocus
Me.txtCalcHours.Text = dtDuration / 3600