Excel SUM公式无法在VBA中运行数小时

时间:2018-10-03 06:58:43

标签: excel vba excel-vba time sum

我有VBA,它可以计算在项目上花费的时间,并且在用户按下STOP按钮后,它会将时间输入到其他工作表中。一切工作正常,期望SUM公式可以计算花费的总时间。公式WHERE [column1] = 'some value' AND (@param1 IS NOT NULL OR [column2] IS NULL) 在单元格A1中给出的值为00:00:00(零)。我试图以不同的方式“格式化单元格”,但没有任何效果。如果我手动输入时间到单元格,则一切正常。也许是我的VBA正在为单元格输入计时时间的问题?

这是我正在使用的宏:

=SUM(A2:A15290)

1 个答案:

答案 0 :(得分:1)

您正在将看起来像时间的文本放入单元格中。使用实时。

Dim Start As DOUBLE, RunTime As DOUBLE
Dim ElapsedTime As DOUBLE

...

Start = Timer    ' Set start time.

...

    DoEvents    ' Yield to other processes.
    RunTime = Timer    ' current elapsed time
    ElapsedTime = (RunTime - Start) / 86400

    Range("Y14").Value = ElapsedTime
    Range("Y14").numberformat = "[hh]:mm:ss"

请记住要注意午夜时分的开始和结束。计时器在午夜重置,Excel不喜欢负时间。