同样合并100个工作表VBA和PQ谁的速度更快呢.docx
《同样合并100个工作表VBA和PQ谁的速度更快呢.docx》由会员分享,可在线阅读,更多相关《同样合并100个工作表VBA和PQ谁的速度更快呢.docx(10页珍藏版)》请在冰豆网上搜索。
同样合并100个工作表VBA和PQ谁的速度更快呢
同样合并100个工作表,VBA和PQ谁的速度更快呢?
合并工作表有2种主流使用方法:
VBA代码合并还有Powerquery的操作合并,这2种方法最快是VBA,但缺点也明显,需要自己写代码。
我们这里直接复制代码就可以了。
00两种方法合并工作表
01VBA合并工作表
01.打开VBA的编辑器,【开发工具】【VisualBasic】
02.进入VB编辑器,双击选择Thisworkbook对象下,复制以下代码进去:
以下为代码↓↓
Sub合并当前工作簿下的所有工作表()
DimwsAsWorksheet
DimshAsWorksheet,i%
OnErrorResumeNext'如遇错误继续运行
Application.ScreenUpdating=False'关闭屏幕刷新
Application.DisplayAlerts=False'禁用警告提示
Worksheets("汇总").Delete'删除原汇总表
Setws=Worksheets.Add(before:
=Sheets
(1))'新建工作表
ws.Name="汇总"'新建工作表命名为汇总
ForEachshInSheets:
'遍历所有工作表
Ifsh.Name<>"汇总"Then'判断工作表是否为汇总表
i=ws.Range("A"&Rows.Count).End(xlUp).Row+1'获取汇总表中A列数据区域最后一行的行号+1
sh.UsedRange.Copy'复制分表中的数据
ws.Cells(i,1).PasteSpecialPaste:
=xlPasteAll'粘贴数据
ws.Cells(i,1).PasteSpecialPaste:
=xlPasteColumnWidths'粘贴列宽
EndIf
Next
Application.DisplayAlerts=True'恢复警告提示
Application.ScreenUpdating=True'开启屏幕刷新
MsgBox"工作表合并完毕"
EndSub
03.粘贴完成后,按F5运行,即可合并该工作簿下的所有工作表。
PS:
想合并那个工作簿,就把这个代码复制到对应的工作簿编辑器即可。
02利用PQ合并工作表
要求:
2016版本以上,2016,365,2019均可。
01.新建Excel,选择数据,【获取数据】【自Excel工作簿】
02.选择对应的工作簿数据源导入进来。
03.选择上面文件夹标志的,名称就是工作簿名称处,点击【转换数据】。
(ps:
千万不要点击下面工作表预览-转换数据)
04.右击data数据列,【删除其他列】。
05.单击如图小角标,展开数据,选择对应的列。
确认。
06.数据源默认就展开,把各个工作表数据合并在一起,如无其他调整直接选择【关闭并上载至】
07.默认放置在新工作表的A1单元格作为开头。
08.确认后,合并好的数据就放置在对应的位置。
03数据源的刷新
VBA合并
01.合并代码需要放置在要合并工作表的工作簿中。
02.数据源有变化,需要重新执行一次VBA代码。
PQ合并
01.数据源有变化后,需要先保存关闭数据源表,然后刷新合并工作表数据。
02.点击合并表格,右击【刷新即可刷新】,即使数据源工作簿增加了工作表也能自动合并进去,真正做到一劳永逸。
跟着数据源的变化↓