Excel 如何制作像数字手表一样的计时器?
我试着用excel制作数字手表。所以,当我打开一个工作簿,然后在一个单元格中,比如说在Excel 如何制作像数字手表一样的计时器?,excel,vba,Excel,Vba,我试着用excel制作数字手表。所以,当我打开一个工作簿,然后在一个单元格中,比如说在E3单元格中,它将显示时间,并且它将在每秒钟中继续,这样它看起来就像一个数字手表。我可以在Access中执行此操作,因为AccessForm具有On Timer事件,在该事件中,我可以编写代码以在文本框中显示时间。excel中是否有其他方法。我试过下面的代码。但是代码需要手动单击按钮1。我是否可以使其每秒自动运行按钮1\u Click()子按钮 Sub Button1_Click() Applicati
E3
单元格中,它将显示时间,并且它将在每秒钟中继续,这样它看起来就像一个数字手表。我可以在Access
中执行此操作,因为AccessForm
具有On Timer
事件,在该事件中,我可以编写代码以在文本框中显示时间。excel中是否有其他方法。我试过下面的代码。但是代码需要手动单击按钮1
。我是否可以使其每秒自动运行按钮1\u Click()
子按钮
Sub Button1_Click()
Application.OnTime Now(), "RunningTime"
End Sub
Sub RunningTime()
Range("E3") = Format(Now(), "hh:mm:ss")
End Sub
我也尝试了Workbook\u Open()
方法,但在打开文件时它只运行一次。
Private Sub Workbook_Open()
Application.OnTime Now(), "RunningTime"
End Sub
Private Sub Workbook_Open()
Range("E3").Value = Format(Now(), "HH:MM:SS")
Times = True
TimerRun
End Sub
没有直接的方法来实现它,但您可以应用一些技巧来实现。首先将以下代码放入模块
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
然后复制下面的代码并粘贴到工作簿\u Open()
事件中。
Private Sub Workbook_Open()
Application.OnTime Now(), "RunningTime"
End Sub
Private Sub Workbook_Open()
Range("E3").Value = Format(Now(), "HH:MM:SS")
Times = True
TimerRun
End Sub
如果您想设置“开始”或“停止”按钮,以便您可以通过单击按钮手动启动/停止计时器,然后放置窗体控制命令按钮,然后分配TimerRun
sub启动并分配TimerStop
停止计时器。没有直接的方法,因为excel中迄今为止没有计时器控制事件,我最熟悉的是。但是你可以用VBA
编码的方式来实现这一点。@harun24hr你能给我演示一下这个技巧吗?我尝试了不同的方法,但没有成功。如果你能帮助我做到这一点,我将不胜感激。提前感谢。我是否需要手动触发任何按钮来运行计时器,或者打开文件后它会自动显示时间?您不需要手动触发任何东西。它将自动开始在E3
单元格中显示时间。如果要停止,则需要手动触发TimerStop()
sub。这些代码对我有效。非常感谢你。非常感谢。