如何使用Excel 2016 VBAmacros编辑器创build自动计时器?

我需要在Excel 2016 VBA编辑器中创build一个计时器,每秒钟都会closures并显示一条消息。

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

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

我收到错误状态:“不能运行macros'C:user | generic \ Book1.xlsm'。macros可能不可用在此工作簿或所有macros可能被禁用。

我不知道发生了什么。 我只需要find一种方法来创build一个一秒钟的计时器,一旦代码初始化就启动。

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

 Private Sub Workbook_Open() RunEveryTwoMinutes End Sub 

并将这些代码放在一个标准的代码模块中:

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

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

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

我相信第一种方法是可取的。