2015-09-03 128 views
1

我试图用一个类似的代码来实现宏观递归功能 - :VBA application.ontime不工作

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'宏可能不在本工作簿或所有宏可能被禁用

+2

您的代码是否在常规模块中? –

+0

什么是常规模式? – user3359453

+0

不是工作表代码模块或“ThisWorkbook”模块 –

回答

3

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

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

它工作。谢谢! – user3359453