vba - 查找两个日期的小时和分钟差异,格式为 dd/mm/yyyy hh :mm

标签 vba excel date datetime

我一直在尝试查找格式为 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

关于vba - 查找两个日期的小时和分钟差异,格式为 dd/mm/yyyy hh :mm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46942907/

相关文章:

html - VBA点击按钮

excel - 仅关闭 UFT 打开的 Excel 进程

java - 如何将日期对象的时间设置为零 (00/00/00)

Excel - 在日期后计算 45 天

vba - 使用 Excel 宏/vba 打开/关闭图表系列的可见性

excel - 为什么 Left 函数返回运行时错误 '424' ?

vba - 如何按名称而不是按索引为 VBA 的自动筛选函数指定列?

vba - Excel VBA 替换不执行

windows - 在 VBA 中使用 Magnification API 获取屏幕放大倍数

date - 使用Elasticsearch查找日期在特定日期附近的条目