如果工作簿中包含要在其他位置使用的 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。
- 模块 1 复制自 Book2.xlsm
- Module1 的副本已复制到 Book1.xlsm
注意
- 如果禁用宏,则复制的模块将显示在目标工作簿中,但在启用宏之前不会运行。
- 在托管环境中,IT 策略可能会阻止宏或 VBA 功能运行。
- 你可能会遇到阻止在工作簿之间复制模块的权限、安全设置或阻止的宏内容。
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家,或在 社区中获取支持。