如何将一个工作簿中的所有宏导出到另一个工作簿?


宏通过自动化重复操作,是有效的自动化工具,可以帮助您节省时间和精力。您可能偶尔需要将一组宏从一个工作表移动到另一个工作表以利用其功能。在本文中,我们将引导您完成将所有宏从一个 Excel 文件导出到另一个 Excel 文件的每个步骤。完成后,您将能够在整个 Excel 项目中使用自动化功能,因为您将拥有轻松地在工作簿之间移动宏所需的知识和技能。让我们开始吧!

将所有宏从一个工作簿导出到另一个工作簿

在这里,我们将首先创建一个 VBA 模块,然后运行它来选择文件夹以完成任务。让我们来看一个简单的过程,了解如何在 Excel 中将所有宏从一个工作簿导出到另一个工作簿。

步骤 1

考虑任意两个 Excel 工作簿,一个包含多个宏,另一个是新工作表。

首先,右键单击工作表名称,然后选择“查看代码”以打开 VBA 应用程序。

右键点击 > 查看代码。

步骤 2

然后单击“插入”选择“模块”,然后将下面的代码复制到文本框中。

代码

Sub ExportImportMacros()
   Dim SourceWorkbook As Workbook
   Dim DestinationWorkbook As Workbook
   Dim SourceModule As Object
   Dim DestinationVBProject As Object
   Set SourceWorkbook = Workbooks.Open("C:\Users
i31a\OneDrive\Desktop\old-workbook.xlsm") Set DestinationWorkbook = Workbooks.Open("C:\Users
i31a\OneDrive\Desktop
ew-workbook.xlsm") Set SourceModule = SourceWorkbook.VBProject.VBComponents.Item("Module1").CodeModule Set DestinationVBProject = DestinationWorkbook.VBProject On Error Resume Next DestinationVBProject.VBComponents.Remove DestinationVBProject.VBComponents.Item("Module1") On Error GoTo 0 DestinationVBProject.VBComponents.Add vbext_ct_StdModule Dim DestinationModule As Object Set DestinationModule = DestinationVBProject.VBComponents(DestinationVBProject.VBComponents.Count) DestinationModule.CodeModule.AddFromString SourceModule.Lines(1, SourceModule.CountOfLines) DestinationWorkbook.Save SourceWorkbook.Close False DestinationWorkbook.Close True Set SourceModule = Nothing Set DestinationModule = Nothing Set DestinationVBProject = Nothing Set SourceWorkbook = Nothing Set DestinationWorkbook = Nothing End Sub

在代码中,“旧工作簿”和“新工作簿”分别代表源和目标。

步骤 3

然后单击 F5 运行模块。然后选择要导出宏的文件夹并单击“确定”。

这就是如何在 Excel 中将所有宏从一个工作表导出到另一个工作簿的方法。

结论

在本教程中,我们使用了一个简单的示例来演示如何将 Excel 中一个工作簿的所有宏导出到另一个工作簿,以突出显示特定数据集。

更新于:2023年8月24日

276 次浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告