1. 程式人生 > >excel中利用vba合併多個sheet頁和合並多個excel文件

excel中利用vba合併多個sheet頁和合並多個excel文件

合併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