如何在 Excel 中将多个工作簿合并成一个主工作簿?
当您需要在 Excel 中将多个工作簿合并成一个主工作簿时,是否曾为此感到困扰?更棘手的是,这些待合并的工作簿中还包含多个工作表。那么,如何才能只将多个工作簿中的指定工作表合并到一个工作簿中呢?本教程将逐步为您演示几种实用方法,助您轻松解决这一难题。
使用“移动或复制”功能将多个工作簿合并为一个工作簿
如果只需合并少量工作簿,您可以使用“移动或复制”命令,手动将原始工作簿中的工作表复制到主工作簿中。
1. 打开所有您要合并到主工作簿中的工作簿。
2. 在原始工作簿中,选择您要移动或复制到主工作簿的工作表。
备注:
1)。按住 Ctrl 键,逐个单击工作表标签,即可选择多个不相邻的工作表。
2)。若要选择多个相邻的工作表,请单击第一个工作表标签,按住 Shift 键,再单击最后一个工作表标签即可全部选中。
3)。右键单击任意工作表标签,在快捷菜单中点击全选工作表,即可同时选中工作簿中的所有工作表。
3. 选中所需工作表后,右键单击工作表标签,在快捷菜单中点击移动或复制。参见截图:

4. 此时会弹出移动或复制对话框,在工作簿下拉列表中选择要将工作表移动或复制到的目标主工作簿;在工作表之前框中选择“移至底部”,勾选建立副本复选框,最后单击确定按钮。

此时,您会看到两个工作簿中的工作表已合并为一个。请重复上述步骤,将其他工作簿中的工作表移至主工作簿。

使用 VBA 将多个工作簿或指定工作表合并到一个主工作簿中
若需将多个工作簿快速合并为一个,您可使用以下 VBA 代码。请按以下步骤操作:
1. 请将所有需要合并的工作簿统一存放至同一目录下。
2. 启动一个 Excel 文件(该工作簿将作为主工作簿)。
3. 按下 Alt+F11 键,打开 Microsoft Visual Basic for Applications 窗口。在该窗口中,单击插入> 模块,然后将下方的 VBA 代码复制到模块窗口中。
VBA 代码 1:将多个 Excel 工作表合并为一个
Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub 备注:
1. 上述 VBA 代码在合并后将保留原始工作簿中的工作表名称。
2. 若希望在合并后能清晰区分主工作簿中的工作表分别来自哪个原始文件,请使用以下 VBA 代码 2.
3. 如果您只想将工作簿中的特定工作表合并到一个主工作簿中,以下 VBA 代码 3 即可助您轻松实现。
在 VBA 代码中,“C:\Users\DT 168\Desktop\KTE\” 为文件路径;在 VBA 代码 3 中,“Sheet 1,Sheet 3” 为您需合并至主工作簿的指定工作表。您可根据实际需求灵活修改这些内容。
VBA 代码 2:将多个工作簿合并为一个(每个工作表将以其原始文件名作为前缀命名):
Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
VBA 代码 3:将多个工作簿中的指定工作表合并到一个主工作簿中:
Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next
xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"
xArr = Split(xStrName, ",")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub 4. 按下 F5 键运行代码后,指定文件夹中所有工作簿的全部工作表或指定工作表将一次性合并到一个主工作簿中。
轻松将多个工作簿或指定工作表合并为一个工作簿
Kutools for Excel 的合并工作簿工具让多个工作簿合并为一个变得非常简单。下面我们将演示如何使用此功能轻松合并多个工作簿。
在使用 Kutools for Excel 前,请先下载并安装。
1. 创建一个新工作簿,然后点击 KUTOOLS PLUS 中的合并。随后将弹出对话框,提示您:所有要合并的工作簿必须已保存,且该功能无法应用于受保护的工作簿,请点击确定按钮。

2. 在汇总工作表向导中,选择复制多个工作簿中的工作表到一个工作簿中选项,然后点击下一步按钮。参见截图:

3. 在 汇总工作表 —— 步骤 2(共 3 步) 对话框中,单击添加> 文件 或文件夹,即可添加要合并的 Excel 文件。添加完成后,单击完成按钮,并选择一个文件夹保存主工作簿。参见截图:

现在所有工作簿都已合并为一个。
与上述两种方法相比,Kutools for Excel 具有以下优势:
- 1)所有工作簿和工作表都会列在对话框中;
- 2)对于不想合并的工作表,只需取消勾选即可;
- 3)空白工作表会被自动排除;
- 4)合并后,原始文件名将作为前缀添加到工作表名称中;
- 有关此功能的更多详情,请点击此处。
如果您想免费试用(30 天)此工具,请点击此处下载,然后按照上述步骤操作即可。
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……
Office Tab 为 Office 带来标签式界面,让您的工作更轻松
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!
所有 Kutools 插件,一个安装程序
Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱