您好 VB 开发人员/用户/爱好者。你好吗?
我有一个有两个按钮的用户窗体:
- 开始
- 停止
当我按下 时Start
,我希望它以dd/mm/yy hh:nn:ss
特定列中的格式记录当前时间。
然后,当我按下Stop
按钮时,我希望它在旁边的单元格中再次记录时间。
然后,如果我Start
再次按下,我希望它记录在第一个单元格的当前记录下方。基本上,我正在构建一个计时器来记录数据,以查看某些任务需要多长时间。
我将发布 excel 文件并在必要时提供更多信息。
感谢您提供的任何帮助。
当前代码
Public runTimer As Double
Public startTime As Date
Dim counter As Date
Sub setStart()
counter = 0
startTime = Now
runTimer = Now + TimeSerial(0, 0, 1)
Application.OnTime runTimer, "setStart", , True
Set myTime = Sheet4.Range("F1")
Set timeRng = Sheet4.Range("C8:C100")
i = WorksheetFunction.CountA(timeRng)
i = i + 1
Cells(i, "C") = myTime
Sheet4.Cells(i, "C").NumberFormat = "yyyy/mm/dd HH:mm:ss"
If i >= 2 Then
Cells(i, "D8") = Cells(i, "C8") - Cells(i - 1, "C8")
Sheet4.Cells(i, "C").NumberFormat = "yyyy/mm/dd HH:mm:ss"
End If
Application.EnableEvents = False
End Sub
Sub setStop()
Application.OnTime runTimer, "setStop", , True
Set myTime = Sheet4.Range("F1")
Set timeRng = Sheet4.Range("D8:D100")
i = WorksheetFunction.CountA(timeRng)
i = i + 1
Application.EnableEvents = False
Cells(i, "D") = myTime
Sheet4.Cells(i, "D").NumberFormat = "yyyy/mm/dd HH:mm:ss"
End Sub
感谢您的反馈和建议。
这两个都很好用。我仍然无法在代码中的特定工作表中记录数据。我不想使用当前的工作表。我希望它是 sheet1 并在单元格“A8”而不是单元格“A2”中开始录制
谢谢。