如何将多个EXCEL表格快速合拼成一张表格?

比如:下属多个单位交上来相同格式的一份EXCEL表格,我需要将他们的数据生成一张新的EXCEL表格,(也就是B表格的数据接着A表格的数据,C格的内容接着B表格的数据,连成一张表,不需要计算汇总,)以前用的方法是复制-粘贴,这种方法既繁琐,又容易出错,请教高手如何迅速的把各表合并?

新建一个工作簿,打开工作簿,按ALT+F11调出VBE窗口,在左侧右键选择插入模块,在模块内粘贴以下代码,返回表格在任意位置插入按钮,按钮上右键选择宏,最后,点击按钮就可以实现合并文件夹内所有工作簿下工作表。注:所有需要合并的工作簿必须放在同一目录下。

Sub 合并当前目录中所有工作簿下全部工作表()
Dim MP, MN, AW, Wbn, wn
Dim Wb As Workbook
Dim i, a, b, d, c, e
Application.ScreenUpdating = False
MP = ActiveWorkbook.Path
MN = Dir(MP & "\" & "*.xlsx")
AW = ActiveWorkbook.Name
Num = 0
e = 1
Do While MN <> ""
If MN <> AW Then
Set Wb = Workbooks.Open(MP & "\" & MN)
a = a + 1
With Workbooks(1).ActiveSheet
For i = 1 To Sheets.Count
If Sheets(i).Range("a1") <> "" Then
Wb.Sheets(i).Range("a1").Resize(1, Sheets(i).UsedRange.Columns.Count).Copy .Cells(1, 1)
d = Wb.Sheets(i).UsedRange.Columns.Count
c = Wb.Sheets(i).UsedRange.Rows.Count - 1
wn = Wb.Sheets(i).Name
.Cells(1, d + 1) = "表名"
.Cells(e + 1, d + 1).Resize(c, 1) = MN & wn
e = e + c
Wb.Sheets(i).Range("a2").Resize(c, d).Copy .Cells(.Range("a1048576").End(xlUp).Row + 1, 1)
End If
Next
Wbn = Wbn & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MN = Dir
Loop
Range("a1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & a & "个工作薄下全部工作表。如下:" & Chr(13) & Wbn, vbInformation, "提示"
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-04-13

将Excel表格快速合并成一张表格,除了使用VBA编程以外还可以使用WPS表格,操作步骤如下:

    依次单击“数据”选项卡-“合并表格”-“合并多个工作簿”;在弹出的对话框中点击“添加”按钮,将需要合并的工作簿文件添加进去;勾选所有的工作簿文件,点击“开始合并”按钮。