Excel 如何将一个工作簿中的所有宏导出到另一个工作簿中
通过自动化重复操作,宏是一种有效的自动化工具,可帮助您节省时间和精力。偶尔,您可能希望将一组宏从一个工作表移动到另一个工作表以利用它们的功能。在本文中,我们将逐步介绍如何将一个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
在代码中,old-workbook和new-workbook分别是源工作簿和目标工作簿。
步骤3
然后点击F5运行该模块。然后选择导出宏的文件夹,然后点击OK。
这就是您可以将一个工作表中的所有宏导出到另一个工作簿中的方法。
结论
在本教程中,我们使用了一个简单的示例来演示如何将一个工作簿中的所有宏导出到另一个工作簿中,以突出显示特定的数据集。