当前位置: > 热闻

利用VBA代码快速合并多个工作簿到一个工作簿

时间:2022-04-23 18:52:10 热闻 我要投稿

说明:对于“工作簿”与“工作表”你是如何理解呢?为便于理解我们用书来形容!“工作簿”是一本书,“工作表”是书中的页。一本书里有很多页,工作簿里有很多个工作表。本例是讲关于工作簿的合并。在实际工作中用得比较多,省时省力是最主要的。效果非常明显!

第一步 新建一个文件夹用于放置要整合的工作簿,然后新建一个工作表,命名为“合并”

第二步 打开“合并“工作簿后,打开【开发工具】-选择【visual basic】

第三步 将代码复制进模块中,不用修改,也不需要理解,会用就可以。关于VBA代码知识自已另外学习吧!

Sub 合并工作薄()

Dim FileOpen

Dim X As Integer

Application.ScreenUpdating = False

FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(.xlsx),.xlsx", MultiSelect:=True, Title:="合并工作薄")

X = 1

While X <= UBound(FileOpen)

Workbooks.Open Filename:=FileOpen(X)

Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

X = X + 1

Wend

ExitHandler:

Application.ScreenUpdating = True

Exit Sub

errhadler:

MsgBox Err.Description

End Sub

双击进入模块中,将代码

第四步 点保存。点是代表只能这一次,下回打开表是没有这些代码的,想要保留代码就要把文件保存为另一种支持宏的文件。宏方面的知识这里不多说。本例选择“是“

第五步 点【运行】并选择【运行子过程/用户窗体】,最快是按快捷键F5

跳出下面的窗口点运行

第六步 根据实际需求,通过浏览窗口找到要合并的工作簿,可配合Ctrl键和Shift键选择需要合并的工作簿,选择后打【打开】。工作簿数量多的话就要等一小会,假如用手工打开复制再粘贴的话就不是一小会了可能是几个小时,也可能是天来计算。电脑配置好就会快些。本例只选择表一、表二、表三。

第八步 合并后效果如下图。

第九步 表一、表二、表三工作簿都合并到合并工作簿中,3个工作簿中都包含有2个工作表,都已经合并了,也就是说支持的工作簿,这个工作簿可以包含多个表。合并后,同一个工作簿的表是拓在一起的,至于工作簿的先后排序如何来设置有待研究。这个操作完之后就可以考虑多表合并的问题,我也做有例子供大家分享,共同学习。