宏编程实现批量合并excel保留单一表头
1.新建一个文件夹 excel_data(名字自定义)
2.把所有需要合并的excel表格放到excel_data文件夹里面
3.再在excel_data文件夹里面新建一个空的excel表格 all.xls(名字自定义)
4.打开all.xls右击sheet1选择查看代码会弹出代码框
5.把下面的代码复制进去
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 If Num = 1 And G = 1 Then Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row, 1) Else Wb.Sheets(G).UsedRange.Offset(1).Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1) End If 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
6.点击头部导航的 运行子过程/用户窗体 或者 点击绿色运行按钮执行代码(如下图)
7.合并成功会有如下提示
8.合并失败请自行检查操作是否正确,建议重新执行。