Excel批量合并不同工作簿的数据
新建Excel文件并启用宏
为了将大量的Excel工作簿合并成一个表,并保留原工作簿的名称信息,需要按照以下步骤操作:
1. 新建一个Excel文件。
2. 使用“另存为”功能,将文件类型选择为“Excel启用宏的工作簿”。
将需要合并的表放置在同一文件夹中
为了方便合并,把需要合并的Excel表格都放置在同一个文件夹下。
填写文件夹路径和汇总后的文件名
在新建的Excel文件的B2单元格中填写需要合并的文件夹路径(必填)。在B3单元格中填写汇总后的文件名(如果不填,默认为“00_数据汇总”)。
打开VB编辑器并添加代码
按下快捷键“Alt F11”可以打开VB编辑器。然后点击“插入”-“模块”,在新模块的编辑栏中输入以下代码:
```
Sub 数据汇总()
Dim j As String
If Cells(3, 2) "" Then
j "00_数据汇总"
Else
j Cells(3, 2)
End If
If Cells(2, 2) "" Then
MsgBox "请在B2单元格填写文件夹地址"
Exit Sub
Else
GoTo T
End If
T: pth Cells(2, 2) ""
fn Dir(pth "*.xlsx")
Set newbk
Set sht (1)
k 1
Application.DisplayAlerts False
Do While fn <> ""
Set Wb (pth fn)
'同一工作簿中几个工作表都要合并时启用
'sht.Cells(k, 1) fn ":" (1).Name
Columns("A:E").Select
Selection.EntireColumn.Hidden False
mc (Sheets(1).Columns(5))
Columns("A:A").Insert Shift:xlToRight, CopyOrigin:xlFormatFromLeftOrAbove
Range(Cells(2, 1), Cells(mc, 1)).Select
Selection Left(fn, InStrRev(fn, ".") - 1)
k k 1
Selection fn
(1).Rows("2:" mc).Copy
sht.Cells(k, 1).PasteSpecial xlPasteValuesAndNumberFormats
k 1
'同一工作簿中几个工作表都要合并时启用
' False
fn Dir
Loop
pth j ".xlsx"
False
Application.DisplayAlerts True
End Sub
```
开始自动合并到一个新的文件中
按下F5键,开始执行宏代码,将所有需要合并的Excel表格中的数据自动合并到一个新的文件中。合并后的文件名为之前填写的汇总后文件名,默认为“00_数据汇总”。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。