Notifications
Clear all

Consolidar diversos arquivos em um arquivo único

7 Posts
3 Usuários
0 Reactions
1,856 Visualizações
(@gpclouro)
Posts: 81
Trusted Member
Topic starter
 

Pessoal boa tarde!

Possuo 15 arquivos com 2 abas cada um deles e gostaria de unir estes 15 arquivos em apenas 1 arquivo com 30 abas!

É possível automatizar este processo?

Desde já agradeço a todos!

 
Postado : 03/06/2016 12:22 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Disponibilize um modelo.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 03/06/2016 1:05 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite,

Veja se este código de exemplo ajuda:

Sub ImportarPlanilhas()
    Dim Pasta As String
    Dim Arquivo As String
    Dim Ws As Worksheet
    
    Pasta = "F:Temp"
    
    Application.ScreenUpdating = False
    Arquivo = Dir(Pasta & "*.xlsx")
    Do
        Workbooks.Open Pasta & Arquivo
            For Each Ws In Worksheets
                Ws.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
            Next
        Workbooks(Arquivo).Close False
        Arquivo = Dir
    Loop While Arquivo <> ""
    Application.ScreenUpdating = True
    MsgBox "Fim de Execução da Macro"
End Sub

Todos os arquivos (e somente os que devem ser copiados) devem estar na mesma pasta.

Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/06/2016 3:47 pm
(@gpclouro)
Posts: 81
Trusted Member
Topic starter
 

JValq,

Sua macro está dando erro pra mim!

Sempre nesta parte "Ws.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)"

MPrudencio,
Segue modelo!

 
Postado : 13/06/2016 7:30 am
(@mprudencio)
Posts: 2749
Famed Member
 

Afinal tem 1 ou 2 abas cada arquivo?

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 13/06/2016 9:36 am
(@gpclouro)
Posts: 81
Trusted Member
Topic starter
 

Nesse caso eu tenho apenas uma!

Mas queria que juntasse todas as abas de cada planilha! Sempre..independente se tiver 1 ou 2

É possível:?

 
Postado : 13/06/2016 12:06 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia,

Testei a macro com os arquivos disponibilizados e funcionou perfeitamente.
De qualquer forma segue novo código onde você pode selecionar a pasta onde estão os arquivos:

Sub ImportarPlanilhas()
    Dim Pasta As String
    Dim Arquivo As String
    Dim Ws As Worksheet
   
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show
        Pasta = .SelectedItems(1)
    End With
   
    Application.ScreenUpdating = False
    Arquivo = Dir(Pasta & "" & "*.xls*")
    Do
        Workbooks.Open Pasta & "" & Arquivo
            For Each Ws In Worksheets
                Ws.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
            Next
        Workbooks(Arquivo).Close False
        Arquivo = Dir
    Loop While Arquivo <> ""
    Application.ScreenUpdating = True
    MsgBox "Fim de Execução da Macro"
End Sub

O código funciona independemente da quantidade de planilhas (abas) de cada arquivo (pasta de trabalho).

Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/06/2016 5:43 am