分享高质量的原创Office教程、Word教程、Excel教程。
位置:主页 > excel教程 >

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

发布时间:2019-07-10 02:15:02 来源:www.roce6.com 浏览量:
excel表格已经在我国普及,但有一些新用户会遇见对excel表格将所有宏从一个工作簿导出到另一个工作簿进行设置的问题,其实有很多用户都反映过如何设置excel表格将所有宏从一个工作簿导出到另一个工作簿的问题,那么到底怎样才能快速的设置excel表格将所有宏从一个工作簿导出到另一个工作簿呢?其实很简单,只需要按照1。 首先,您应该同时打开两个工作簿,一个包含宏,另一个是您要导出宏的工作簿,请参见屏幕截图: 2。 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。来处理就搞定了,现在详细的给大家讲下excel表格将所有宏从一个工作簿导出到另一个工作簿的具体步骤:

 

使用VBA代码将所有宏从一个工作簿导出到另一个工作簿
 使用VBA代码将所有宏从一个工作簿导出到另一个工作簿

要将所有宏vba代码从一个Excel文件导出到另一个Excel文件,请执行以下步骤:

1。 首先,您应该同时打开两个工作簿,一个包含宏,另一个是您要导出宏的工作簿,请参见屏幕截图:

doc export macros 1

2。 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。

3。 点击 插页 > 模块, 并将以下宏粘贴到 模块 窗口。

VBA代码:将所有宏从一个工作簿导出到另一个工作簿:

 Sub ExportAndImportModule()
Dim xStrSWSName, xSreDWSName As String
Dim xSWS, xDWS As Workbook
xStrSWSName = "old-workbook"
xSreDWSName = "new-workbook"
Dim xFilePath As String
Dim xObjFD As FileDialog
Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker)
With xObjFD
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then
xFilePath = .SelectedItems.Item(1)
Else
Exit Sub
End If
End With
On Error GoTo Err1
Set xSWS = Workbooks(xStrSWSName & ".xlsm")
Set xDWS = Workbooks(xSreDWSName & ".xlsm")
Set xvbap = xSWS.VBProject
Set xVBC = xvbap.VBComponents
For Each Module In xSWS.VBProject.VBComponents
If Module.Type = vbext_ct_StdModule Then
Module.Export (xFilePath & "" & Module.Name & ".bas")
xDWS.VBProject.VBComponents.Import (xFilePath & "" & Module.Name & ".bas")
End If
Next Module
Exit Sub
Err1:
MsgBox "come to nothing!"
End Sub

注意:在上面的代码中,“旧的工作簿“是要从中导出宏的工作簿的名称,”新的工作簿“是您要导入宏的工作簿。 您应该将名称更改为您自己的名称。 这两本工作簿都应该是 XLSM 文件格式。
doc export macros 2

4。 粘贴上面的代码后,按 F5 运行这个代码的关键,和一个 浏览 窗口显示,请选择一个文件夹放置导出的宏文件,见截图:

doc export macros 3

5。 然后点击 OK 按钮,并且所有宏已从指定的工作簿导出到另一个Excel文件,并且宏文件也已保存到特定文件夹中。 查看截图:

doc export macros 4

注意:此代码只能从正常模块导出宏。