可通过多种方式在 Microsoft Excel 中运行宏。 宏是可用于自动执行任务的一个操作或一组操作。 宏以 Visual Basic for Applications 编程语言记录。 始终可以通过单击功能区上的“开发工具”选项卡上的“宏”命令来运行宏。 根据为宏分配的运行方式,还可以通过按组合 快捷键 、单击快速访问工具栏或功能区上的自定义组中的按钮,或者单击对象、图形或控件来运行宏。 此外,每当打开工作簿时,都可以自动运行宏。
运行宏之前
在开始处理宏之前,应启用“ 开发工具 ”选项卡。
-
对于 Windows,请转到 “文件 > 选项” > “自定义功能区”。
-
对于 Mac,请转到 Excel > 首选项... > 功能区 & 工具栏。
-
然后,在 “自定义功能区 ”部分的 “主选项卡”下,选中“ 开发人员 ”复选框,然后按 “确定”。
-
打开包含宏的工作簿。
-
在“开发工具”选项卡上的“代码”组中,单击“宏”。
-
在“ 宏名称 ”框中,单击要运行的宏,然后按“ 运行 ”按钮。
-
你还可以选择其他选项:
-
选项 - 添加快捷键或宏说明。
-
步骤 - 这将打开 Visual Basic 编辑器到宏的第一行。 按 F8 可让你一次单步执行宏代码。
-
编辑 - 这将打开 Visual Basic 编辑器,并允许根据需要编辑宏代码。 进行更改后,可以按 F5 从编辑器运行宏。
-
录制宏时,可以向其添加组合快捷键,还可以将组合快捷键添加到现有宏:
-
在“开发工具”选项卡上的“代码”组中,单击“宏”。
-
在“ 宏名称 ”框中,单击要分配给组合快捷键的宏。
-
单击“选项”。
此时会显示“ 宏选项 ”对话框。
-
在 “快捷键 ”框中,键入要用于快捷键的任何小写字母或大写字母。
注意:
-
对于 Windows,小写字母的快捷键为 Ctrl+字母。 对于大写字母,它为 Ctrl+Shift+字母。
-
对于 Mac,小写字母的快捷键为 Option+Command+字母,但 Ctrl+字母 也将正常工作。 对于大写字母,它为 Ctrl+Shift+字母。
-
请谨慎分配快捷键,因为在包含宏的工作簿处于打开状态时,这些快捷键将覆盖任何等效的默认 Excel 快捷键。 例如,如果将宏分配给 Ctrl+z,将失去 撤消功能。 因此,通常最好改用 Ctrl+Shift+大写字母 ,例如 Ctrl+Shift+Z,这在 Excel 中没有等效的快捷方式。
有关已在 Excel 中分配的 Ctrl 组合快捷键的列表,请参阅 Excel 快捷方式和功能键一文。
-
-
在“ 说明 ”框中,键入宏的说明。
-
单击 “确定” 保存更改,然后单击“ 取消 ”关闭“ 宏 ”对话框。
若要从快速访问工具栏上的按钮运行宏,必须先将按钮添加到工具栏。 为此,请参阅 将宏分配给按钮。
可以创建显示在功能区中的选项卡上的自定义组,然后将宏分配给该组中的按钮。 例如,可以将名为“我的宏”的自定义组添加到“开发工具”选项卡,然后将显示为按钮) 的宏 (添加到新组。 为此,请参阅 将宏分配给按钮。
通过单击图形对象上的区域运行宏
可以在图形上创建热点,用户可以单击该热点以运行宏。
-
在工作表中,插入图形对象(如图片)或绘制形状。 常见方案是绘制圆角矩形形状,并设置其格式,使其看起来像按钮。
若要了解如何插入图形对象,请参阅 添加、更改或删除形状。
-
右键单击创建的热点,然后单击“ 分配宏”。
-
执行下列操作之一:
-
若要将现有宏分配给图形对象,请双击该宏或在“宏名称”框中输入其 名称 。
-
若要录制要分配给所选图形对象的新宏,请单击“ 记录”,在“ 记录宏 ”对话框中键入宏的名称,然后单击“ 确定 ”开始录制宏。 录制完宏后,单击“代码”组中“开发人员”选项卡上的“停止录制 ”。
提示: 还可以单击状态栏左侧的“ 停止录制 ”。
-
若要编辑现有宏,请在“ 宏名称 ”框中单击宏的名称,然后单击“ 编辑”。
-
-
单击“确定”。
在“ 开发工具 ”选项卡上,单击“Visual Basic”启动 Visual Basic 编辑器 (VBE) 。 在 “项目资源管理器”中 浏览到包含要运行的宏的模块,然后打开它。 该模块中的所有宏都将在右侧窗格中列出。 通过将光标置于宏中的任意位置来选择要运行的宏,然后按 F5,或转到菜单上的 “运行 > 运行宏”。
创建Workbook_Open事件。
以下示例使用 Open 事件在打开工作簿时运行宏。
-
打开要在其中添加宏的工作簿,或创建新工作簿。
-
在“开发工具”选项卡上的“代码”组中,单击“Visual Basic”。
-
在 “项目资源管理器” 窗口中,右键单击“ ThisWorkbook ”对象,然后单击“ 查看代码”。
提示: 如果“项目资源管理器”窗口不可见,请在“ 视图 ”菜单上单击“ 项目资源管理器”。
-
在“代码”窗口上方的 “对象 ”列表中,选择“ 工作簿”。
这会自动为 Open 事件创建一个空过程,例如 this:
Private Sub Workbook_Open () End Sub -
将以下代码行添加到过程:
Private Sub Workbook_Open () MsgBox Date Worksheets (“Sheet1”) 。范围 (“A1”) 。Value = Date End Sub -
切换到 Excel 并将工作簿另存为启用了宏的工作簿 (.xlsm) 。
-
关闭并重新打开工作簿。 再次打开工作簿时,Excel 将运行 Workbook_Open 过程,该过程在消息框中显示今天的日期。
-
在消息框中单击“确定”。
注意: Sheet1 上的单元格 A1 还包含运行 Workbook_Open 过程的结果的日期。
需要更多帮助吗?
可随时在 Excel 技术社区中咨询专家或在社区中获取支持。