汇总多个工作表为一个工作表,三种方法不知道那一种适合你原创
3人赞赏了该文章
247次浏览
编辑于2020年08月26日 09:42:57
有很多小伙们一直在提问关于如果汇总多个工作表至一个工作表中,老师给大家整理了一下,给大家整理了三种通用的方法。这三种方法分别是:Power Query,SQL以及VBA。
如下图所示,一个工作簿中有三个相同的工作表,现将他们汇总至一个工作表中。
结果如下图所示:
方法01
Power Query
具体的操作步骤如下:
Step-01:单击【数据】-【获取数据】-【自文件】-【从工作簿】,找到该工作簿所在的路径并单击【导入】。如下图所示:
Step-02
:在弹出的界面中单击文件夹选项,再单击【转换数据】,如下图所示:Step-03
:在弹出的PQ界面中,单击“Data”列的扩展按钮,在对话框中单击【确定】即可,并在弹出的界面中选择最后三列,右键单击【删除列】,如下图所示:Step-04
:然后将第一行作为行标题,同时修改第一列的标题名称为“季度”,筛选掉多余的标题行。如下图所示:Step-05
:最后关闭并上载即可,如图所示:方法02
SQL语句
除了以上的方法,还有一个方法也还可以实现,那就是使用SQL的方法。
Step-01:在一张空白的表中单击【数据】-【现有连接】,在弹出的对话框中选择【浏览更多】,在打开的对话框中选择当前操作的工作簿,单点打开,在弹出的对话框中选择任意一个要合并的工作玥,单击【确定】,如下图所示:
Step-02
:在弹出的对话框中选择【现有位置】后单击【属性】,如下图所示:Step-03:
在弹出的对话框中单击【自定义】,然后在【命令文本】中输入以下的SQL语句代码,最后单击【确定】后再次单击【确定】,如下图所示:select *
from [2018Q1$]
union all
select *
from [2018Q2$]
union all
select *
from [2018Q3$]
方法03
VBA
除此之外,还有VBA代码也可以解决这个问题。
Step-01:单击【开发工具】-【Visual Basic】,在弹出的对话框中右键单击【插入】-【模块】,如下图所示:
Step-02:在右面的代码区粘贴代码:
Sub 多表合并()
Dim arr()
a = Range("a1").End(xlToRight).Column
For Each sh In Sheets
If sh.Name <> "汇总" Then
arr1 = sh.Range("a2").Resize(sh.UsedRange.Rows.Count - 1, a)
act = act + UBound(arr1)
ReDim Preserve arr(1 To a, 1 To act) '
For j = 1 To UBound(arr1)
n = n + 1
For i = 1 To a
arr(i, n) = arr1(j, i)
Next i
Next j
End If
Next
Sheets("汇总").[a2].Resize(n, a) = Application.Transpose(arr)
End Sub
Step-03:插入一个按钮,指定宏代码为“多表合并”,单击按钮即可合并,如下图所示:
作者:我是世杰,财务excel深度玩家,坚持每天分享财务excel干货,微信公众号:24财务excel
赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读