vba - 宏来计算 hh :mm:ss 中的差异

标签 vba excel date excel-formula

我想计算现在和 E 列之间的 hh:mm:ss 差异。它们都以 dd/mm/yyyy hh:mm 格式出现。使用我在下面编写的代码,它只考虑 hh:mm 而不是天数。因此,如果他们有 2 天的差异,则不会增加 +48 小时。代码如下:

With ws1.Range("N2:N" & lastrow1)
.Formula = "=TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))-TIME(HOUR(E2),MINUTE(E2),SECOND(32))"
End With

最佳答案

只需使用 =(NOW()-E2)并应用自定义格式 [hh]:mm:ss . hh 周围的括号会成功的。
如果您更需要几个小时,请按照@Kerry Jackson 的建议乘以 24。
日期/时间值的逻辑是 1 天 = 1,所以

  • 1 小时 = 1/24
  • 1 分钟 = 1/1440 '(即 24*60 )
    等等...
  • 关于vba - 宏来计算 hh :mm:ss 中的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931617/

    相关文章:

    html - 通过 F5 或 F8 运行一次/两次但随后出现多个错误的代码

    android - 根据 UTC 格式转换日期和时间字符串

    forms - 在 VBA 上的用户窗体之间传递多个条目

    Excel清理代码VBA

    arrays - 在 VBA 中用 2D 数组填充 3D 数组

    vba - Excel VBA : Paste clipboard data (external source) with the appropriate cell data type

    VBA 错误 "Bubble Up"

    excel - 为什么 "get Elements By Name"不起作用?

    php - 获取 30 天前的日期和时间

    php - date() 和 gmdate() 的不同结果