我一直在尝试找到格式为 dd/mm/yyyy hh:mm 的 2 个日期之间的小时和分钟差异。我使用的代码(有点)工作正常,但它没有考虑天数的差异。因此,如果第一个日期 28/09/2017 11:35,第二个日期是 30/09/2017 13:45,那么它会说差异是 02:10 .但是,正确答案是 50:10(50 小时 10 分钟)。我提供下面的代码。
With ws1.Range("N2:N" & lastrow1)
.Formula = "=NOW()-E2"
.NumberFormat = "h:mm:ss"
End With
可以使用方括号强制将溢出的值放回方括号。
.NumberFormat = "[h]:mm:ss"
编辑(对于评论中的问题):
Excel 足够智能,当公式使用单元格引用时,它将尝试进行相应的转换。
或者,您可以尝试:
With ws1.Range("N2:N" & lastrow1)
.Formula = "=NOW()-(DateValue(E2)+TimeValue(E2))"
.NumberFormat = "[h]:mm:ss"
End With