EP04. “Merge Excel Files 合并 Excel 文件”
🔒 登录后可标记已读- 5 个同事各自交来一份 Excel,你得把里面的工作表全部拼成一份总表——这种活儿几乎每个做报表的人都遇过
- 文件不多(2-10 份)时手动用 Move or Copy(移动或复制)搬过去就好;文件一多,手动搬太慢,改用 VBA 宏自动化更实际
- VBA 部分不用自己写代码,套用现成的宏模板照抄操作就能跑
- 学完能把分散的季度报表、分店报表合并成一份总表
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
两种合并方法怎么选
| 方法 | 适合场景 | 备注 |
|---|---|---|
| 方法一 Move or Copy | 文件数量少(2-10 份),偶尔合并一次 | 纯手动操作,不用写代码 |
| 方法二 VBA 宏自动化 | 文件数量多,或经常要重复合并 | 用现成的宏模板,照抄操作即可,不用自己写代码 |
方法一:Move or Copy(适合 2-10 份文件)
以合并 quarter-1.xlsx 和 quarter-2.xlsx 两份文件为例:
- 打开要合并的两份 Excel 文件
- 在 quarter-2.xlsx 里,按住
Ctrl键并点击要合并的工作表标签,可以一次选中多个工作表(如果要选连续的一整排,先点第一个标签,再按住Shift点最后一个) - 在选中的工作表标签上右键,选择 Move or Copy(移动或复制)
- 在弹出对话框的下拉列表里,选择目标工作簿 quarter-1.xlsx
- 选择 "(move to end)"(移到最后)
- 勾选 Create a copy(建立副本)——这样原文件里的工作表不会被移走,只是复制一份过去
- 点击 OK
[截图:Move or Copy 对话框,To book 下拉选择目标工作簿、Create a copy 复选框已勾选的界面]
- 如果还有其他文件要合并,重复步骤 2-7
- 全部合并完,用 File → Save As(文件 → 另存为),把合并后的工作簿存成新文件
方法二:VBA 宏自动化(适合大量文件)
- 下载 'import-sheets.xlsm' 这个含有宏的模板文件
- 把要合并的所有 Excel 文件都放进同一个文件夹(例如
C:\test) - 打开 import-sheets.xlsm,点击里面的 "Import Sheets" 按钮,宏会自动把该文件夹内所有文件的工作表汇入进来
示例:合并 book4.xlsx(内含一个工作表 "OneSheet")和 book5.xlsx(内含 "FirstSheet" 和 "SecondSheet" 两个工作表),运行宏后三个工作表都会被汇入到同一份工作簿里。
学完你会
- ✅ 文件数量少时,用 Move or Copy 手动把工作表合并到一份工作簿
- ✅ 文件数量多时,知道改用 VBA 宏自动化,不用逐个手动搬
- ✅ 合并时记得勾选 Create a copy,不会把原文件的工作表搬丢
常见错误
- 忘记勾选 Create a copy,导致工作表直接被「移走」而不是「复制」,原文件里少了这个工作表
- 文件数量很多还坚持用手动 Move or Copy 一个个搬,效率太低,应该改用 VBA 宏方案
- 用 VBA 方案时,把待合并文件放错文件夹路径(不是宏指定的那个),导致宏找不到文件
Sources
Blog / Website: