将宏模块复制到另一个工作簿

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

如果工作簿包含要在其他位置使用的Visual Basic for Applications (VBA) 宏,则可以使用 Visual Basic 编辑器 (VBE) 将包含该宏的模块复制到另一个打开的工作簿。

注意

在 Excel 2021 及更新版中,出于安全原因,默认情况下禁用宏。 可能需要在 Excel 中更改宏安全设置 更改 Excel 中的宏安全设置 ,然后才能运行宏安全设置。

可以在“ 开发人员 ”选项卡上找到宏和 VBA 工具。默认情况下,此选项卡处于隐藏状态,因此第一步是启用它。

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

宏和 VBA 概述

如果不熟悉宏和 VBA,以下信息可帮助你入门。

  • 宏是可用于自动执行任务的一个或多个操作。

  • 使用“开发工具”选项卡上的“记录宏”命令来记录宏。

  • 宏以 VBA 编程语言记录。

  • 可以在 Visual Basic 编辑器(Excel 打开的窗口)中检查和编辑宏。 下面是适用于 Windows 的 VBE 窗口的示例:

    包含 Book1 模块 1 中存储的两个宏的模块。

名为 MakeCellGreenSetRowHeight 的宏位于名为 Module1 的模块中,该模块存储在 Book1 中。

若要在保存工作簿时保留宏,请使用启用宏的文件格式,例如 .xlsm 或 .xlsb。 Standard .xlsx文件不保存宏。

将模块从一个工作簿复制到另一个工作簿

  1. 打开包含要复制的宏的工作簿和目标工作簿 (启用了宏) 。

  2. 在“ 开发工具 ”选项卡上,选择“ Visual Basic ”以打开 Visual Basic 编辑器

  3. 在 Visual Basic 编辑器的“ 视图 ”菜单上,选择“ 项目资源管理器”“项目资源管理器”按钮图像, 或按 Ctrl+R

  4. 在“ 项目资源管理器 ”窗格中,将包含要复制到目标工作簿的宏的模块。 在本例中,你将 Module1 从 Book2.xlsm 复制到 Book1.xlsm。
    显示 VBAProject Book1.xlsm 和 VBAProject Book2.xlsm 的项目树的 VBA 项目资源管理器窗格。数字 1 标记 Book2.xlsm Modules 文件夹下的 Module1,数字 2 标记 Book1.xlsm 下的 Modules 文件夹,指示将模块拖动到何处以复制它。

  1. 从 Book2.xlsm 复制的模块 1
  2. 复制到 Book1.xlsm 的 Module1 副本

注意

  • 如果禁用宏,则复制的模块将显示在目标工作簿中,但在启用宏之前不会运行。
  • 在托管环境中,IT 策略可能会阻止宏或 VBA 功能运行。
  • 可能会遇到阻止在工作簿之间复制模块的权限、安全设置或阻止宏内容。

需要更多帮助吗?

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