如何把多个excel汇总到一个excel

2024-10-31 19:21:21
有2个网友回答
网友(1):

1、一个工作簿里面有多个工作表,各工作表之间的字段是一致的,但数据不一致。由于工作需要,需要将各个工作表的数据汇总到一个表格里面做汇总分析,数据少、工作表数目不多的时候,CTRL+C后CTRL+V逐个复制粘贴是可以的,但数据量大、工作表数据多的时候,则可以用宏进行快速处理;

2、从上图中,后面的5个工作表,里面是源数据。“合并报表”这个表,则是要将后面5个表格的数据汇总的表格,其内容为空。
3、方法:使用宏快速汇总:
(1)录制宏:首先,点击文件菜单的“工具”菜单,选择“宏”—“宏”

出现以下的宏界面,在“宏名”中按照自己喜好录入一个名称,这里录入“合并工作表”的名称,“位置”是指该宏可以在那个EXCEL工作簿中使用,这里选择“当前工作簿”。然后点击“创建”。

出现以下的宏录入界面

Sub 合并工作表()”下面,将以下的字符复制粘贴过去
Dim m As Integer Dim n As Integer Dim o As Integer For m = 2 To 6
n = Sheets(m).[a65536].End(xlUp).Row o = Sheets(1).[a65536].End(xlUp).Row Sheets(m).Select
Range("a1", "z" & n).Select Range("a" & n).Activate Selection.Copy Sheets(1).Select
Range("a" & o + 1).Select ActiveSheet.Paste Next
特别注意这一段字符“For m = 2 To 6”,由于要汇总的数据的工作表有5个,加上“合并报表”这个工作表本身,一共是6个工作表,因此“For m = 2 To 6”中选择输入6,如果后面要汇总的数据工作表有3个,则是录入4,如果有12个,则是录入13,依次类推。

然后,点击“文件”菜单,选择“关闭并返回到Micrlsoft Excel”。宏至此录入完毕。
(2)使用已录制好的宏“合并工作表”,进行工作表的数据汇总。首先,在“合并报表”中,点击点击文件菜单的“工具”菜单,选择“宏”—“宏”

出现宏界面,点击选择“合并工作表”,然后点击“执行”。就能达到汇总的效果。要注意,为避免出错,最好检查以下汇总后的报表中有数据的行数,是否等于后面各个报表有数据的行数总和。

另外要注意,已经使用宏的报表,在保存时,会出现以下提示,点击确定即可。

网友(2):

1、新建一个文件夹、将要合并的表格放到里面、新建一个表格、用excel打开、右击Sheet1
2、选择查看代码(PS:excel有着一项,WPS没有)
3、将下列代码复制到文本框中:
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、点击运行、一段时间(取决于表格的大小和多少)后,合并完成了。