2021-05-12 14:32:11
怎麼將多個Excel工作簿合併成一個新的工作簿
已知有多個獨立的excel工作簿檔案,現在需要將這些檔案合併到一個新的工作簿中。保留原來excel工作簿中各個excel工作表名稱。如果量小,可以採用開啟一個個複製的方法。在這裡,我將向大家分享,怎麼批次處理多個工作簿(ps:不是工作表)的合併。
1
將需要合併的excel工作簿檔案放置在一個檔案夾中。
每個檔案夾中的工作簿都輸入了簡單的內容。
2
在該檔案夾中,新建立一個新的excel工作簿檔案。重新命名為8.
3
開啟新建立的excel工作簿檔案8.按Alt+F11或者將滑鼠移動到下方工作表名稱sheet1上右鍵,選擇檢視程式碼。
4
在彈出的程式碼編輯視窗中,輸入程式碼。注意:通過快捷鍵Alt+F11開啟的視窗如下沒有直接複製程式碼的面板,需要點選左上方的工程-VBA project模組,雙擊sheet1,即可開啟程式碼視窗。而步驟3中的第二種方法可以直接開啟程式碼輸入視窗。
5
在程式碼視窗中,黏貼下列程式碼:
Sub CombineFiles()
Dimpath As String
DimFileName As String
DimLastCell As Range
DimWkb As Workbook
DimWS As Worksheet
DimThisWB As String
Dim MyDir AsString
MyDir =ThisWorkbook.path & ""
'ChDriveLeft(MyDir, 1) 'find all the excel files
'ChDir MyDir
'Match =Dir$("")
ThisWB =ThisWorkbook.Name
Application.EnableEvents = False
Application.ScreenUpdating = False
path =MyDir
FileName =Dir(path & "*.xls", vbNormal)
Do UntilFileName = ""
If FileName <> ThisWB Then
Set Wkb = Workbooks.Open(FileName:=path & ""& FileName)
For Each WS In Wkb.Worksheets
Set LastCell = WS.Cells.SpecialCells(xlCellTypeLastCell)
If LastCell.Value = "" And LastCell.Address = Range("$A$1").AddressThen
Else
WS.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
End If
Next WS
Wkb.Close False
End If
FileName = Dir()
Loop
Application.EnableEvents = True
Application.ScreenUpdating = True
Set Wkb =Nothing
Set LastCell= Nothing
End Sub
6
點選選單欄執行-執行子過程-使用者表單。關閉程式碼輸入視窗。開啟excel工作簿8.可以看到下方已經多了很多新的工作表——此時,我們已經將之前的工作簿中的工作表都複製到了這一新建的工作簿中。
相關文章