Excel Macros 简明教程

Excel Macros - Configuring a Macro

您可以记录一个宏并使用 Auto_Open 名称将其保存,以便在您打开包含此宏的工作簿时运行它。

您还可以编写 VBA 代码,在工作簿的 Open 事件中实现相同目的。Open 事件将在您每次打开工作簿时运行子过程 Workbook_Open() 中的代码。

Recording an Auto_Open Macro

您可以按以下步骤记录一个 Auto_Run 宏:

  1. 单击功能区的“视图”选项卡。

  2. Click Macros.

  3. 单击“记录宏”。此时将显示“记录宏”对话框。

  4. 键入 Auto_Run 作为宏名称。

  5. 键入一个描述并单击“确定”。

auto open
  1. Start recording the macro.

  2. Stop Recording.

  3. 将工作簿另存为已启用宏的工作簿。

  4. Close the workbook.

  5. 打开工作簿。Auto_Run 宏将自动运行。

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

Limitations of Auto_Open Macro

以下是一些 Auto_Open 宏的限制:

  1. 如果在其中保存 Auto_Open 宏的工作簿包含用于工作簿打开事件的代码,则打开事件的代码将覆盖 Auto_Open 宏中的操作。

  2. 如果使用打开方法运行代码打开了工作簿,则将忽略 Auto_Open 宏。

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

如果您遇到其中任何限制,则必须写入一个 Open 事件代码(如下节所述),而不是记录一个 Auto_Open 宏。

VBA Code for Open Event of a Workbook

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

在其中存储专用于绝对引用(Report_ProjectXYZ)的宏的工作簿中打开工作簿。运行该宏时,将在工作簿中添加一个新的工作表,并且项目报告结构显示在新的工作表上。

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

按照 VBA 编辑器中给定的以下过程进行操作:

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

  2. 在代码窗口中,在左侧下拉列表中选择“工作簿”,在右侧下拉列表中选择“打开”。将显示“子工作簿_打开”。

workbook open
  1. 单击“项目资源管理器”中的“模块”。

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

  3. 从模块中复制宏代码,并将其粘贴到 WorkBook_Open 中。

sub workbook open

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