Excel 教程:将多个工作簿/工作表合并为一个
在 Excel 中,合并工作表是大多数用户(尤其是初学者)常遇到的一项任务,虽常见却颇具挑战。本教程涵盖了您可能遇到的几乎所有合并场景,并提供了对应的专业解决方案。您可以点击下方导航列表中的链接,快速直达所需答案;也可逐一学习以下内容,系统掌握合并技巧。
在 Excel 中,合并操作可分为两类:一类仅合并内容,另一类则在合并内容的同时执行特定计算。
本教程导航 |
合并内容 |
汇总 |
Google 工作表 |
扩展功能 |
注意
在本教程中,我创建了若干工作表和示例数据,以便更清晰地演示相关方法。当您使用以下 VBA 代码或公式时,可根据实际需求调整引用,也可直接下载示例文件亲自体验这些方法。
合并内容
此处有一个包含 4 个工作表的工作簿,需将它们合并为一个工作表。
| ![]() |
![]() | ![]() |
在 Excel 中,除了传统的复制粘贴方式,您还可以借助 VBA 代码,快速将所有工作表合并到一个工作表中。
1. 按下 F11 键和 Alt 键,即可打开 Microsoft Visual Basic for Applications 窗口。
2. 然后在弹出的窗口中,单击插入> 模块,即可插入一个新的空白模块。
3. 将下方代码复制并粘贴到新建的模块中。
VBA:将所有工作表合并为一个
Sub CombineAllSheetsIntoOneSheet()
'UpdatebyExtendoffice
Dim I As Long
Dim xRg As Range
On Error Resume Next
Worksheets.Add Sheets(1)
ActiveSheet.Name = "Combined"
For I = 2 To Sheets.Count
Set xRg = Sheets(1).UsedRange
If I > 2 Then
Set xRg = Sheets(1).Cells(xRg.Rows.Count + 1, 1)
End If
Sheets(I).Activate
ActiveSheet.UsedRange.Copy xRg
Next
End Sub 
在上述代码中,脚本中的“Combined”是用于存放合并内容的工作表名称,您可根据需要将其更改为其他名称。
4. 按 F5 键运行代码,系统将在所有工作表前自动创建一个名为 Combined 的工作表,用于汇总各表内容。
1.2 使用查询功能合并所有表格或命名区域(Excel 2016 及更高版本)
如果您使用的是 Excel 2016 或更高版本,查询功能可助您一键将所有已创建的表格或命名区域轻松合并为一个。
首先,请确保这些区域已创建为表格或命名区域。有关如何创建表格和命名区域,请参阅 如何在 Excel 中将区域转换为表格或反之以及在公式中定义和使用名称。
1. 打开要合并所有工作表的工作簿,单击数据 > 新建查询 > 来自其他源 > 空白查询。
2. 在弹出的查询编辑器窗口中,转到编辑栏并输入以下公式。
=Excel.CurrentWorkbook()
按下 Enter 键后,当前工作簿中的所有表格均已列出。
3. 单击 Content 旁的展开按钮,勾选展开选项和全选列复选框。
4. 单击确定,所有表格将逐一列出。
您可以右键单击任意列标题,对所选列执行更多操作。
5. 然后单击文件> 关闭并加载至……。
6. 在加载至对话框中,勾选表格选项,然后在选择数据加载位置区域中选择所需位置以加载合并后的表格,单击加载。
现已创建一个新工作表,用于存放所有合并后的表格。
如果上述方法无法满足您的需求,不妨尝试 Kutools for Excel 这款实用便捷的工具。其合并功能十分强大,不仅能将所有工作表合并为一个工作表,还能完成多种高级合并任务,例如:将多个工作表合并到一个工作簿、合并同名工作表、仅合并选中工作表,以及跨文件合并工作表等。
1. 启用要合并其工作表的工作簿,单击 KUTOOLS PLUS > 合并。此时将弹出一个对话框,提醒您注意密码相关事项;如果要使用的工作簿未设置密码,请直接单击确定继续。

2. 在 汇总工作表 – 步骤 1(共 3) 窗口中,勾选复制多个工作簿中的数据到一个工作表中选项,然后单击下一步按钮。
3. 在 步骤 2(共 3) 窗口中,默认情况下,当前工作簿已在工作簿列表窗格中列出并勾选,其所有工作表也已在工作表列表窗格中列出并勾选,单击下一步继续。
注意:若您同时打开了多个工作簿,所有已打开的工作簿都会显示在工作簿列表中,请仅勾选您需要使用的工作簿。
4. 在最后一步中,根据需要选择合并模式:可选择按行合并数据或按列合并数据;随后按需设置其他选项,点击完成按钮即可。
5. 此时会弹出一个对话框,供您选择文件夹以保存合并后的工作簿,您可在文件名栏中重命名,然后单击保存完成操作。
6. 现在所有工作表都已合并完成,系统将弹出对话框,询问您是否将当前设置保存为方案,请根据需要单击是或否。
一个新工作簿弹出窗口将展示合并结果,单击输出文件链接即可查看合并后的工作表。
按行合并数据
按列合并数据
1.41 使用便捷工具仅将选中工作表合并为一个工作表
如果您只想将工作簿中的部分工作表合并为一个工作表,Excel 内置功能无法实现此操作。但借助 Kutools for Excel 的合并功能,即可轻松完成!
1. 启用您使用的工作簿,单击 KUTOOLS PLUS > 合并 > 确定 以启用合并向导。

2. 在 步骤 1(共 3) 窗口中,勾选复制多个工作簿中的数据到一个工作表中选项,然后单击下一步按钮。
3. 在“步骤 2(共 3)”窗口中,默认已列出当前工作簿并自动勾选,其所有工作表也已在工作表列表窗格中列出并勾选;请取消勾选无需合并的工作表,然后单击“下一步”继续。
4. 在最后一步中,根据需要指定选项,点击完成按钮。
5. 此时会弹出一个对话框,供您选择文件夹以保存合并后的工作簿,您可在文件名栏中重命名,单击保存即可完成。
6. 现在仅勾选的工作表已被合并,系统将弹出对话框询问是否将当前设置保存为方案,请根据需要单击是或否。

1.42 提供一个便捷工具,可将多个工作簿中的工作表合并到一个工作表中
例如,您希望将 book 1、book 2 和 book 3 的所有工作表合并为如下图所示的一个工作表,Kutools for Excel 的合并功能也可以帮您轻松实现。
在免费安装 Kutools for Excel 后,请按以下步骤操作:
1. 启用您要使用的工作簿,然后单击 KUTOOLS PLUS > 合并 > 确定,即可启动合并向导。
2. 在 步骤 1(共 3) 窗口中,勾选复制多个工作簿中的数据到一个工作表中选项,然后点击下一步按钮。
3. 在 步骤 2(共 3) 窗口中,所有已打开的工作簿均已列于工作簿列表窗格并已勾选,所有已打开工作簿的工作表也均已列于工作表列表窗格并已勾选,请单击下一步继续。
提示:如果您想添加要合并的工作簿,请单击“添加”按钮选择路径来添加工作簿。
4. 在最后一步中,根据需要选择相应选项,然后点击功能区上的完成按钮。
5. 此时会弹出一个对话框,让您选择文件夹以保存合并后的工作簿。您可在文件名栏中重命名,然后单击保存完成操作。
6. 现在,所有已打开工作簿中的工作表都已合并完成,系统将弹出对话框,询问您是否将当前设置保存为方案,请根据需要单击是或否。
打开您已保存的合并工作簿,即可看到来自多个工作簿的工作表已整合至单个工作表中。
以下是需要合并到同一工作簿中的三个工作簿。
| 1 月 | 2 月 | 3 月 |
![]() | ![]() | ![]() |
如果只需合并少量工作簿中的工作表,使用 Excel 的移动或复制命令即可轻松满足您的需求。
1. 打开前两个要合并的工作簿,激活第一个工作簿,选择要移动的工作表,右键单击以打开上下文菜单,然后点击移动或复制。
提示
1)若要移动所有工作表,请先在任意工作表标签上右键单击,从上下文菜单中选择选定全部工作表,再使用移动或复制命令即可。
2)按住 Ctrl 键,即可选择多个不相邻的工作表。
3)先选择第一个工作表,再按住 Shift 键并单击最后一个工作表,即可快速选中多个相邻的工作表。
2. 在移动或复制对话框中,从移到工作簿下拉列表中选择要将工作表移入的目标工作簿(此处选择 Jan),然后在位于工作表之前区域指定放置位置,最后单击确定。
注意:
1)建议勾选建立副本,否则移动后原始工作簿将丢失该工作表。
2)如果要将所有工作簿合并到一个新工作簿中,请在移到工作簿下拉列表中选择(新工作簿)。
所有工作表均已移至主工作簿中。
重复上述步骤,将所有工作簿合并为一个。
2.2 使用 VBA 代码将多个工作簿(位于同一文件夹中)合并为一个工作簿
若要合并大量位于同一文件夹中的工作簿,您可以使用 VBA 代码。
1. 启用您要将其他工作簿合并到的目标工作簿,然后按 Alt+F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
2. 在弹出的窗口中,单击插入> 模块,即可插入一个新的空白模块。
3. 将下方的 VBA 代码复制并粘贴到新建的模块中。
VBA:将多个工作簿合并为当前工作簿
Sub GetSheets()
'Updated by Extendoffice
Path = "C:\Users\AddinTestWin 10\Desktop\combine sheets\combine sheets into one workbook\"
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 
注意
在 VBA 代码中,脚本 “C:\Users\AddinTestWin 10\Desktop\combine sheets\combine sheets into one workbook\" 是您要合并的工作簿所在文件夹的路径,请根据实际需求修改该路径。
如果要合并的工作簿位于不同文件夹中,请先将它们复制到同一个文件夹中。
4. 按 F5 键运行代码后,所有工作簿的内容将自动复制到当前工作簿的末尾。
提示:所有复制的工作表将保留其原始名称;如果您希望以工作簿名称作为前缀,请使用以下代码:
Sub MergeWorkbooks()
'Updated by Extendoffice
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\AddinTestWin10\Desktop\combine sheets\combine sheets into one workbook\"
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 
2.3 使用便捷工具将多个工作簿(跨多个文件夹)合并为一个工作簿
有时,您可能需要将不同文件夹中的所有工作簿合并为一个工作簿。例如,要将文件夹 2020 和 2021 中的所有工作簿合并为一个工作簿,Excel 本身并无直接方法处理此需求。
Kutools for Excel 的合并功能提供了将多个文件夹中的工作簿合并为一个的选项。
安装后免费安装 Kutools for Excel,请按以下步骤操作:
1. 启动 Excel,单击 KUTOOLS PLUS 中的合并,此时会弹出一个对话框,提醒您有关密码的注意事项;如果要使用的工作簿未设置密码,请直接单击确定继续。

2. 在 汇总工作表 – 步骤 1(共 3) 窗口中,勾选复制多个工作簿中的工作表到一个工作簿中选项,然后点击下一步按钮。
3. 在 步骤 2(共 3) 窗口中,单击添加按钮旁的箭头展开下拉菜单,然后点击菜单中的文件夹。
4. 随后在选择文件夹对话框中,选择一个要使用的文件夹,单击选择文件夹即可将其添加到工作簿列表区域中。

5. 重复上述步骤,添加所有文件夹,并在工作簿列表中列出所有工作簿,然后点击下一步。
6. 在最后一步,根据需要选择选项,然后点击完成按钮。
7. 此时会弹出一个对话框,供您选择文件夹以保存合并后的工作簿。您可在文件名栏中重命名,然后单击保存即可完成操作。
8. 现在所有工作表都已合并完成,系统将弹出对话框,询问您是否要将当前设置保存为方案,请根据需要点击是或否。
将弹出一个新工作簿,其中列出了合并结果;单击输出文件的链接,即可查看合并后的工作表。
合并结果
注意:合并后的工作簿中会自动生成一个名为“Kutools for Excel”的工作表,其中列出了原始工作表与最终合并工作表的相关信息;如无需保留,您可随时将其删除。
如果您只想将多个工作簿中的部分工作表合并到一个工作簿中(而非每个工作簿的所有工作表),可以尝试以下方法。
quarter-1.xlsx
quarter-2.xlsx
quarter-3.xlsx
3.1 使用 VBA 代码将工作簿中的特定工作表(所有工作簿位于同一文件夹中)合并到一个工作簿中
1. 打开一个用于存放合并后工作表的工作簿,然后按 Alt+F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
2. 在弹出窗口中,单击插入 > 模块,即可插入一个新的空白模块。
3. 将下方的 VBA 代码复制并粘贴到新建的模块中。
VBA:将多个工作簿中的特定工作表合并到当前工作簿
Sub MergeSheets2()
'Updated by Extendoffice
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\AddinTestWin10\Desktop\combine sheets\combine specific sheets from multiple workbooks\"
xStrName = "A,B"
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 
注意
1)在 VBA 代码中,脚本“C:\Users\AddinTestWin 10\Desktop\combine sheets\combine specific sheets from multiple workbooks\”是您要合并的工作簿所在路径,请根据实际需求修改该路径。
2)在 VBA 代码中,脚本“A,B”表示要从各工作簿中合并的特定工作表名称,请根据需要修改,并用逗号分隔各工作表名称。
3)如果要合并的工作簿位于不同文件夹中,请先将它们复制到同一个文件夹中。
4. 按 F5 键运行代码,即可将指定的工作表复制到当前工作簿的末尾。
3.2 使用便捷工具合并多个工作簿(位于多个文件夹中)中的特定工作表
如果要合并的工作簿分散在多个不同文件夹中,不妨试试 Kutools for Excel 的合并功能!
安装后免费安装 Kutools for Excel,请按以下步骤操作:
1. 启动 Excel,单击 KUTOOLS PLUS > 合并,此时将弹出一个对话框,提醒您注意密码相关事项;若要合并的文件不涉及密码,只需单击确定即可继续操作。

2. 在 汇总工作表 – 第 1 步(共 3 步) 窗口中,勾选复制多个工作簿中的工作表到一个工作簿中选项,然后单击下一步按钮。
3. 在 第 2 步(共 3 步) 窗口中,单击添加按钮旁的箭头展开下拉菜单,然后点击其中的文件夹。
4. 然后在选择文件夹对话框中,选择要使用的文件夹,单击选择文件夹,即可将其添加到工作簿列表区域中。

5. 重复上述步骤,添加所有文件夹,并在工作簿列表中列出所有工作簿。
6. 然后停留在 第 2 步(共 3 步) 窗口中,先在工作簿列表中选择一个工作簿,再仅勾选工作表列表中需要使用的工作表,随后单击同名工作表按钮。此时,工作簿列表中所有同名工作表将自动被选中。立即点击下一步继续操作!
7. 在最后一步,根据需要选择选项,然后单击完成按钮。
8. 此时会弹出一个对话框,供您选择文件夹以保存合并后的工作簿。您可在文件名栏中重命名,然后单击保存即可完成操作。
9. 现在指定的工作表已合并在一起,系统将弹出对话框,询问您是否要将当前设置保存为方案,请根据需要单击是或否。
将弹出一个新工作簿,其中列出了合并结果;单击输出文件的链接,即可查看合并后的工作表。
合并结果
注意:合并后的工作簿中会自动生成一个名为“Kutools for Excel”的工作表,其中列出了原始工作表与最终合并工作表的相关信息;如无需保留,您可随时将其删除。
如下图所示,两个工作表中各有一个表格,您希望在 Excel 中根据一个关键列将这两个表格合并为一个。
| 表 1 | 表 2 |
![]() | ![]() |
| 合并后的表 |
![]() |
4.1 使用查询功能(Excel 2016 或更高版本)基于一个关键列合并两个表格
Excel 2016 或更高版本中的查询功能非常强大,支持基于单个关键列轻松合并两个表格。
在使用查询功能前,请先将要合并的区域创建为表格。
combine-two-tables-based-on-a-key-column-query.xlsx
1. 单击第一个表格中的任意单元格,然后点击获取和转换组中的数据> 从表格。

2. 在弹出的查询编辑器对话框中,单击文件 > 关闭并加载到命令。参见下图:
3. 然后在弹出的加载至对话框中,勾选仅创建连接选项,再单击加载。
现在您可以看到工作簿查询窗格已显示,且该表格已作为链接列于窗格中。
重复上述步骤,将第二个表格添加到工作簿查询窗格中。
4. 然后单击数据 > 新建查询 > 合并查询 > 合并。

5. 在合并窗口中,分别从两个下拉列表中选择要合并的表格,下方表格的内容将自动合并到上方表格中。
6. 然后单击您希望用于合并两个表格的关键列,再单击确定。
7. Merge 1 – 查询编辑器 窗口弹出后,单击 NewColumn 旁的展开按钮,勾选除关键列外的所有列,取消勾选使用原始列名作为前缀复选框,然后单击确定。
现在,两个表已根据指定的关键列合并为一个。
8. 单击文件 > 关闭并加载到,在加载到对话框中,勾选表选项,并指定加载位置,然后单击加载。

现在,两个表已根据一个关键列成功合并。
如果您只想将一两列数据从一个工作表移动到另一个工作表,并基于某个关键列进行精准定位,Excel 函数就能轻松帮您实现。
例如,将工作表 2 中的完整数据移至工作表 1,并以 A 列作为数据定位依据。
combine-two-sheets-based-on-a-key-column-functions.xlsx
| 工作表 1 | 工作表 2 |
![]() | ![]() |
4.21 使用 VLOOKUP 函数通过一列合并两个工作表
1. 在工作表 1 中表格旁复制并粘贴以下公式:
=VLOOKUP(A2,Sheet 2!$A$2:$B$5,2,FALSE)
说明:
A2:第一个查找值(关键列);
Sheet 2!$A$2:$B$5:表格数组,该表格包含两列或更多列,其中包含查找值列和结果值列;
2:列索引,即表格数组中用于返回匹配值的列号(为整数)。
2. 按下 Enter 键,即可获取第一个结果。
3. 然后向下拖动自动填充柄以填充所有数据。
4. 保持公式单元格处于选中状态,单击开始选项卡,然后在数字组中按需设置单元格格式。
4.22 使用 MATCH 和 INDEX 函数组合公式通过一列合并两个工作表
1. 将下方公式复制并粘贴到工作表 1 中表格的旁边:
=INDEX(Sheet 2!$B$2:$B$5,MATCH(Sheet 1!A2,Sheet 2!$A$2:$A$5,0))
说明:
Sheet 2!$B$2:$B$5:包含要查找的匹配值的列;
Sheet 1!A2:第一个查找值(位于关键列中);
Sheet 2!$A$2:$A$5:用于合并两个工作表所依据的关键列。
2. 按下 Enter 键,即可获取第一个结果。
3. 然后向下拖动自动填充柄以填充所有数据。
4. 保持公式单元格处于选中状态,单击开始选项卡,然后在数字组中按需设置单元格格式。
Kutools for Excel 的合并表格工具除了“合并”功能外,还提供另一项强大功能——可快速轻松地根据一个关键列合并两个工作表。
combine-two-sheets-based-on-a-key-column-handy-tool.xlsx
安装后免费安装 Kutools for Excel,请按以下步骤操作:
1. 单击 KUTOOLS PLUS 中的合并表格。
2. 在 表格合并 – 第 1 步(共 5 步) 窗口中,分别将表格区域选择到请选择主表格和请选择查找数据的表格部分,然后点击下一步。
3. 在 第 2 步(共 5 步) 窗口中,勾选用于合并的关键列,然后单击下一步。
4. 在 第 3 步(共 5 步) 窗口中,您可以勾选需要根据查找表更新数据的列;若无需更新,直接单击下一步即可。
5. 在 第 4 步(共 5 步) 窗口中,勾选要合并到主表中的列,然后单击下一步。
6. 在最后一步中,按需指定选项,然后单击完成。
此功能支持合并来自不同工作簿的两个工作表。
假设工作表 1 和工作表 2 中分别有两个表格,现在需要根据“Project”列和“Start_Date”列,将工作表 2 中的“End_Dates”列数据移至工作表 1,如下图所示:
| 工作表 1 | 工作表 2 |
![]() | ![]() |
| 合并后的工作表 |
![]() |
Kutools for Excel 的合并表格工具可以处理此操作,而 Excel 内置功能并不支持。
安装后免费安装 Kutools for Excel,请按以下步骤操作:
1. 单击 KUTOOLS PLUS 中的合并表格。
2. 在 合并表格 – 第 1 步(共 5 步) 窗口中,分别将表格区域选择到请选择主表格和选择查找表部分,然后点击下一步。
3. 在 第 2 步(共 5 步) 窗口中,勾选用于合并的两个关键列,然后单击下一步。
注意:系统会自动匹配查找表中的相关列,您可以单击查找表列中的列名按需修改。
4. 在 第 3 步(共 5 步) 窗口中,您可以勾选需要根据查找表更新数据的列;若无需更新,直接单击下一步即可。

5. 在 第 4 步(共 5 步) 窗口中,勾选要合并到主表中的列,然后单击下一步。
6. 在最后一步中,按需设置选项,然后单击完成。
随后,您要添加的列已添加到主表末尾。
此功能支持将不同工作簿中的两个工作表合并在一起。
要合并具有相同标题的多个工作表,如下图所示:
| |
![]() | ![]() |
| 合并后的工作表 |
![]() |
有一段 VBA 代码,可将同一工作簿中所有标题相同的工作表合并。
1. 启用要合并的工作簿(其中包含具有相同标题的工作表),然后按 Alt+F11 键,打开 Microsoft Visual Basic for Applications 窗口。
2. 在弹出窗口中,单击插入> 模块 插入一个新的空白模块。
3. 将下方 VBA 代码复制并粘贴到新模块中。
VBA:合并具有相同标题的工作表
Sub Combine()
'Update by Extendoffice
Dim i As Integer
Dim xTCount As Variant
Dim xWs As Worksheet
On Error Resume Next
LInput:
xTCount = Application.InputBox("The number of title rows", "", "1")
If TypeName(xTCount) = "Boolean" Then Exit Sub
If Not IsNumeric(xTCount) Then
MsgBox "Only can enter number", , "Kutools for Excel"
GoTo LInput
End If
Set xWs = ActiveWorkbook.Worksheets.Add(Sheets(1))
xWs.Name = "Combined"
Worksheets(2).Range("A1").EntireRow.Copy Destination:=xWs.Range("A1")
For i = 2 To Worksheets.Count
Worksheets(i).Range("A1").CurrentRegion.Offset(CInt(xTCount), 0).Copy _
Destination:=xWs.Cells(xWs.UsedRange.Cells(xWs.UsedRange.Count).Row + 1, 1)
Next
End Sub 
4. 按下 F5 键运行代码,系统将弹出对话框,询问您标题行的数量,请在文本框中输入相应数字,然后单击确定。
现在,此工作簿中的所有工作表都已合并到一个名为“Combined”的新工作表中。
Kutools for Excel 的合并功能也能处理此任务,并支持跨工作簿合并工作表。
安装后免费安装 Kutools for Excel,请按以下步骤操作:
1. 启用要合并的工作簿(其中包含具有相同标题行的工作表),点击 KUTOOLS PLUS > 合并。
2. 会弹出一个对话框提醒您有关密码的信息;若当前工作簿未设置密码,请单击确定继续。在弹出的 汇总工作表 – 第 1 步(共 3 步) 窗口中,勾选复制多个工作簿中的数据到一个工作表中选项,然后单击下一步。
3. 在 第 2 步(共 3 步) 窗口中,所有工作表均已默认勾选并列于工作表列表区域,单击下一步继续。
提示:
1)若仅需合并部分工作表,只需勾选所需的工作表名称,其余保持未勾选即可。
2)如果您希望添加更多工作簿进行合并,请单击添加,将文件或文件夹添加到工作簿列表区域。
4. 在 第 3 步(共 3 步) 中,勾选按行合并数据选项,并在标题行的数量文本框中输入相应数值,还可根据需要调整其他设置,然后单击完成。
5. 在请设定保存合并结果的位置及文件名对话框中,选择目标文件夹并为新工作簿命名,然后单击保存。
6. 会弹出一个对话框,询问您是否将当前设置保存为方案,请根据需要单击是或否。随后将弹出一个工作簿,列出原始工作簿与新工作簿的链接,单击新工作簿的路径链接即可打开并进行检查。
汇总
例如,您有三个工作表,它们具有相同的行标题和列标题,现在希望根据这些相同标题将数据合并,并对数值进行求和,如下图所示。
![]() | ![]() | ![]() |
| 结果 |
![]() |
在 Excel 中,合并计算功能可轻松合并多个工作表并自动执行计算。
1. 启用要合并其工作表的工作簿,选择一个用于放置合并后数据的单元格,然后点击数据> 合并计算。
2. 在合并计算对话框中,进行以下设置:
1)在函数下拉菜单中,选择合并工作表后要执行的计算方式。
2)单击浏览按钮旁的选择图标,选择要合并的区域,然后单击添加,即可将其添加到所有引用区域。
重复此步骤,将所有需要合并的区域添加到所有引用区域。
3)在标签位置区域中,若该区域同时包含行标题和列标题,请勾选首行和最左列复选框。
4)如需合并后的内容随源数据更新而自动同步,请勾选创建指向源数据的链接复选框。
3. 单击确定,这些区域将根据标题自动合并并汇总。
注意:如果要合并的区域位于其他工作簿中,请在“合并计算”对话框中单击“浏览”,选择相应工作簿,然后在文本框中输入工作表名称和区域,再单击“添加”将其加入“所有引用”区域。
Kutools for Excel 的合并功能支持将多个工作簿中的工作表合并并执行计算,最终汇总到一个工作表中。
安装后免费安装 Kutools for Excel,请按以下步骤操作:
1. 启用要合并的工作簿,单击 KUTOOLS PLUS 中的合并。
2. 会弹出一个对话框提醒您有关密码的信息;若当前工作簿未设置密码,请单击确定继续。在弹出的 汇总工作表 – 第 1 步(共 3 步) 窗口中,勾选汇总计算多个工作簿中的数据到一个工作表中选项,然后单击下一步。
3. 在 第 2 步(共 3 步) 窗口中,所有已打开工作簿的工作表均已列于工作表列表区域并默认勾选,单击下一步即可继续。
提示:如果您只想合并部分工作表,只需勾选所需的工作表名称,其他保持未勾选即可。如果您希望添加更多工作簿进行合并,请单击“添加”将添加文件或文件夹添加到工作簿列表区域。
4. 在 第 3 步(共 3 步) 中,指定所需的计算方式和标签,然后单击完成。
5. 在请设定保存合并结果的位置及文件名对话框中,选择目标文件夹并为新工作簿命名,然后单击保存。
6. 系统将弹出对话框,询问您是否将当前设置保存为方案,请根据需要单击是或否。随后会打开一个工作簿,列出原始工作簿与新工作簿的链接,单击新工作簿的路径链接即可打开并进行检查。
如果您的数据结构如图所示较为简单,可直接将这些工作表合并到数据透视表中。
|
![]() |
![]() |
1. 启用要使用的工作簿,单击自定义快速访问工具栏中的其他命令。
2. 在弹出的 Excel 选项窗口中,于从下列位置选择命令区域中,从所有命令列表拖动滚动条,找到并选择数据透视表和数据透视图向导。
3. 单击添加,将数据透视表和数据透视图向导添加到自定义快速访问工具栏,然后单击确定。
4. 单击工具栏中的数据透视表和数据透视图向导命令,在 第 1 步(共 3 步) 中,勾选多重合并计算区域和数据透视表选项,然后单击下一步。

5. 在 第 2a 步(共 3 步) 中,勾选“我将创建页字段”选项,然后点击下一步。
6. 在 第 2b 步(共 3 步) 中,单击选择图标以选定要合并的区域,再单击添加按钮,将其加入所有区域部分;重复此操作,直至所有待合并区域均已添加。在“您需要多少个页字段?”选项中勾选 0,然后单击下一步。
7. 在 第 3 步(共 3 步) 中选择要创建数据透视表的位置,然后单击完成。
数据透视表已创建完成,请根据需要在数据透视表字段窗格中进行设置。
注意:如果数据结构较为复杂,建议先使用上述通用方法合并工作表,再将结果工作表转换为数据透视表。
Google 工作表
假设有三张 google 工作表需要合并为一张,如下图所示:
![]() | ![]() | |
1.1 使用筛选函数将 google 工作表合并为一张工作表
在要放置合并数据的工作表中选择一个单元格,输入以下公式:
=({filter(A!A2:B, len(A!A2:A)); filter(B!A2:B, len(B!A2:A)); filter('C'!A2:B, len('C'!A2:A)) })
随后,工作表 A、B 和 C 中的数据均已复制完成。
在该公式中:
A、B、C 为工作表名称,A2:B 为各工作表中的数据区域,A2:A 为各数据区域的第一列。
1.2 使用 IMPORTRANGE 函数将 google 工作表合并为一张工作表
此公式常用于在 Google 工作表中合并两个区域。
在第一个数据区域下方选择一个单元格,输入以下公式:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/13K4vuZukmS 4-x 0qJs 0EAXQkneIdNqelruDBF 5ff 5xNQ/edit","B!A2:B4")
随后,工作表 B 中的数据已复制到下方。
在该公式中,
https://docs.google.com/spreadsheets/d/13K4vuZukmS 4-x 0qJs 0EAXQkneIdNqelruDBF 5ff 5xNQ/edit
这是工作表的位置,您可以在网页地址栏中找到。
B!A2:B4 是要从工作表 B 复制到首个区域的单元格范围。
注意:如果放置公式的单元格之前已被编辑过,该公式将返回 #REF! 错误。
在 Google 表格中,若想合并多个工作簿中的工作表,并没有像 Excel 那样便捷的方法。
要将来自不同工作簿的 Google 工作表合并到一个工作簿中,只需右键点击目标工作表,使用复制到命令即可轻松完成!
右键单击要使用的表格,选择复制到 > 新建电子表格 或现有电子表格。
如果您选择新建电子表格,系统将弹出对话框提醒您该工作表已复制,请单击确定。随后,当前工作表将被复制到一个新工作簿中。立即点击打开电子表格查看吧!
如果您选择现有电子表格,系统将弹出选择要将此工作表复制到的电子表格对话框。
1)选择现有电子表格所在位置;
2)在文件中选择要将工作表复制到的目标工作簿;
3)或者,您也可以直接在网页地址栏中输入目标工作簿的网页地址,或在此粘贴。
4)单击选择。
如果工作表被复制到新电子表格中,新工作簿中的工作表名称将与原始名称相同;如果工作表被复制到现有电子表格中,合并后工作簿中的工作表名称将添加“副本 of”前缀。
扩展功能
假设有两张工作表包含部分重复数据,我们需要合并数据并删除重复项,如下图所示:
![]() | |
| 通用结果 | 删除重复 |
![]() | ![]() |
在 Excel 中,删除重复功能可助您快速清除重复数据。
使用上述方法合并工作表后,选中合并后的数据,单击数据 > 删除重复。
在删除重复对话框中,选择要删除重复项的列,勾选包含标题即可忽略标题行,然后单击确定。
随后,重复行已被删除。
Kutools for Excel 的合并表格工具可在合并两个区域的同时直接删除重复项。
安装后免费安装 Kutools for Excel,请按以下步骤操作:
1. 启用包含要合并数据的工作簿,单击 KUTOOLS PLUS 中的合并表格。
2. 在 表格合并 – 第 1 步(共 5 步) 窗口中,选择要合并的两个区域;若表格包含两行标题,请勾选主表有标题和查找表有标题复选框,然后单击下一步。
3. 在 第 2 步(共 5 步) 窗口中,勾选用于合并区域的关键列,然后单击下一步。
4. 在 第 3 步(共 5 步) 窗口中,勾选需要根据查找表更新数据的列,单击下一步即可进入最后一步。
提示:如果查找表中包含需要添加到主表的新列,将出现一个 4(共 5 步)窗口用于添加多列。
5. 在 第 5 步(共 5 步) 窗口中,于添加部分勾选添加非匹配行到主表的尾部复选框;于更新部分勾选仅当查找表中的单元格包含数据时才更新复选框。单击完成。
然后将两个表格合并到主表中,且不包含重复项。
假设有多个工作簿包含同名工作表(例如 Sheet 1、Sheet 2),现在需要将所有名为 Sheet 1 的工作表合并为一个工作表,所有名为 Sheet 2 的工作表合并为另一个工作表(如下图所示)。您可使用 Kutools for Excel 的合并功能,快速完成此任务!
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
安装后免费安装 Kutools for Excel,请按以下步骤操作:
1. 启用要合并的工作簿,单击 Kutools Plus 中的合并。
2. 弹出对话框提醒您有关密码的信息;若当前工作簿未设置密码,请单击确定继续。在弹出的 汇总工作表 – 第 1 步(共 3 步) 窗口中,勾选合并多个工作簿中同名工作表的数据选项,然后单击下一步。
3. 在 第 2 步(共 3 步) 窗口中,已打开工作簿的所有工作表均已列于工作表列表区域并默认勾选,单击下一步即可继续。
提示:
如果您只想合并部分工作表,只需勾选所需的工作表名称,其余保持未勾选即可。
如需添加更多工作簿进行合并,请单击添加,即可将文件或文件夹添加到工作簿列表区域。
4. 在 第 3 步(共 3 步) 中,按需设置选项,然后单击完成。
5. 在请设定保存合并结果的位置及文件名对话框中,选择文件夹并为新工作簿指定名称后,单击保存。
6. 弹出对话框询问是否将当前设置保存为场景,请根据需要单击是或否。随后将弹出一个工作簿,列出原始工作簿与新工作簿的链接,单击新工作簿的路径链接即可打开并进行检查。
按行合并数据
按列合并数据
如果您希望将多个工作表中的相同区域(例如,仅合并工作簿 A 和工作簿 B 中的 A1:B5 区域)整合到一个工作表中,Kutools for Excel 的合并功能将是您的理想之选。
| A | B | 合并结果 |
![]() | ![]() | ![]() |
1. 启用要使用的工作簿,单击 KUTOOLS PLUS 中的合并。
2. 弹出对话框提醒您有关密码的信息;如果当前工作簿未设置密码,请单击确定继续。在弹出的 汇总工作表 – 第 1 步(共 3 步) 窗口中,勾选复制多个工作簿中的数据到一个工作表中选项,然后单击下一步。
3. 在 第 2 步(共 3 步) 窗口中,已打开工作簿的所有工作表均已列于工作表列表区域并默认勾选。单击工作表列表中的选择图标,选取所需区域;接着点击相同区域按钮,即可将所有工作表的选定区域统一设为 A1:B5. 最后,单击下一步。

提示:
1)如果您只想合并部分工作表,只需勾选所需的工作表名称,其余保持未勾选即可。
2)如需添加更多工作簿进行合并,请单击添加,即可将文件或文件夹添加到工作簿列表区域。
4. 在 第 3 步(共 3 步) 中,按需设置后,单击完成即可。
5. 在“选择文件夹并为新工作簿指定名称”对话框中,请设定保存合并结果的位置及文件名,然后单击保存。
6. 弹出对话框询问是否将当前设置保存为场景,请根据需要单击是或否。随后会弹出一个工作簿,列出原始工作簿和新工作簿的链接,单击新工作簿路径链接即可打开检查。
您可能还感兴趣 |
将多个 CSV 文件合并/导入到多个工作表中 在 Excel 中合并单元格并保留单元格格式 在 Excel 中合并多个单元格内容而不丢失数据 在 Excel 中将日期和时间合并到一个单元格中 |
- 超级编辑栏(轻松编辑多行文本和公式);阅读版式(轻松阅读和编辑大量单元格);粘贴到筛选范围……
- 合并单元格/行/列并保留数据;分割单元格内容;合并重复行并求和/求平均值……防止重复项单元格;比较区域……
- 选择重复或唯一行;选择空白行(所有单元格均为空);超级查找和模糊查找多个工作簿中的内容;随机选择……
- 精准公式复制多个单元格而不更改公式引用;自动创建引用到多个工作表;插入项目符号、复选框等更多功能……
- 收藏并快速插入公式、区域、图表和图片;加密单元格并设置密码;创建邮件列表并发送电子邮件……
- 提取文本、添加文本、删除某位置字符、删除空格;创建并打印数据分页统计;在单元格内容与批注之间转换……
- 超级筛选(保存并应用筛选方案到其他工作表);高级排序按月/周/日、频率等分组;特殊筛选按加粗、倾斜等格式……
- 合并工作簿和工作表;汇总表格基于关键列;分割数据到多个工作表;批量转换 xls、xlsx 和 PDF……
- 数据透视表按周数、星期几等分组……显示未锁定、选区锁定并以不同颜色标识;高亮显示包含公式/名称的单元格……

- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑与阅读,大幅提升多文档操作效率!
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中操作。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!

































