VBA应用—合并选择的多个excel文件下所有的工作表合并到一个工作簿里

合并选择的多个excel文件下所有的工作表合并到一个工作簿里

Sub test()

Dim str()

Dim i As Integer

Dim wb, wb1 As Workbook

Dim sht As Worksheet

On Error Resume Next '加上以后防止点了取消发生的错误

Set wb1 = ActiveWorkbook

Set sht1 = ActiveSheet

On Error Resume Next

str = Application.GetOpenFilename("Excel数据文件,*.xls*", , , , True)

true 代表可多选工作簿"Excel数据文件,*.xls*" 显示类型为xls的文件

    For i = LBound(str) To UBound(str)

'  LBound(str) 数组下限UBound(str) 数组上限

        Set wb = Workbooks.Open(str(i))

        For Each sht In wb.Sheets

            sht.Copy after:=wb1.Sheets(wb1.Sheets.Count)

            wb1.Sheets(wb1.Sheets.Count).Name = Split(wb.Name, ".")(0) & sht.Name

        Next

        wb.Close

    Next

End Sub

你可能感兴趣的:(VBA应用—合并选择的多个excel文件下所有的工作表合并到一个工作簿里)