Excel求和公式不';我不能在VBA上工作几个小时
我有VBA计算花费在项目上的时间,在用户按下停止按钮后,它将时间输入到另一张表中。除了计算总小时数的求和公式外,一切正常。公式Excel求和公式不';我不能在VBA上工作几个小时,vba,excel,time,sum,Vba,Excel,Time,Sum,我有VBA计算花费在项目上的时间,在用户按下停止按钮后,它将时间输入到另一张表中。除了计算总小时数的求和公式外,一切正常。公式=SUM(A2:A15290)给出单元格A1中00:00:00(零)的值。我尝试过用不同的方式“格式化单元格”,但没有任何效果。如果我在单元格中手动输入时间,则一切正常。也许问题出在我的VBA中,它正在输入单元格的计数时间 以下是我正在使用的宏: Option Explicit Sub StartTimer() Dim Start As Single, Run
=SUM(A2:A15290)
给出单元格A1中00:00:00(零)的值。我尝试过用不同的方式“格式化单元格”,但没有任何效果。如果我在单元格中手动输入时间,则一切正常。也许问题出在我的VBA中,它正在输入单元格的计数时间
以下是我正在使用的宏:
Option Explicit
Sub StartTimer()
Dim Start As Single, RunTime As Single
Dim ElapsedTime As String
'Set the control cell to 0 and make it green
Range("Y18").Value = 0
Range("Y14").Interior.Color = 5296274 'Green
Start = Timer ' Set start time.
Debug.Print Start
Do While Range("Y18").Value = 0
DoEvents ' Yield to other processes.
RunTime = Timer ' current elapsed time
ElapsedTime = Format((RunTime - Start) / 86400, "h:mm:ss")
'Display currently elapsed time in A1
Range("Y14").Value = ElapsedTime
Application.StatusBar = ElapsedTime
Loop
Range("Y14").Value = ElapsedTime
Range("Y14").Interior.Color = 192 'Dark red
Application.StatusBar = False
End Sub
Sub StopTimer()
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
'Set the control cell to 1
Range("Y18").Value = 1
Set copySheet = Worksheets("MAIN")
Set pasteSheet = Worksheets("Time Spent")
copySheet.Range("Y14").Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
您正在将看起来像时间的文本放入单元格中。使用实时
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不喜欢负时间。是否“以不同方式”包括[hh]:mm?