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

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分别是源工作簿和目标工作簿。

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

步骤3

然后点击F5运行该模块。然后选择导出宏的文件夹,然后点击OK。

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

这就是您可以将一个工作表中的所有宏导出到另一个工作簿中的方法。

结论

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程