在 Excel 中运行宏

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac

在 Microsoft Excel 中运行宏的方法有多种。 宏是可用于自动执行任务的一个操作或一组操作。 宏以 Visual Basic for Applications 编程语言记录。 始终可以通过在功能区的“开发工具”选项卡上选择“宏”命令来运行宏。 根据分配宏运行的方式,你还可以通过按组合快捷键、选择“快速访问工具栏”上的按钮或在功能区上的自定义组中选择按钮,或者通过选择对象、图形或控件来运行宏。 此外,可在每次打开工作簿时自动运行宏。

重要

仅从您信任的文件运行宏。 宏可能造成安全风险。 有关宏安全设置的详细信息,请参阅更改 Excel 中的宏安全设置。

运行宏之前

在开始使用宏之前,请启用“ 开发工具 ”选项卡。

  • 对于 Windows,请转到“ 文件>选项>”“自定义功能区”。 在“自定义功能区”部分的“主选项卡”下,选中“开发人员”检查框,然后选择“确定”。
  • 对于 Mac,请转到“ Excel>首选项”...>工具栏 & 功能区。 在“自定义功能区”部分的“主选项卡”下,选中“开发人员”检查框,然后选择“确定”。

从“开发工具”选项卡运行宏

  1. 打开包含该宏的工作簿。

  2. 在 “开发工具 ”选项卡上,选择 宏。

  3. 在 “宏名称 ”框中,选择要运行的宏,然后选择“ 运行”。

  4. 你还有其他选择:

    • 选项 - 添加快捷键或宏说明。
    • 逐行执行 - 在宏的第一行打开 Visual Basic 编辑器。 按 F8 逐行执行宏代码。
    • 编辑 - 打开 Visual Basic 编辑器并根据需要编辑宏代码。 进行更改后,按 F5 从编辑器运行宏。

通过按组合快捷键运行宏

录制宏时,可以向宏添加组合快捷键,也可以向现有宏添加一个:

  1. 在 “开发工具 ”选项卡上,选择 宏。

  2. 在 “宏名称 ”框中,选择要分配给组合快捷键的宏。

  3. 选择“选项”。
    将出现“ 宏选项 ”对话框。

  4. 在 快捷键 框中,键入要与快捷键一起使用的任何小写或大写字母。

    注意

    • 对于 Windows,小写字母的快捷键是 Ctrl+字母。 对于大写字母,它是 Ctrl+Shift+字母。
    • 对于 Mac,小写字母的快捷键是 Option+Command+字母,但 Ctrl+字母 也可以。 对于大写字母,它是 Ctrl+Shift+字母。
    • 请谨慎分配快捷键,因为它们将在打开包含宏的工作簿时替代任何等效的默认 Excel 快捷键。 例如,如果将宏分配给 Ctrl+z,则将失去 撤消功能。 因此,通常最好改用 Ctrl+Shift+大写字母 ,例如 Ctrl+Shift+Z,它在 Excel 中没有等效的快捷方式。

    有关已在 Excel 中分配的 Ctrl 组合快捷键的列表,请参阅 文章 Excel 中的键盘快捷方式。

  5. 在 “说明 ”框中,键入宏的说明。

  6. 选择 “确定” 保存更改,然后选择“ 取消 ”关闭“ 宏 ”对话框。

通过选择快速访问工具栏上的按钮运行宏

若要从“快速访问工具栏”上的按钮运行宏,首先必须将该按钮添加到工具栏上。 为此,请参阅 将宏分配给按钮。

通过选择功能区上自定义组中的按钮来运行宏

可以创建显示在功能区选项卡上的自定义组,然后将宏分配给该组中的按钮。 例如,可以将名为“我的宏”的自定义组添加到 “开发工具 ”选项卡,然后将宏 (添加为新组的按钮) 。 为此,请参阅 将宏分配给按钮。

通过选择图形对象上的区域运行宏

可以在图形上创建热点,用户可以选择该热点来运行宏。

  1. 在工作表中,插入图形对象,如图片,或绘制形状。 常见方案是绘制圆角矩形形状,并将其格式化为看起来像按钮。
    若要了解如何插入图形对象,请参阅 添加形状。

  2. 右键单击创建的热点,然后选择“ 分配宏”。

  3. 执行下列操作之一:

    • 要将现有宏分配给图形对象,请双击宏或在“ 宏名称 ”框中输入其名称。

    • 若要录制新宏以分配给所选图形对象,请选择“ 录制宏”,在“ 录制宏 ”对话框中键入宏的名称,然后选择“ 确定” 开始录制宏。 录制完宏后,在代码组的“开发人员”选项卡上选择“停止录制”。

      提示

       还可以选择状态栏左侧的停止 录制 。

    • 若要编辑现有宏,请在 “宏名称 ”框中选择宏的名称,然后选择“ 编辑”。

  4. 选择“确定”。

从 Visual Basic 编辑器运行宏 (VBE)

在“开发人员”选项卡上,选择“Visual Basic”以启动 VBE) (Visual Basic 编辑器。 浏览 项目资源管理器 到包含要运行的宏的模块,然后将其打开。 该模块中的所有宏都将列在右侧窗格中。 通过将光标放置在宏内的任意位置并按 F5 来选择要运行的宏,或者在菜单上转到 “运行>运行宏”。

将宏配置为在打开工作簿时自动运行

创建Workbook_Open事件。

以下示例使用 Open 事件在打开工作簿时运行宏。

  1. 打开要添加宏的工作簿或创建新的工作簿。

  2. 在 “开发人员 ”选项卡的 “代码 ”组中,选择 “Visual Basic”。

  3. 在 “项目资源管理器 ”窗口中,右键单击 ThisWorkbook 对象,然后选择“ 查看代码”。

    提示

    如果“项目资源管理器”窗口不可见,请在“ 视图 ”菜单上选择“ 项目资源管理器”。

  4. 在“代码”窗口上方的 “对象 ”列表中,选择“ 工作簿”。
    这会自动为 Open 事件创建一个空过程,如下所示:

    专用子Workbook_Open ()

    End Sub

  5. 将以下代码行添加到该过程:

    专用子Workbook_Open ()
    MsgBox 日期
    Worksheets (“Sheet1”) .范围 (“A1”) 。值 = 日期
    End Sub

  6. 切换到 Excel 并将工作簿另存为启用宏的工作簿 (.xlsm) 。

  7. 关闭并重新打开工作簿。 再次打开工作簿时,Excel 将运行 Workbook_Open 过程,在消息框中显示今天的日期。

  8. 在消息框中选择 “确定” 。

    注意

    由于运行Workbook_Open过程,Sheet1 上的单元格 A1 也包含日期。

需要更多帮助吗?

你随时可以在 Excel 技术社区 中咨询专家,或在 社区中获取支持。

另请参阅

使用宏录制器自动执行任务

录制宏以在启动 Excel 时打开特定的工作簿

在单个工作簿中创建并保存所有宏

保存宏