如何快速合并多个Excel 文件成为一个工作簿?
1)在电脑桌面位置建立一个文件夹,将需要合并的Excel文件都放在这个文件夹下。3)在工作表标签位置点击右键”4)在打开的VBA编辑窗口中粘贴以下代码,FilePath = FilePath & IIf(Right(FilePath,ta.Activate“yyy)).Copyata.Activateyyy)).Selectata.Cells(kkk
如何快速合并多个Excel 文件成为一个工作簿?
原创2022-02-16 21:40·骁宇说
使用一个VBA就可以进行实现,按照下列步骤进行操作即可成功
前提条件:
1)在电脑桌面位置建立一个文件夹,将需要合并的Excel文件都放在这个文件夹下。
2)在文件夹内新建一个Excel文件,然后打开此工作薄。
3)在工作表标签位置点击右键,选择“查看代码”。
4)在打开的VBA编辑窗口中粘贴以下代码:
Private Sub Workbook_Open()
Dim FilePath As String, FileName As String, sht As Worksheet, Item As Integer, arr()
FilePath = ThisWorkbook.Path
Set at = ThisWorkbook
Set ata = at.Worksheets(1)
kkk = 2
FilePath = FilePath & IIf(Right(FilePath, 1) = "\", "", "\")
Application.ScreenUpdating = False
FileName = Dir(FilePath & "*.xls*")
Do
If Len(FileName) = 0 Then Exit Do
If FileName <> ThisWorkbook.Name Then
Set booka = Workbooks.Open(FilePath & FileName)
xx = booka.Worksheets.Count
For i = 1 To xx
Set ta = booka.Worksheets(i)
xxx = ta.UsedRange.Rows.Count
yyy = ta.UsedRange.Columns.Count
ta.Activate
ta.Range(ta.Cells(2, 1), ta.Cells(xxx, yyy)).Select
ta.Range(ta.Cells(2, 1), ta.Cells(xxx, yyy)).Copy
ata.Activate
ata.Range(ata.Cells(kkk, 1), ata.Cells(xxx, yyy)).Select
ata.Range(ata.Cells(kkk, 1), ata.Cells(kkk, yyy)).PasteSpecial Paste:=xlPasteValues
kkk = kkk + xxx - 1
Next
Application.DisplayAlerts = False
booka.Close
End If
FileName = Dir
Loop
num = ata.UsedRange.Rows.Count
MsgBox "当前工作簿下的全部工作表已经合并完毕!共计" & num & "条数据", vbInformation, "提示"
End Sub
5)关闭VBA编辑窗口。
6)在excel中,工具---宏---宏,选“工作薄间工作表合并”,然后“执行”。
7)等待执行即可。