前提:工作薄首行不能有合并的单元格
准备工作:将要合并的工作簿放在一个文件夹里面,文件夹中不能有乱七八糟的东西,只能有你要合并的工作薄
操作步骤:在此文件夹下创建Excel表格并打开,按下alt
+F11
打VBA编辑器,在菜单栏中【插入】
=>【模块】
,粘贴下方代码即可。
代码:
Sub 合并当前目录下所有工作簿() Dim Wb As Workbook Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = Dir(MyPath & "\" & "*.xlsx") AWbName = ActiveWorkbook.Name Do While MyName <> "" If MyName <> AWbName Then Set Wb = Workbooks.Open(MyPath & "\" & MyName) c = ThisWorkbook.Sheets("sheet1").UsedRange.SpecialCells(xlCellTypeLastCell).Row If c = 1 Then '防止合并的工作簿第一行空着 c = 0 End If ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets("sheet1").Cells(c + 1, 1) '合并工作簿的第一个sheet名字为:sheet1 Wb.Close False End If MyName = Dir Loop Application.ScreenUpdating = True MsgBox "已完成" End Sub