Ir ao conteúdo
  • Cadastre-se

Excel Agrupar pastas em uma só


Posts recomendados

Olá,

Tenho 3 pastas do Excel parecidas, com planilhas nomeadas de A a Z.

As 3 pastas contêm muitos registros iguais, pois foram copiadas de uma mesma pasta original.

Porém, foram inseridos registros novos diferentes em cada uma delas.

Eu gostaria de converter essas 3 pastas em somente uma, juntando todos os registros.

É possível?

Obrigado antecipadamente.

Carlos Ricci

Link para o comentário
Compartilhar em outros sites

  • 11 anos depois...
Option Explicit

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim sql As String
    Dim x As Integer
    Dim i As Long


Sub Consolida()

    Application.ScreenUpdating = False

    Dim arq(1 To 3) As String
    Dim WB1 As Workbook
    Dim WS1 As Worksheet
    Dim ULD As Long
    Dim i As Integer
    
    Set WB1 = ActiveWorkbook
    Set WS1 = WB1.Sheets("Dados")
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    
    WS1.Select
    Cells.Clear
    
    arq(1) = "\\caminho" & "\Arquivo01.xlsx"
    arq(2) = "\\Caminho" & "\Arquivo02.xlsx"
    arq(3) = "\\Caminho" & "\Arquivo03.xlsx"
    
    For i = Plan2.Range("Célula alvo").Value To (UBound(arq))
    
        With cn
            .Provider = "Microsoft.ACE.OLEDB.12.0"
            .ConnectionString = "Data Source=" & arq(i)
            .Properties("Extended Properties") = "Excel 8.0;HDR=YES"
            .Open
        End With
        
        sql = "Select * from [Planilha$]"
        
        rs.Open sql, cn, adOpenKeyset, adLockOptimistic
        
        WS1.Activate
        ULD = WS1.Cells(Rows.Count, 1).End(xlUp).Row
        WS1.Range("A" & ULD + 1).CopyFromRecordset rs
        
        For x = 1 To rs.Fields.Count
            WS1.Cells(1, x) = rs.Fields(x - 1).Name
        Next x
        
        cn.Close
    
    Next i
    
    Set cn = Nothing
    Set rs = Nothing
    
    Plan1.Activate
    
    MsgBox "Consolidação concluída ! "
    Plan2.Activate
    
    Application.ScreenUpdating = False

End Sub

 

Eu utilizo esta macro para juntar meus arquivos, que tem colunas iguais.

Ativar a Referência "Microsoft Activex Data Objects 2.8 Library" ou superior para utilização da macro

 

Adaptar conforme sua pasta de trabalho e planilhas.
Felicidades.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...