Excel 宏 配置宏


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

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

录制 Auto_Open 宏


你可以录制一个 Auto_Run 宏,如下所示:

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

如果你希望 Excel 在不运行 Auto_Open 宏的情况下启动,请在启动 Excel 时按住 SHIFT 键。

Auto_Open 宏的限制


以下是 Auto_Open 宏的限制:

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

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

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

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

工作簿打开事件的 VBA 代码


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

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

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

在 VBA 编辑器中按照以下给出的过程 -

  • 在 Projects Explorer 中双击 ThisWorkbook。

  • 在代码窗口中,在左侧下拉列表中选择 Workbook,在右侧下拉列表中选择 Open。 Sub Workbook_Open() 出现。

Workbook_open
  • 单击项目资源管理器中的模块。

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

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

Sub Workbook_open

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