昨天还有粉丝私信问我,excel文件怎么合并到一起?说月底要合并十几个部门的报表,一个个打开复制粘贴,搞了俩小时眼睛都快瞎了,结果还有两张表格式对不上,粘贴完全是乱的。

说实话,这事儿我太有感触了。以前我干过更蠢的——把每个表格的数据手动誊到一张新表里,抄到一半发现写错行了,直接崩溃。后来学乖了,找对工具和方法,excel文件合并这事儿,真不用那么费劲。

百家号头图先说个重点,如果你的需求是“把多个excel文件合并到一个新文件里”,而且想要省心、不出错,那直接用汇帮PDF转换器里的Excel合并功能就行。咱先把这套流程讲透。

用汇帮PDF转换器的excel合并功能,操作很简单

打开汇帮PDF转换器,主界面上能找到【excel文件操作】这个功能,点进去就行。

第一步,双击打开【汇帮PDF转换器】,在打开界面选择【excel文件操作】功能点击进去,.png进去之后界面左侧有多个功能选项,咱们这里选【excel合并】。

第二步,再打开界面的左侧选择【excel合并】.png然后用左上角的【添加文件】按钮,或者直接把文件拖进软件窗口,把你要合并的excel文件都加进来。一次能加好多,不用一个个打开。

第三步,通过左上角的【添加文件】按钮或者直接拖拽的方式,把需要合并的excel文件添加到软件中.png合并后的文件得找个地方放,这时候设置一下输出目录,别到时候合并完了找不到文件在哪。

第四步,给合并好的excel文件找一个储存位置.png最后点一下【开始执行】,剩下的软件自己处理。

第五步,最后直接点击【开始执行】按钮就可以了,剩下的软件会自动合并到你选好的储存位置.png等它跑完,合并好的文件会自动弹出,你直接就能看到结果。整个过程就这样,没啥复杂的。

合并成功后,软件会自动弹出已经合并好的excel文件.png如果不怕折腾,WPS自带的一键合并也很香

讲实话,如果你平时就用WPS,那它自带的【合并表格】功能也能应付不少场景。

操作也很简单——先选中所有的工作表标签。

WPS操作动图然后右键,找到“合并工作表-合并成一个工作表”,点一下,等一会儿就完事儿了。

WPS合并结果示例.png高手进阶:用VBA宏实现自动合并

再来说一个更适合老手的方法——VBA宏。要是你每周都要做excel文件合并这件事,每次都手动操作确实挺烦的,那这个办法可以考虑一下。

先在Excel里启用开发工具选项卡:文件 → 选项 → 自定义功能区 → 勾选开发工具 → 确定。

然后进开发工具 → Visual Basic → 插入一个模块,把下面这段代码粘进去:

Sub MergeAllSheets()
Dim wb As Workbook, ws As Worksheet
Dim newWb As Workbook, newWs As Worksheet
Dim folderPath As String, fileName As String
Dim lastRow As Long, newLastRow As Long

' 创建新工作簿存放合并结果
Set newWb = Workbooks.Add
Set newWs = newWb.Sheets(1)
newWs.Name = "合并结果"

' 获取文件夹路径(修改为你的路径)
folderPath = "C:\YourFolderPath\" ' 结尾需有反斜杠
fileName = Dir(folderPath & "*.xls*")

' 遍历文件夹中的所有Excel文件
Do While fileName <> ""
    If fileName <> newWb.Name Then ' 跳过当前工作簿
        Set wb = Workbooks.Open(folderPath & fileName)
        
        ' 遍历每个工作簿中的所有工作表
        For Each ws In wb.Sheets
            ' 复制数据到新工作表
            lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
            If lastRow > 1 Then ' 跳过空表
                newLastRow = newWs.Cells(newWs.Rows.Count, 1).End(xlUp).Row + 1
                ws.UsedRange.Offset(1, 0).Copy newWs.Cells(newLastRow, 1) ' 跳过标题行
            End If
        Next ws
        
        wb.Close False
    End If
    fileName = Dir
Loop

' 添加标题行(从第一个工作表复制)
Set wb = Workbooks.Open(folderPath & Dir(folderPath & "*.xls*"))
wb.Sheets(1).UsedRange.Rows(1).Copy newWs.Cells(1, 1)
wb.Close False

MsgBox "合并完成!", vbInformation
End Sub

改一下代码里folderPath的路径,改成你实际存放excel文件的文件夹,然后按F5运行就行。

VBA宏运行结果示例.png说归说,excel文件怎么合并到一起这个事儿,真没有想象中那么复杂。选个适合自己的路子就行:偶尔合并一两回,用WPS的合并功能够用了;要是经常干这事儿,又不想碰代码,用汇帮PDF转换器最稳;要是对代码不怵,那VBA就是你的好帮手。

弄完这个基本就成了,要是还有哪儿不懂,评论区喊我一声。