1. 程式人生 > >使用VB指令碼快速將多個Excel多個Sheet下的資料歸併到一個Excel

使用VB指令碼快速將多個Excel多個Sheet下的資料歸併到一個Excel

       當遇到要將多個Excel下的資料歸併時,特別是Excel資料量達到GB級別時,複製貼上操作就顯得很LOW,這種傻瓜操作要做幾天幾夜都沒法處理完,外行人只能看Excel發嘆.這時開發工具下的VB編輯器就起作用了.這裡秀一波操作,便利做財務,做資料分析的大眾使用.

開啟huizong.xlsx,然後點選VB編輯器

在空白的編輯器出輸入以下程式碼:

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

好了,點選F5或執行按鈕,就可以將三張Excel表的資料彙總到一張huizong.xlsx表中了