Excel 宏 - 配置宏


您可以录制宏并将其保存为名称 Auto_Open,以便在每次打开包含该宏的工作簿时运行它。

您还可以使用工作簿的 Open 事件编写用于相同目的的 VBA 代码。每次打开工作簿时,Open 事件都会运行子过程 Workbook_Open () 中的代码。

录制 Auto_Open 宏

您可以按如下方式录制 Auto_Run 宏 -

  • 单击功能区上的“查看”选项卡。
  • 单击宏。
  • 单击“录制宏”。将出现“录制宏”对话框。
  • 键入 Auto_Run 作为宏名称。
  • 输入描述并单击“确定”。
自动打开
  • 开始录制宏。
  • 停止录音。
  • 将工作簿另存为启用宏的工作簿。
  • 关闭工作簿。
  • 打开工作簿。宏 Auto_Run 将自动运行。

如果您希望 Excel 启动时不运行 Auto_Open 宏,请在启动 Excel 时按住 SHIFT 键。

Auto_Open 宏的限制

以下是 Auto_Open 宏的限制 -

  • 如果保存 Auto_Open 宏的工作簿包含工作簿打开事件的代码,则打开事件的代码将覆盖 Auto_Open 宏中的操作。

  • 通过运行使用 Open 方法的代码打开工作簿时,将忽略 Auto_Open 宏。

  • Auto_Open 宏在任何其他工作簿打开之前运行。因此,如果您记录希望 Excel 对默认 Book1 工作簿或从 XLStart 文件夹加载的工作簿执行的操作,则当您重新启动 Excel 时,Auto_Open 宏将会失败,因为该宏在默认工作簿和启动工作簿打开之前运行。

如果您遇到任何这些限制,则必须为 Open 事件编写代码,而不是记录 Auto_Open 宏,如下一节所述。

工作簿打开事件的 VBA 代码

您可以编写在打开工作簿时执行的代码。VBA 为您提供了一个名为 open 的事件,其中包含一个 VBA 过程,用于在打开工作簿时执行操作。

打开您存储为绝对引用编写的宏的工作簿 - Report_ProjectXYZ。运行此宏时,将在工作簿中添加一个新工作表,并且项目报告结构将显示在新工作表上。

您可以编写宏代码,在打开工作簿时执行这些操作。这意味着当您打开项目报告工作簿时,带有报告结构的新工作表将可供您输入详细信息。

在 VBA 编辑器中遵循以下给出的过程 -

  • 在“项目资源管理器”中双击“ThisWorkbook”。

  • 在代码窗口中,在左侧下拉列表中选择“工作簿”,在右侧下拉列表中选择“打开”。出现 Sub Workbook_Open()。

工作簿_打开
  • 单击项目资源管理器中的模块。

  • 双击包含宏代码的模块名称。

  • 从模块中复制宏代码并将其粘贴到 Sub WorkBook_Open () 中。

子工作簿_打开

保存启用宏的工作簿。再次打开它。宏运行并插入带有报告结构的新工作表。