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)等待执行即可。
评论列表