夜雨聆风学习资料网

ARTICLE · 1308464

用 VBA 合并多个 Excel 表:不同表头、不同

用 VBA 合并多个 Excel 表:不同表头、不同

用 VBA 合并多个 Excel 表:不同表头、不同

月底最烦这事儿:5 个分公司的报表躺在文件夹里,列名还各不相同。我复制、粘贴、对列、补空值,两小时过去,还不敢保证没错位。

其实慢真不是因为文件多。真正拖速度的,是反复一格一格读写单元格。1 万行乘 9 列的表逐格写,就是 9 万次调用;100 个文件就是 900 万次。实测逐格写每秒才几百行,整块读进数组再一次性写回,能到几万行——快一百倍不止。再把屏幕刷新和自动重算关掉,还能再砍一半时间。

列顺序乱也不怕。用字典把“表头名”和“列号”对应起来,按标准表头去各文件里取数,对齐了再整块写进去。哪列对不上就留空,全程只在最后写一次,照样飞快。

不过真要上线给同事用,还得补几手:加一列来源文件名,错在哪张表一查就知道;出错也得把前面打开的文件关干净,别在后台锁死。路径放单元格、加个按钮,业务同事自己就能跑。

现在有 Power Query 和 Copilot,零代码也能合并。但我的建议很明确:Copilot 出初稿,人工验收,VBA 做确定性量产。AI 是加速器,不是替代品。

原文用 VBA 合并多个 Excel 表:不同表头、不同顺序,也能一键拼成一张总表
江苏,1小时前,

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料