昨天还有粉丝私信问我,excel文件怎么合并到一起?说月底要合并十几个部门的报表,一个个打开复制粘贴,搞了俩小时眼睛都快瞎了,结果还有两张表格式对不上,粘贴完全是乱的。
说实话,这事儿我太有感触了。以前我干过更蠢的——把每个表格的数据手动誊到一张新表里,抄到一半发现写错行了,直接崩溃。后来学乖了,找对工具和方法,excel文件合并这事儿,真不用那么费劲。
先说个重点,如果你的需求是“把多个excel文件合并到一个新文件里”,而且想要省心、不出错,那直接用汇帮PDF转换器里的Excel合并功能就行。咱先把这套流程讲透。
用汇帮PDF转换器的excel合并功能,操作很简单
打开汇帮PDF转换器,主界面上能找到【excel文件操作】这个功能,点进去就行。
进去之后界面左侧有多个功能选项,咱们这里选【excel合并】。
然后用左上角的【添加文件】按钮,或者直接把文件拖进软件窗口,把你要合并的excel文件都加进来。一次能加好多,不用一个个打开。
合并后的文件得找个地方放,这时候设置一下输出目录,别到时候合并完了找不到文件在哪。
最后点一下【开始执行】,剩下的软件自己处理。
等它跑完,合并好的文件会自动弹出,你直接就能看到结果。整个过程就这样,没啥复杂的。
如果不怕折腾,WPS自带的一键合并也很香
讲实话,如果你平时就用WPS,那它自带的【合并表格】功能也能应付不少场景。
操作也很简单——先选中所有的工作表标签。
然后右键,找到“合并工作表-合并成一个工作表”,点一下,等一会儿就完事儿了。
高手进阶:用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运行就行。
说归说,excel文件怎么合并到一起这个事儿,真没有想象中那么复杂。选个适合自己的路子就行:偶尔合并一两回,用WPS的合并功能够用了;要是经常干这事儿,又不想碰代码,用汇帮PDF转换器最稳;要是对代码不怵,那VBA就是你的好帮手。
弄完这个基本就成了,要是还有哪儿不懂,评论区喊我一声。