一、工作簿合并
#作者:[Lizzy_Fly](https://blog.csdn.net/Lizzy_Fly "Lizzy_Fly") (复制代码时不包括此行)
Sub 合并工作簿()
Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(.xlsx),.xlsx", MultiSelect:=True, Title:="Merge Workbooks")
X = 1
While X <= UBound(FileOpen)
Workbooks.Open Filename:=FileOpen(X)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
X = X + 1
Wend
ThisWorkbook.Sheets("sheet1").Activate
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Application.ScreenUpdating = True
Rows("1:1").Select
Selection.Delete shift:=xlUp
Range("A1").Select
MsgBox "Merge Finished!"
Range("A1").CurrentRegion.Select
ActiveSheet.Range("A:BB").RemoveDuplicates Columns:=1, Header:=xlNo
ExitHandler:
Exit Sub
errhadler:
MsgBox Err.Description
End Sub
二、工作表合并
#作者:[一个爱茶的小白](https://blog.csdn.net/weixin_35255536 "一个爱茶的小白")(复制代码时不包括此行)
Sub 合并工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub
三、使用方法
(1)脚本复制:在Excel中选择开发工具-Visual Basic
,在弹出的界面选择插入-模块
,在弹出的界面中复制代码,完成脚本编写后关闭Visual Basic界面。
(2)脚本运行:在Excel中选择开发工具-宏
,在弹出的界面中选择要执行的脚本,点击执行,实现工作簿合并/工作表合并。
参考资料:
[1] Excel工具 - 合并多个同类Excel
[2] excel如何把多张表合并成一个表_怎么把多个sheet合并成一个表 求个代码也行