如何计算excel vba中不同组唯一值的时差(以秒为单位)?

时间:2017-10-15 12:15:59

标签: excel vba excel-vba

我知道这个问题以前经常出现,但我所拥有的是不同的情况。我有一些关于日期和时间的数据,适用于两组。我想知道每个组的持续时间,但我不知道如何在Excel VBA代码中编写它。你能帮我解决一下吗? 这是我的excel表。 enter image description here 困难的是,当在同一组中它已经改变到其他日期但是当我尝试减去差异时,它可以是减去而不是正数。例如:

02.09.2017 19:00:00
03.09.2017 01:00:00

在这种情况下,我不能减去01:00:00 - 19:00:00,因为那将是负数,因此我必须考虑更改日期。如果是这样的话怎么解决呢?非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您的单元格格式化为数据和时间,则可以使用DateDiff函数,并以"n"作为间隔(以秒为单位重新表示)。

我已经测试了您的数据:

A1 02.09.2017 19:00:00 
A2 03.09.2017 01:00:00

<强>代码

Option Explicit

Sub CalcSecond()

Dim NumofSec As Long

NumofSec = DateDiff("n", Range("A1").Value, Range("A2").Value)

MsgBox NumofSec

End Sub