首頁 > 其他

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

2019-12-08 00:16:28

有這麼一種情況,就是我們有很多張excel,而且excel表裡面的公式基本一樣,我們就想快速的把這些excel合併在一起,意思在合併在一個excel頁面,這樣可以方便我們分析和統計,其實利用excel表的巨集計算就可以實現。下面我們就來一起解決這個問題。

1

我們需要把多個excel表都放在同一個檔案夾裡面,並在這個檔案夾裡面新建一個excel。如圖所示:



2

用microsoft excel開啟新建的excel表,並右鍵單擊sheet1,找到「檢視程式碼」,單擊進去。進去之後就看到了巨集計算介面。如圖所示:



3

然後我們把下面這些巨集計算的程式碼複製進去,然後找到工具列上面的「執行」下的「執行子過程/使用者表單」,程式碼如下,如圖所示:

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



4

執行之後,等待10秒針左右,等執行完畢,就是合併完成之後,會有提示,點確定就可以了。檢視合併後的資料,有5000多行,就是同一個檔案夾裡面17個excel表資料合併後的結果。效果如圖所示。




IT145.com E-mail:sddin#qq.com