VBA application.ontime无法正常工作

时间:2015-09-03 05:07:51

标签: excel excel-vba vba

我正在尝试使用类似于此的代码在宏中实现递归功能 - :

    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'。宏可能在此工作簿中不可用,或者可能禁用所有宏。

1 个答案:

答案 0 :(得分:3)

尝试将工作表名称与宏名称一起添加前缀。 Excel可能会查找名为Sheet1.RunClock的整个工作簿,请尝试如下(假设宏在Sheet1中)

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