我正在尝试使用类似于此的代码在宏中实现递归功能-:
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 时,它会显示一次时间然后给出错误 - “无法运行宏 'Book1.RunClock'。该工作簿中可能没有该宏,或者所有宏都可能被禁用。
最佳答案
尝试将工作表名称与宏名称一起添加前缀。 Excel 可能我正在查看名称为 Sheet1.RunClock 的整个工作簿,因此请尝试如下(假设宏在 Sheet1 中)
Application.OnTime Now + TimeValue("00:00:01"), "!Sheet1.RunClock"
关于excel - VBA application.ontime 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32367362/