VBA application.ontime不工作

我正在尝试使用类似于此的代码来实现macros中的recursionfunction – :

Dim showTime As Boolean Sub RunClock() Range("A1", "A1").Value = Now If showTime = True Then Application.OnTime Now + TimeValue("00:00:01"), "RunClock" End If End Sub Sub StartClock() showTime = True RunClock End Sub Sub StopClock() showTime = False End Sub 

当我执行StartClock时,它显示一次,然后给出错误 – “不能运行macros'Book1.RunClock'。macros可能不可用在此工作簿或所有macros可能被禁用。

尝试前缀表名称与macros名称。 Excel可能会查找与Sheet1.RunClock名称的整个工作簿,请尝试如下(假定macros在Sheet1中)

  Application.OnTime Now + TimeValue("00:00:01"), "!Sheet1.RunClock"