利用VBA代码快速合并多个工作簿到一个工作簿
说明:对于“工作簿”与“工作表”你是如何理解呢?为便于理解我们用书来形容!“工作簿”是一本书,“工作表”是书中的页。一本书里有很多页,工作簿里有很多个工作表。本例是讲关于工作簿的合并。在实际工作中用得比较多,省时省力是最主要的。效果非常明显!
第一步 新建一个文件夹用于放置要整合的工作簿,然后新建一个工作表,命名为“合并”
第二步 打开“合并“工作簿后,打开【开发工具】-选择【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个工作表,都已经合并了,也就是说支持的工作簿,这个工作簿可以包含多个表。合并后,同一个工作簿的表是拓在一起的,至于工作簿的先后排序如何来设置有待研究。这个操作完之后就可以考虑多表合并的问题,我也做有例子供大家分享,共同学习。