如何使用Excel 2016 VBA宏编辑器创建自动计时器?

时间:2017-02-28 19:27:49

标签: excel vba excel-vba timer

我需要在Excel 2016 VBA编辑器中创建一个定时器,它将每秒关闭并显示一条消息。

我有一个简单的代码可以做到这一点;但是,当我运行代码时,会出现一个消息框,然后出现错误。我的代码如下:

Private Sub Workbook_Open()
RunEveryTwoMinutes
End Sub

Sub RunEveryTwoMinutes()
MsgBox ("Stop!")
Application.OnTime Now + TimeValue("00:00:01"), "RunEveryTwoMinutes"
End Sub

我收到的错误说明: “无法运行宏'C:user | generic \ Book1.xlsm'。此工作簿中可能无法使用该宏,或者可能禁用所有宏。

我不确定发生了什么。我只需要找到一种方法来创建一个代码初始化时启动的一秒计时器。

1 个答案:

答案 0 :(得分:1)

将此代码放在工作簿代码模块中:

CSS

并将此代码放在标准代码模块中:

Private Sub Workbook_Open()
RunEveryTwoMinutes
End Sub

或者,您可以在Workbook代码模块中包含所有代码,但是您需要限定宏名称:

Sub RunEveryTwoMinutes()
MsgBox ("Stop!")
Application.OnTime Now + TimeValue("00:00:01"), "RunEveryTwoMinutes"
End Sub

我相信第一种方法更可取。