我试图用excel制作数字手表。因此,当我打开一个工作簿然后在一个单元格中,让我们说在E3
单元格中将显示时间,它将在每一秒继续,以便它看起来像一个数字手表。我可以在Access
中执行此操作,因为访问Form
有On Timer
个事件,我可以编写代码以Textbox
显示时间。在Excel中有没有其他替代方法。我试过下面的代码。但是代码需要在Button1
上手动点击。我可以让它自动运行Button1_Click()
每秒一次吗?
Sub Button1_Click()
Application.OnTime Now(), "RunningTime"
End Sub
Sub RunningTime()
Range("E3") = Format(Now(), "hh:mm:ss")
End Sub
我还尝试了Workbook_Open()
方法,但在打开文件时它会运行一次。
Private Sub Workbook_Open()
Application.OnTime Now(), "RunningTime"
End Sub
答案 0 :(得分:3)
没有直接的方法来实现它,但你可以应用一些技巧来做到这一点。首先将下面的代码放到Module
。
Public Times As Boolean
Sub TimerRun()
If Not Times Then Exit Sub
Application.OnTime Now() + TimeValue("00:00:01"), "TimerRun"
Range("E3").Value = Range("E3").Value + TimeValue("00:00:01")
End Sub
Sub TimerStop()
Times = False
End Sub
然后复制下面的代码并粘贴到Workbook_Open()
事件中。
Private Sub Workbook_Open()
Range("E3").Value = Format(Now(), "HH:MM:SS")
Times = True
TimerRun
End Sub
如果要创建启动或停止按钮,以便可以通过单击按钮手动启动/停止计时器,然后放置表单控件命令按钮,然后指定TimerRun
sub以启动并指定{{1}停止计时器。