如果工作簿包含要在其他位置使用的Visual Basic for Applications (VBA) 宏,则可以使用 Visual Basic 编辑器 (VBE) 将包含该宏的模块复制到另一个打开的工作簿。
注意
在 Excel 2021 及更新版中,出于安全原因,默认情况下禁用宏。 可能需要在 Excel 中更改宏安全设置 更改 Excel 中的宏安全设置 ,然后才能运行宏安全设置。
可以在“ 开发人员 ”选项卡上找到宏和 VBA 工具。默认情况下,此选项卡处于隐藏状态,因此第一步是启用它。
- 对于 Windows,请转到 “文件>选项>自定义功能区”。
- 对于 Mac,请转到 Excel>首选项...>功能区 & 工具栏。
- 接下来,在“自定义功能区”部分的“主选项卡”下,检查“开发人员检查”框。
宏和 VBA 概述
如果不熟悉宏和 VBA,以下信息可帮助你入门。
宏是可用于自动执行任务的一个或多个操作。
使用“开发工具”选项卡上的“记录宏”命令来记录宏。
宏以 VBA 编程语言记录。
可以在 Visual Basic 编辑器(Excel 打开的窗口)中检查和编辑宏。 下面是适用于 Windows 的 VBE 窗口的示例:
名为 MakeCellGreen 和 SetRowHeight 的宏位于名为 Module1 的模块中,该模块存储在 Book1 中。
若要在保存工作簿时保留宏,请使用启用宏的文件格式,例如 .xlsm 或 .xlsb。 Standard .xlsx文件不保存宏。
将模块从一个工作簿复制到另一个工作簿
打开包含要复制的宏的工作簿和目标工作簿 (启用了宏) 。
在“ 开发工具 ”选项卡上,选择“ Visual Basic ”以打开 Visual Basic 编辑器。
在 Visual Basic 编辑器的“ 视图 ”菜单上,选择“ 项目资源管理器
或按 Ctrl+R。在“ 项目资源管理器 ”窗格中,将包含要复制到目标工作簿的宏的模块。 在本例中,你将 Module1 从 Book2.xlsm 复制到 Book1.xlsm。
- 从 Book2.xlsm 复制的模块 1
- 复制到 Book1.xlsm 的 Module1 副本
注意
- 如果禁用宏,则复制的模块将显示在目标工作簿中,但在启用宏之前不会运行。
- 在托管环境中,IT 策略可能会阻止宏或 VBA 功能运行。
- 可能会遇到阻止在工作簿之间复制模块的权限、安全设置或阻止宏内容。
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家或在 社区中获取支持。