需求:有多个Excel表格,每个表格的sheet页数据格式相同,需要将所有Excel表格中的sheet页数据汇总到一个新的Excel表格。
难点:将多个Excel表中的sheet页(格式相同)的数据汇总另一个工作表中
步骤:
1、将所有需要合并的Excel表格放到同一个目录下面,并新建一个需要汇总结果的空Excel表格
2、打开空白的汇总表,光标移动到A1,找到菜单“开发工具-》VB编辑器”
3、将如下VB代码复制到编辑器中,点击菜单“运行-》运行子过程”
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B65536").End(xlUp).Row 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
4、运行后表格数据已汇总,结果如下,但是有重复的表头,需要通过筛选的方式将多余的表头删除掉即可