。进入e
xcel 表格页面 后,点击 页面上方 的【数据 】。打开 数据页面 后,选择 并点击【 获取数据 】。在弹 出的窗口 中点击【 来自文件 】,并选 择【从文 件夹】。 打开浏览 窗口后找 到要合并 的工作表 ,点击下 面的【打 开】。切 换至新页 面后,点 击下面的 【组合】 选项。并 在弹出的 窗口中, 点击【合 并和加载 】。在合 并文件窗 口中,选 择一个参 数并点击 【确定】 即可完成 合并。小编还为您整理了以下内容,可能对您也有帮助:
史上最全!Excel 如何合并多个工作表或多个工作簿?
Excel表格的合并分为两种情况,一种是工作表合并、一种是工作簿合并。一个Excel表格叫做工作簿,每个工作簿中的Sheet叫做工作表。
针对这两种情况的表格合并,今天我们来做个小结,看看都要哪些方法。不管你是高版本Excel还是低版本Excel,总有一种方法适合你。当然这里不考虑极端的情况,如工作表/工作簿表头不一致、列数不同等,这里默认需要合并的工作表/工作簿表头都是一致的。
一、工作表的合并
工作表的合并,顾名思义,合并同一工作簿下所有Sheets的数据,针对数据的多少,有不同的方法。
方法一:剪贴板法
如果需要合并的数据比较少,这里可以利用剪贴板。首先调出Excel剪贴板,它在开始功能区的最左边。
接着选中第一个sheet的内容,按CTRL+X快捷键,将sheet1内的所有内容剪切到剪贴板中,同样的操作,将所有sheet的内容,全部CTRL+X剪切到剪贴板。
全部剪切完成,在新建的sheet中,点击左侧剪贴板中的“全部粘贴”按钮,完成工作表的合并。
方法二:VBA法
不需要看懂代码,将代码复制粘贴到需要合并的工作簿中来,运行即可,表格合并完成。按Alt+F11两键,调出Visual Basic界面,在左侧窗口中,右键选择“插入”—“模块”,将代码粘贴进去,点击运行按钮,完成数据表合并。
明细代码如下所示(直接复制可用):
Sub合并当前工作簿下的所有工作表()
On Error Resume Next
Application.ScreenUpdating=False
Application.DisplayAlerts=False
Set st=Worksheets.Add(before:=Sheets(1))
st.Name="合并"
For Each shet In Sheets:
If shet.Name<>"合并"Then
i=st.Range("A"&Rows.Count).End(xlUp).Row+1
shet.UsedRange.Copy
st.Cells(i,1).PasteSpecial Paste:=xlPasteAll
End If
Next
Application.DisplayAlerts=True
Application.ScreenUpdating=True
MsgBox"已完成"
End Sub
方法三:Power Query
Power Query是Excel2016及其以上才有的功能,如果你的Excel版本较低,强烈建议安装较高版本的。
依次点击【数据】—【获取数据】—【自文件】—【从工作簿】,选中需要合并的工作簿,点击【导入】。
之后进入到导航器界面,选中文件夹,点击【转换数据】。
进入Power Query编辑界面,取消勾选不需要的表名,之后点击Data列扩展数据,点击确定,完成数据表的合并,最后一步,点击左上角的“关闭并上载”即可将数据加载到Excel当中去。
剪贴板法适合少量表格的合并,VBA方法适合任意版本的Excel版本的数据合并,Power Query法只适合Excel2016及以上版本,如果其他版本想用这个功能,需要单独下载插件。
二、工作簿的合并
工作簿的合并指合并在同一个文件下所有的Excel工作簿。
方法一:Windows批处理命令
首先我们需要将Excel表格文件另存为CSV文件,这一步可以通过VBA批量操作。打开任意工作簿,调出Visual Basic界面,输入以下代码(如何插入代码上面有介绍,这里不再赘述):
Sub xlsxtocsv()
Application.ScreenUpdating=False
Application.DisplayAlerts=False
t=ActiveWorkbook.Name
mypath=ActiveWorkbook.Path&""
myfile=Dir(mypath&"*.xlsx")
Do Until Len(myfile)=0
If myfile<>t Then
Workbooks.Open Filename:=mypath&myfile
ActiveWorkbook.SaveAs Filename:=mypath&Left(myfile,InStr(myfile,".")-1)&".csv",FileFormat:=xlCSV
End If
If myfile<>t Then ActiveWorkbook.Close
myfile=Dir
Loop
Application.DisplayAlerts=True
Application.ScreenUpdating=True
End Sub
执行完毕后,将会将每一个表格生成一份csv文件。
接着新建一个txt文本文档,在其中输入:copy*.csv all.csv。
之后保存文件,将文件后缀名修改为bat文件;或者另存为,另存为界面需要注意两点:第一点:文件名记得带.bat的后缀;第二点:保存类型选择【所有文件】。
点击确定,就会出现一个可执行文件,类型为【windows批处理文件】。
双击此文件之后,当前文件夹内的所有csv文件全部被合并在一起。此方法只适用于csv文件,不适用于xls/xlsx文件(也就是Excel表格),所以我们在第一步,将所有的Excel文件转化成csv格式。
方法二:VBA法
VBA运行方法都是一致的。
新建一个工作簿,打开,进入Visual Basic界面,输入以下代码,点击运行,等待程序完成之后,工作簿完成合并。
Sub合并当前目录下所有工作簿()
Dim Wb As Workbook
Application.ScreenUpdating=False
MyPath=ActiveWorkbook.Path
MyName=Dir(MyPath&""&"*.xlsx")
AWbName=ActiveWorkbook.Name
Do While MyName<>""
If MyName<>AWbName Then
Set Wb=Workbooks.Open(MyPath&""&MyName)
c=ThisWorkbook.Sheets("sheet1").UsedRange.SpecialCells(xlCellTypeLastCell).Row
If c=1 Then'防止合并的工作簿第一行空着
c=0
End If
ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets("sheet1").Cells(c+1,1)'合并工作簿的第一个sheet名字为:sheet1
Wb.Close False
End If
MyName=Dir
Loop
Application.ScreenUpdating=True
MsgBox"已完成"
End Sub
方法三:Power Query
依次点击【数据】—【获取数据】—【自文件】—【从文件夹】,选中需要合并的文件夹,点击【打开】,最后点击【转换数据】。
进入Power Query编辑界面,点击【Content】列,这里选择【参数1】,点击【确定】。
接着点击【Data】列扩展数据,点击【确定】,完成工作簿的合并,针对不需要的列可以右键删除,最后关闭并上载数据到Excel表格即可。
Windows批处理适用于CSV文件,VBA适用于任意版本(如果Excel是2007以前版本,需要将代码中的XLSX修改成XLS)、Power Query适用于高版本Excel,各有所长。
史上最全!Excel 如何合并多个工作表或多个工作簿?
Excel表格的合并分为两种情况,一种是工作表合并、一种是工作簿合并。一个Excel表格叫做工作簿,每个工作簿中的Sheet叫做工作表。
针对这两种情况的表格合并,今天我们来做个小结,看看都要哪些方法。不管你是高版本Excel还是低版本Excel,总有一种方法适合你。当然这里不考虑极端的情况,如工作表/工作簿表头不一致、列数不同等,这里默认需要合并的工作表/工作簿表头都是一致的。
一、工作表的合并
工作表的合并,顾名思义,合并同一工作簿下所有Sheets的数据,针对数据的多少,有不同的方法。
方法一:剪贴板法
如果需要合并的数据比较少,这里可以利用剪贴板。首先调出Excel剪贴板,它在开始功能区的最左边。
接着选中第一个sheet的内容,按CTRL+X快捷键,将sheet1内的所有内容剪切到剪贴板中,同样的操作,将所有sheet的内容,全部CTRL+X剪切到剪贴板。
全部剪切完成,在新建的sheet中,点击左侧剪贴板中的“全部粘贴”按钮,完成工作表的合并。
方法二:VBA法
不需要看懂代码,将代码复制粘贴到需要合并的工作簿中来,运行即可,表格合并完成。按Alt+F11两键,调出Visual Basic界面,在左侧窗口中,右键选择“插入”—“模块”,将代码粘贴进去,点击运行按钮,完成数据表合并。
明细代码如下所示(直接复制可用):
Sub合并当前工作簿下的所有工作表()
On Error Resume Next
Application.ScreenUpdating=False
Application.DisplayAlerts=False
Set st=Worksheets.Add(before:=Sheets(1))
st.Name="合并"
For Each shet In Sheets:
If shet.Name<>"合并"Then
i=st.Range("A"&Rows.Count).End(xlUp).Row+1
shet.UsedRange.Copy
st.Cells(i,1).PasteSpecial Paste:=xlPasteAll
End If
Next
Application.DisplayAlerts=True
Application.ScreenUpdating=True
MsgBox"已完成"
End Sub
方法三:Power Query
Power Query是Excel2016及其以上才有的功能,如果你的Excel版本较低,强烈建议安装较高版本的。
依次点击【数据】—【获取数据】—【自文件】—【从工作簿】,选中需要合并的工作簿,点击【导入】。
之后进入到导航器界面,选中文件夹,点击【转换数据】。
进入Power Query编辑界面,取消勾选不需要的表名,之后点击Data列扩展数据,点击确定,完成数据表的合并,最后一步,点击左上角的“关闭并上载”即可将数据加载到Excel当中去。
剪贴板法适合少量表格的合并,VBA方法适合任意版本的Excel版本的数据合并,Power Query法只适合Excel2016及以上版本,如果其他版本想用这个功能,需要单独下载插件。
二、工作簿的合并
工作簿的合并指合并在同一个文件下所有的Excel工作簿。
方法一:Windows批处理命令
首先我们需要将Excel表格文件另存为CSV文件,这一步可以通过VBA批量操作。打开任意工作簿,调出Visual Basic界面,输入以下代码(如何插入代码上面有介绍,这里不再赘述):
Sub xlsxtocsv()
Application.ScreenUpdating=False
Application.DisplayAlerts=False
t=ActiveWorkbook.Name
mypath=ActiveWorkbook.Path&""
myfile=Dir(mypath&"*.xlsx")
Do Until Len(myfile)=0
If myfile<>t Then
Workbooks.Open Filename:=mypath&myfile
ActiveWorkbook.SaveAs Filename:=mypath&Left(myfile,InStr(myfile,".")-1)&".csv",FileFormat:=xlCSV
End If
If myfile<>t Then ActiveWorkbook.Close
myfile=Dir
Loop
Application.DisplayAlerts=True
Application.ScreenUpdating=True
End Sub
执行完毕后,将会将每一个表格生成一份csv文件。
接着新建一个txt文本文档,在其中输入:copy*.csv all.csv。
之后保存文件,将文件后缀名修改为bat文件;或者另存为,另存为界面需要注意两点:第一点:文件名记得带.bat的后缀;第二点:保存类型选择【所有文件】。
点击确定,就会出现一个可执行文件,类型为【windows批处理文件】。
双击此文件之后,当前文件夹内的所有csv文件全部被合并在一起。此方法只适用于csv文件,不适用于xls/xlsx文件(也就是Excel表格),所以我们在第一步,将所有的Excel文件转化成csv格式。
方法二:VBA法
VBA运行方法都是一致的。
新建一个工作簿,打开,进入Visual Basic界面,输入以下代码,点击运行,等待程序完成之后,工作簿完成合并。
Sub合并当前目录下所有工作簿()
Dim Wb As Workbook
Application.ScreenUpdating=False
MyPath=ActiveWorkbook.Path
MyName=Dir(MyPath&""&"*.xlsx")
AWbName=ActiveWorkbook.Name
Do While MyName<>""
If MyName<>AWbName Then
Set Wb=Workbooks.Open(MyPath&""&MyName)
c=ThisWorkbook.Sheets("sheet1").UsedRange.SpecialCells(xlCellTypeLastCell).Row
If c=1 Then'防止合并的工作簿第一行空着
c=0
End If
ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets("sheet1").Cells(c+1,1)'合并工作簿的第一个sheet名字为:sheet1
Wb.Close False
End If
MyName=Dir
Loop
Application.ScreenUpdating=True
MsgBox"已完成"
End Sub
方法三:Power Query
依次点击【数据】—【获取数据】—【自文件】—【从文件夹】,选中需要合并的文件夹,点击【打开】,最后点击【转换数据】。
进入Power Query编辑界面,点击【Content】列,这里选择【参数1】,点击【确定】。
接着点击【Data】列扩展数据,点击【确定】,完成工作簿的合并,针对不需要的列可以右键删除,最后关闭并上载数据到Excel表格即可。
Windows批处理适用于CSV文件,VBA适用于任意版本(如果Excel是2007以前版本,需要将代码中的XLSX修改成XLS)、Power Query适用于高版本Excel,各有所长。