如何快速把多個excel表合并成一個excel表

如何快速把多個Excel表合并成一個excel表 。 有這么一種情況 , 就是我們有很多張excel , 而且excel表里面的公式基本一樣 , 我們就想快速的把這些excel合并在一起 , 意思在合并在一個excel頁面 , 這樣可以方便我們分析和統計 , 其實利用excel表的宏計算就可以實現 。 下面我們就來一起解決這個問題 。
我們需要把多個excel表都放在同一個文件夾里面 , 并在這個文件夾里面新建一個excel 。 如圖所示:

如何快速把多個excel表合并成一個excel表

文章插圖

如何快速把多個excel表合并成一個excel表

文章插圖


【如何快速把多個excel表合并成一個excel表】用microsoft excel打開新建的excel表 , 并右鍵單擊sheet1 , 找到“查看代碼” , 單擊進去 。 進去之后就看到了宏計算界面 。 如圖所示:

如何快速把多個excel表合并成一個excel表

文章插圖

如何快速把多個excel表合并成一個excel表

文章插圖

然后我們把下面這些宏計算的代碼復制進去 , 然后找到工具欄上面的“運行”下的“運行子過程/用戶窗體” , 代碼如下 , 如圖所示:

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表

文章插圖

如何快速把多個excel表合并成一個excel表

文章插圖

運行之后 , 等待10秒針左右 , 等運行完畢 , 就是合并完成之后 , 會有提示 , 點確定就可以了 。 查看合并后的數據 , 有5000多行 , 就是同一個文件夾里面17個excel表數據合并后的結果 。 效果如圖所示 。

如何快速把多個excel表合并成一個excel表

文章插圖

如何快速把多個excel表合并成一個excel表

文章插圖


    推薦閱讀