如何一键合并Excel工作表

网友投稿 683 2022-12-02

如何一键合并excel工作表

文章介绍合并工作表的方法,用VBA代码实现合并工作表。

下图所示:一个文件夹下面有多个excel工作薄,每个工作薄文件下面有不固定张数的工作表。比如有的文件只有一张工作,有的文件是多张工作表。

现在的问题,如何将这些多个文件实现合并工作表。将这些所有工作表全部合并到同一张工作表。

一般的做法,通过“移动或复制”实现合并工作表。要高效,可以使用VBA代码来实现合并工作表。

合并工作表操作步骤:

新建一个excel文件,按ALT+F11,打开VBE编辑器,复制下面的代码,然后运行,选择文件夹下面的所有excel文件,执行合并工作表。

Sub 合并工作簿() Dim FilesToOpen, wb As Workbook, sht As Worksheet Dim x As Integer

On Error GoTo ErrHandler Application.ScreenUpdating = False

FilesToOpen = Application.GetOpenFilename _ (FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx", _ MultiSelect:=True, Title:="Files to Merge")

If TypeName(FilesToOpen) = "Boolean" Then MsgBox "No Files were selected" GoTo ExitHandler End If

x = 1 While x <= UBound(FilesToOpen) If FilesToOpen(x) <> ThisWorkbook.FullName Then Set wb = Workbooks.Open(Filename:=FilesToOpen(x)) For Each sht In wb.Sheets sht.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) Next wb.Close End If x = x + 1 Wend

ExitHandler: Application.ScreenUpdating = True Exit Sub

如何一键合并Excel工作表

ErrHandler: MsgBox Err.Description Resume ExitHandlerEnd Sub

说明:上面代码是合并xlsx文件,如果是合并excel2003的文件,需要将:FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx",xlsx改为.xls。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Excel VBA:工作表保护图解教程
下一篇:Excel如何实现有规则跳空求和
相关文章