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