在日常办公中,我们可能会面对这样一种情况,就是多个下级单位报送的报表,需要将多个工作表的数据汇总到一个总表中,以便进行数据分析、比较和报告。如果只有几个数据表,可以一个个粘贴到一起,但是如果有十几个甚至几十个表的数据需合并呢?今天教大家三种方法(第三种是完全免费的哦),快速将数据汇总到一起。

一、使用WPS的合并表格工具
WPS中,有专门的功能可以将多个工作表合并成一个工作表。菜单路径如下:
工具-合并表格-合并成一个工作表。

【注意】WPS的合并表格工具仅限会员使用。
二、使用第三方工具
可以使用方方格子等第三方工具,将多个工作表合并成一个工作表。

【注意】这类工具的合并表格工具同样仅限会员使用。
三、使用VBA代码
鉴于上述两种方法都需要开通会员,因此,我们专门为大家提供了一种免费的操作方法,那就是使用VBA代码实现同样的功能。
首先,新建一个工作表,按ALT+F11打开VBA编辑器。或者点击Office Excel菜单栏“开发工具”-“Visual Basic”打开VBA编辑器。复制以下代码,并粘贴,按F5(或点击绿色的▶按钮)执行代码。
然后,在弹出的文件选择窗口中,选择需要合并的文件,点击“打开”,稍等即可完成合并。完整的代码和操作演示如下:
Sub MergeExcelFiles()
Dim wb As Workbook
Dim ws As Worksheet
Dim selectedFiles As FileDialog
Dim file As Variant
Dim i As Integer
Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
ws.Name = "合并数据"
i = 1
Set selectedFiles = Application.FileDialog(msoFileDialogOpen)
selectedFiles.AllowMultiSelect = True
selectedFiles.Title = "选择要合并的文件"
selectedFiles.Show
For Each file In selectedFiles.SelectedItems
Set wb = Workbooks.Open(file)
wb.Sheets(1).UsedRange.Copy Destination:=ws.Cells(i, 1)
i = i + wb.Sheets(1).UsedRange.Rows.Count
wb.Close SaveChanges:=False
Next file
ws.Columns.AutoFit
MsgBox "文件合并完成!"
End Sub
以下演示是在微软office2010中操作。注意最新版的菜单功能位置可能有所变化。

目前的WPS版本同样是支持VBA的,新建一个工作表,按ALT+F11打开VBA编辑器。或者点击菜单栏“工具”-“开发工具”-“VB编辑器”打开VBA编辑器。复制代码,并粘贴,按F5(或点击绿色的▶按钮)执行代码即可。