excel中利用vba合併多個sheet頁和合並多個excel文件
阿新 • • 發佈:2019-02-18
合併sheet頁, 合併excel文件, 合併工作表, 合併工作簿
合併工作表(sheet)
合併多個工作表
僅適用於每個sheet的第一行是資料頭,資料從第二行開始。
Sub 合併工作表()
Dim J As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Combined"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1 ).Range("A1")
For J = 2 To Sheets.Count
Sheets(J).Activate
c = Sheets(J).Range("IV1").End(xlToLeft).Column
r = Sheets(J).Range("A65536").End(xlUp).Row
Range("A2").Resize(r - 1, c).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
End Sub
合併工作簿
Sub 合併工作簿()
Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Excel 97-2003 工作簿(*.xls),*xls,Microsoft Excel檔案(*.xlsx),*.xlsx", MultiSelect:=True, Title:="請選擇需要合併的工作簿")
X = 1
If TypeName(FileOpen) = "Boolean" Then
MsgBox "未選擇任何檔案, 退出."
Exit Sub
End If
While X <= UBound(FileOpen)
Workbooks.Open Filename:=FileOpen(X)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
X = X + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
errhadler:
MsgBox Err.Description
End Sub