Como combinar vários arquivos do Excel em um arquivo

1

Eu tenho 3 arquivos do Excel que possuem várias guias em cada um que eu preciso ter cada guia copiada em um arquivo do Excel, para que eu possa classificá-los em uma ordem específica. Cada aba tem um nome diferente (isso acaba sendo cerca de 130 abas no final). Eu tenho o código abaixo que eu tentei e mudou o formato dos meus gráficos e adicionei zeros em linhas em branco.

Sub MergeExcelFiles()
    Dim fnameList, fnameCurFile As Variant
    Dim countFiles, countSheets As Integer
    Dim wksCurSheet As Worksheet
    Dim wbkCurBook, wbkSrcBook As Workbook


fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)

If (vbBoolean <> VarType(fnameList)) Then

    If (UBound(fnameList) > 0) Then
        countFiles = 0
        countSheets = 0

        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual

        Set wbkCurBook = ActiveWorkbook

        For Each fnameCurFile In fnameList
            countFiles = countFiles + 1

            Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)

            For Each wksCurSheet In wbkSrcBook.Sheets
                countSheets = countSheets + 1
                wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)
            Next

            wbkSrcBook.Close SaveChanges:=False

        Next

        Application.ScreenUpdating = True
        Application.Calculation = xlCalculationAutomatic

        MsgBox "Procesed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"
    End If

Else
    MsgBox "No files selected", Title:="Merge Excel files"
End If
End Sub

Existe um código diferente ou uma maneira melhor de tentar obtê-los em um único arquivo?

Eu tenho uma macro que classifica a guia na ordem em que estou precisando, mas não posso alterar o formato das guias quando as copio em uma pasta de trabalho.

    
por Larissa England 11.07.2018 / 15:10

0 respostas