把很多的Excel表汇总成一个怎么做效率高

我在行,有三种方法可以对付这种多个Excel表格合并,从简单到困难,下面我就来依次介绍下,至于效率问题,大家自己可以考虑下接受形式,毕竟自己理解并灵活应用才是硬道理 。
为了省略些时间,使用表格都合并到了同一个数据表的不同sheet下,这样讲解时也比较方便简洁 。
合并计算
合并计算功能是Excel中合并数据最方便的功能,不需要对Excel有太多的了解 。

1,选中【数据】—【合并计算】;
2,在弹出框中分别选择需要的【引用数据源】(gif中为了省略时间,已经提前选择好了数据源),勾选下面的【最左列】&【首页】&【建立数据源之间的联系】,点击确定 。
完成后就能到所有数据已经完成归总,但这个功能也有局限性:
①他要保持数据源中的数据是相同类型,不然无法合并;
②如果表格不是多sheet,是多个表格的话,勾选数据源需要分别打开各个表格,浏览功能无法精确选择 。

把很多的Excel表汇总成一个怎么做效率高


数据透视表
数据透视表也是常用的合并数据方式,多个sheet合并的话,需要使用【Alt+D+P】组合键 。
1,使用【Alt+D+P】组合键呼出数据透视表指引;
2,依次选择【多重合并数据源】—【数据透视表】—下一步—创建单页字段;
3,分别添加各个数据源—下一步—选定需要创建的表格位置——完成;
这样就能看到已经合并完成的数据表,如果是多个数据表合并的话,根据数据源位置,选择外部数据源或在添加数据源位置时使用浏览位置,具体看情况执行 。
这个方法和合并计算相比,对于数据源的选择更加灵活高效 。
把很多的Excel表汇总成一个怎么做效率高


VBA代码
这个功能我也是刚接触,代码理解还不是很清楚,只能大概讲一下流程和原理 。
1,右键选择【查看代码】在弹出框中输入以下代码:
Sub 总计()
Dim x As Integer, K As Integer
Sheets("总计").Cells.Clear
For x = 1 To 4
K = Application.CountA(Sheets("总计").[a:a]) + 1
Sheets(x).UsedRange.Copy Sheets("总计").Cells(K, 1)
Next x
End Sub
上述代码中需要注意两点:
①x的循环个数,我的表格是4个,就直接填写了4,具体数量根据自己的要求修改;
②表格名字,表格名字需要和代码中的命名一致 。
2,执行代码,选择【开发工具】—【插入】—【按钮】,在弹出框中选择执行宏代码并确定 。
这时点击代码后就能得到合并好的数据,如果还需要继续计算合并的数据,需要重复【数据透视表】中的合并计算步骤 。
把很多的Excel表汇总成一个怎么做效率高


这种VBA代码只适用于多个sheet合并,如果是外部多个表格合并,需要复制下面的代码:
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)

推荐阅读