Sub MergeWorkbooks()
Dim FileSet '定义文件组
Dim i As Integer
On Error GoTo 0
Application.ScreenUpdating = False '屏蔽屏幕刷新,进而提高运行速度,但在结尾要重新开启的。
FileSet = Application.GetOpenFilename(FileFilter:="Excel 2003(*.xls),*.xls, Excel 2007(*.xlsx),*.xlsx", _ '后面没有,黄字不要粘
MultiSelect:=True, Title:="选择要合并的文件") '打开
要合并的文件组
If TypeName(FileSet) = "Boolean" Then
GoTo ExitSub
End If
For Each Filename In FileSet
Workbooks.Open Filename
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) '添加到本EXCEL文件的最后一个SHEET后面
Next
ExitSub:
Application.ScreenUpdating = True '恢复屏幕刷新
End Sub
转载于:https://blog.51cto.com/hongli/1385914