excel 文本框计时器的VBA宏

xsuvu9jc  于 2023-04-13  发布在  其他
关注(0)|答案(1)|浏览(247)

单元格A1包含特定的固定日期和时间。
我想在TextBox中以mm:ss格式显示经过的时间。
例如A1=“2023-04-07 13:05:10”
当前系统时间为“2023-04-07 13:30:16”
然后,文本框应显示“25 m 05 s”,这应该刷新每秒(增加),直到A1为空。
基本上它是经过计时器

ttcibm8c

ttcibm8c1#

代码必须在模块中(而不是在工作表模块中)。如果A1的值可能会取错误值,那么您也可以取消注解On Error命令...工作表的代码名为SHEET1,您将使用自己工作表的真实的名称更改

Public Sub elapsed_timer()
   Dim v As Double, s As String
   s = SHEET1.Range("A1").Value
   If (s = "") Then Exit Sub
   Application.OnTime Now() + TimeValue("00:00:01"), "elapsed_timer"
   'On Error Resume Next
   v = Now() - (DateValue(s) + TimeValue(s))
   'On Error GoTo 0
   SHEET1.TextBox1.Value = Format(v, "mm") & "m " & Format(v, "ss") & "s"
End Sub

相关问题