合并多个工作簿中的工作表为一个工作簿

该代码用于将多用户手中收集的多个工作表合并成单独工作簿。

  • 1.点击菜单插入模块,输入以下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub 工作薄间工作表合并()  
Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="合并工作薄")
'FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls),*.xls", 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
  • 2.保存,表格存为启用宏的工作簿,如果为xlsx记得将上面的.xls修改为xlsx,或者更换注释行。
  • 3.开发工具>运行宏,按Ctrl可选择多个文件。
  • 4.代码来源于网络,Excel2016测试有效。

注:该代码只能将工作表合并到一张工作表,但不能将多表数据合并到一张表。