使用VB指令碼快速將多個Excel多個Sheet下的資料歸併到一個Excel
阿新 • • 發佈:2018-11-03
當遇到要將多個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表中了