我有以下显示时间,它动态运行:
Option Explicit
Dim SchedRecalc As Date
Sub Recalc()
With Sheet1.Range("D4")
.Value = Format(Time, "hh:mm:ss AM/PM")
End With
Call SetTime
End Sub
Sub SetTime()
SchedRecalc = Now + TimeValue("00:00:01")
Application.OnTime SchedRecalc, "Recalc"
End Sub
Sub Disable()
On Error Resume Next
Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Recalc", Schedule:=False
End Sub
从网上找到的说明中获得此代码后,此代码位于独立模块和 Sheet1 中。
它有效,但导致工作簿每次关闭时都会自动重新打开。退出程序是关闭的唯一方法。
然后我添加到 ThisWorkbook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Disable
End Sub
这确实使工作簿能够正常关闭,但现在重新打开时钟不会刷新,除非我在所需的单元格中重新启动宏。
如何在打开工作簿后立即刷新时钟而不会导致重新打开问题?
谢谢...