功能描述:合并当前文件夹下面所有excel,包括每一个工作簿与每一个工作簿下面的每一个工作表
步骤:
1、所有表的每个sheet需要表头一致;
2、所有表需要放在一个文件夹下面;
3、该程序会合并当前文件夹下面所有后缀名为指定后缀名的数据;
4、在该文件夹下面新建一个同样后缀名的excel;
5、打开新建的表格,快捷键:Alt + F11 打开VBA界面;
6、复制以下代码
7、快捷键F5 运行
Sub Macro1()
Dim MyPath$, MyName$, sh As Worksheet, sht As Worksheet
Application.ScreenUpdating = False
Set sh = ActiveSheet
MyPath = ThisWorkbook.Path & "\"
MyName = Dir(MyPath & "*.xlsx")
[a1].CurrentRegion.Offset(1).Clear
Do While MyName <> ""
If MyName <> ThisWorkbook.Name Then
With GetObject(MyPath & MyName)
For Each sht In .Sheets
If sht.[a1].CurrentRegion.Rows.Count > 1 Then
lr = sh.[a1].CurrentRegion.Rows.Count + 1
r = sht.[a1].CurrentRegion.Rows.Count - 1
sh.Cells(lr, 1).Resize(r) = MyName
sh.Cells(lr, 2).Resize(r) = sht.Name
sht.[a1].CurrentRegion.Offset(1).Copy sh.Cells(lr, 3)
End If
Next
.Close False
End With
End If
MyName = Dir
Loop
Application.ScreenUpdating = True
MsgBox "ok"
End Sub