📜  excel 每 5 分钟运行一次宏 - VBA (1)

📅  最后修改于: 2023-12-03 15:00:39.046000             🧑  作者: Mango

Excel每5分钟运行一次宏 - VBA

有时候我们需要在Excel中设置一些定时的任务来自动执行一些操作。例如每5分钟更新数据或生成报告。在Excel中,我们可以使用VBA编写宏来实现这个功能。

实现步骤
  1. 打开Excel,然后按下 ALT + F11 打开Visual Basic编辑器。

  2. 在左侧的“项目浏览器”中,展开该工作簿文件,双击“这台计算机”或“Microsoft Excel 对象”下拉列表看到“工作表”和“本工作簿”。

  3. 点击需要进行定时宏操作的Excel文件下的“宏”按钮,创建一个新的宏。

  4. 在VBA编辑器窗口中,输入以下代码:

Sub RunMacro()
    '这里是你的宏代码
End Sub

Sub StartTimer()
    Application.OnTime Now + TimeValue("00:05:00"), "RunMacro"
End Sub

Sub StopTimer()
    On Error Resume Next
    Application.OnTime earliesttime:=Now + TimeValue("00:05:00"), _
      procedure:="RunMacro", schedule:=False
End Sub

在上面的代码中,第一个子程序“RunMacro”是你要执行的宏代码,你可以在其中写下你自己的业务逻辑。第二个子程序“StartTimer”中的“Now + TimeValue("00:05:00")”表示5分钟后自动调用“RunMacro”宏,让Timer开启。第三个子程序“StopTimer”可以用于停止Timer,最好在退出Excel之前停止Timer。

  1. 调用“StartTimer”子程序运行Timer。你可以在Excel单元格中添加一个按钮,用于启动Timer。在Excel中添加一个按钮的方式是:
  • 在Excel中打开开发者选项卡(如果开发者选项卡未启用,则需要启用它)。

  • 点击开发者选项卡中的“插入”菜单,然后选择“表单控件”。

  • 在下拉菜单中选取一个按钮控件,然后将其拖放到你的工作表中的任意位置。

  • 右键单击按钮控件,然后选择“查看代码”。

  • 在代码编辑器中的Click()事件下输入“StartTimer”。

  1. 现在,每当你点击这个按钮时,宏代码都将在5分钟后自动运行。
注意事项
  • 如果你修改了需要自动运行的宏代码,你需要重新保存工作簿文件。

  • 如果你退出了Excel或关闭了工作簿文件,在引用“Now”时会产生未定义的错误。

  • 如果你多次点击按钮或定时器,那么所有的未来调用都将被取消,也就是说,只有最后一次单击按钮或定时器才会调用宏代码。