如何快速把多個excel表合并成一個excel表
如何快速把多個excel表合并成一個excel表
有這么一種情況,就是我們有很多張excel,而且excel表里面的公式基本一樣,我們就想快速的把這些excel合并在一起,意思在合并在一個excel頁面,這樣可以方便我們分析和統(tǒng)計,其實利用excel表的宏計算就可以實現(xiàn)。下面我們就來一起解決這個問題。
把多個excel表合并成一個excel表的方法
我們需要把多個excel表都放在同一個文件夾里面,并在這個文件夾里面新建一個excel。如圖所示:
把多個excel表合并成一個excel表的方法圖1
把多個excel表合并成一個excel表的方法圖2
用microsoft excel打開新建的excel表,并右鍵單擊sheet1,找到“查看代碼”,單擊進去。進去之后就看到了宏計算界面。如圖所示:
把多個excel表合并成一個excel表的方法圖3
把多個excel表合并成一個excel表的方法圖4
然后我們把下面這些宏計算的代碼復制進去,然后找到工具欄上面的“運行”下的“運行子過程/用戶窗體”,代碼如下,如圖所示:
Sub 合并當前目錄下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "個工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
把多個excel表合并成一個excel表的方法圖5
把多個excel表合并成一個excel表的方法圖6
運行之后,等待10秒針左右,等運行完畢,就是合并完成之后,會有提示,點確定就可以了。查看合并后的數(shù)據(jù),有5000多行,就是同一個文件夾里面17個excel表數(shù)據(jù)合并后的結果。效果如圖所示。