Usuários do Excel
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Copiar Dados de VARIAS Planilhas para uma só Planilha

+2
Afonso Serri
alexandrevba
6 participantes

Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por alexandrevba Ter Jul 17, 2012 8:25 am

Bom dia!!

Aqui segue exemplo de como copiar dados de VARIAS planilhas para uma só planilha!

Código:
Option Explicit

Sub ConsolidarPlanilhas()
'Author:    Jerry Beaucaire
'Date:      6/26/2009
'Updated:  6/23/2010
'Merge all sheets in a workbook into one summary sheet (stacked)
'Data is sorted by a specific column name
Dim cs As Worksheet, ws As Worksheet
Dim LR As Long, NR As Long, sCol As Long
Dim sName As Boolean, SortStr As String
Application.ScreenUpdating = False

'From the headers in data sheets, enter the column title to sort by when finished
SortStr = "Nome"

'Add consolidation sheet if needed
If Not Evaluate("ISREF(PlanFinal!A1)") Then _
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "PlanFinal"

'Option to add sheet names to consolidation report
sName = MsgBox("Adicione o nome da folha de relatório de PlanFinal?", vbYesNo + vbQuestion) = vbYes

'Setup
Set cs = ActiveWorkbook.Sheets("PlanFinal")
cs.Cells.ClearContents
NR = 1

'Process each data sheet
    For Each ws In Worksheets
        If ws.Name <> cs.Name Then
            LR = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
            'customize this section to copy what you need
            If NR = 1 Then
              'copy titles and data to start the consolidation, edit row as needed for source of titles
                ws.Range("A1", ws.Cells(1, Columns.Count).End(xlToLeft)).Copy
                If sName Then
                    cs.Range("B1").PasteSpecial xlPasteAll
                Else
                    cs.Range("A1").PasteSpecial xlPasteAll
                End If
                NR = 2
            End If
           
            ws.Range("A2:BB" & LR).Copy    'copy data, edit as needed for the start row

            If sName Then      'paste and add sheet names if required
                cs.Range("B" & NR).PasteSpecial xlPasteValuesAndNumberFormats
                cs.Range("A" & NR, cs.Range("B" & cs.Rows.Count).End(xlUp).Offset(0, -1)) = ws.Name
            Else
                cs.Range("A" & NR).PasteSpecial xlPasteValuesAndNumberFormats
            End If
           
            NR = cs.Range("A" & cs.Rows.Count).End(xlUp).Row + 1
        End If
    Next ws

'Sort
    LR = cs.Range("A" & cs.Rows.Count).End(xlUp).Row
    On Error Resume Next
    sCol = cs.Cells.Find(SortStr, After:=cs.Range("A1"), LookIn:=xlValues, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Column
    cs.Range("A1:BB" & LR).Sort Key1:=cs.Cells(2, sCol + (IIf(sName, 1, 0))), Order1:=xlAscending, _
        Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom, DataOption1:=xlSortNormal

'Cleanup
    If sName Then cs.[A1] = "PlanFinal"
    cs.Rows(1).Font.Bold = True
    cs.Cells.Columns.AutoFit
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    cs.Activate
    Range("A1").Select
    Set cs = Nothing
End Sub

Tenham um bom dia!! Smile
Att
alexandrevba
alexandrevba
Intermediário
Intermediário

Mensagens : 222
Data de inscrição : 26/06/2012
Localização : Serra-ES

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por Afonso Serri Qua Jul 18, 2012 6:32 am

Bom dia.

Muito bom esse código ! Realmente eu estava precisando de algo nesse sentido.

Obrigado por publicar esse exemplo.


Abs.

Afonso Serri
Iniciante
Iniciante

Mensagens : 74
Data de inscrição : 04/07/2011
Localização : Joinville

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por alexandrevba Sex Ago 03, 2012 7:16 am

Bom dia!!

Quem bom que foi útil, estaremos disposto ajudar, até a próxima!!

Att
alexandrevba
alexandrevba
Intermediário
Intermediário

Mensagens : 222
Data de inscrição : 26/06/2012
Localização : Serra-ES

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Duvida quanto ao codigo

Mensagem por andreandako Sáb Set 28, 2013 10:33 pm

alexandrevba escreveu:Bom dia!!

Quem bom que foi útil, estaremos disposto  ajudar, até a próxima!!

Att
Ola Alexandre,

O código é bem interessante, mas como fazer para que ele pegue apenas as abas que desejo e não todas que estão na planilha.

Abs

andreandako
Iniciante
Iniciante

Mensagens : 2
Data de inscrição : 28/09/2013

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por alexandrevba Dom Set 29, 2013 7:39 pm

Boa noite!!

Você pode criar uma matriz.
Código:
Sheets(Array("Plan1", "Plan2", "Plan3", "Plan4", "Plan5")).Copy
alexandrevba
alexandrevba
Intermediário
Intermediário

Mensagens : 222
Data de inscrição : 26/06/2012
Localização : Serra-ES

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Duvida

Mensagem por andreandako Ter Out 01, 2013 1:27 pm

Ola amigos,

Em que parte do codigo eu devo introduzir este codigo?
Obrigado.

Abraços.


alexandrevba escreveu:Boa noite!!

Você pode criar uma matriz.
Código:
Sheets(Array("Plan1", "Plan2", "Plan3", "Plan4", "Plan5")).Copy

andreandako
Iniciante
Iniciante

Mensagens : 2
Data de inscrição : 28/09/2013

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por alexandrevba Qua Out 02, 2013 9:37 am

Bom dia!!

Tente
Código:
Option Explicit

Sub ConsolidarPlanilhas()
'Author:    Jerry Beaucaire
'Date:      6/26/2009
'Updated:  6/23/2010
'Merge all sheets in a workbook into one summary sheet (stacked)
'Data is sorted by a specific column name
Dim cs As Worksheet, ws As Worksheet
Dim LR As Long, NR As Long, sCol As Long
Dim sName As Boolean, SortStr As String
Application.ScreenUpdating = False

'From the headers in data sheets, enter the column title to sort by when finished
SortStr = "Nome"

'Add consolidation sheet if needed
If Not Evaluate("ISREF(PlanFinal!A1)") Then _
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "PlanFinal"

'Option to add sheet names to consolidation report
sName = MsgBox("Adicione o nome da folha de relatório de PlanFinal?", vbYesNo + vbQuestion) = vbYes

'Setup
Set cs = Sheets("PlanFinal")
cs.Cells.ClearContents
NR = 1

'Process each data sheet
      For Each ws In Sheets(Array("Plan3", "Plan4"))
   
            LR = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
            'customize this section to copy what you need
            If NR = 1 Then
              'copy titles and data to start the consolidation, edit row as needed for source of titles
                ws.Range("A1", ws.Cells(1, Columns.Count).End(xlToLeft)).Copy
                If sName Then
                    cs.Range("B1").PasteSpecial xlPasteAll
                Else
                    cs.Range("A1").PasteSpecial xlPasteAll
                End If
                NR = 2
            End If
           
            ws.Range("A2:BB" & LR).Copy    'copy data, edit as needed for the start row

            If sName Then      'paste and add sheet names if required
                cs.Range("B" & NR).PasteSpecial xlPasteValuesAndNumberFormats
                cs.Range("A" & NR, cs.Range("B" & cs.Rows.Count).End(xlUp).Offset(0, -1)) = ws.Name
            Else
                cs.Range("A" & NR).PasteSpecial xlPasteValuesAndNumberFormats
            End If
           
            NR = cs.Range("A" & cs.Rows.Count).End(xlUp).Row + 1
     
    Next ws

'Sort
    LR = cs.Range("A" & cs.Rows.Count).End(xlUp).Row
    On Error Resume Next
    sCol = cs.Cells.Find(SortStr, After:=cs.Range("A1"), LookIn:=xlValues, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Column
    cs.Range("A1:BB" & LR).Sort Key1:=cs.Cells(2, sCol + (IIf(sName, 1, 0))), Order1:=xlAscending, _
        Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom, DataOption1:=xlSortNormal

'Cleanup
    If sName Then cs.[A1] = "PlanFinal"
    cs.Rows(1).Font.Bold = True
    cs.Cells.Columns.AutoFit
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    cs.Activate
    Range("A1").Select
    Set cs = Nothing
End Sub
alexandrevba
alexandrevba
Intermediário
Intermediário

Mensagens : 222
Data de inscrição : 26/06/2012
Localização : Serra-ES

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por eferreiralima Sex Jan 03, 2014 8:25 am

Como faço para copiar os dados de células específicas de varias planilhas e colocá-las em colunas em uma unica planilha?

eferreiralima
Iniciante
Iniciante

Mensagens : 1
Data de inscrição : 03/01/2014

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por alexandrevba Ter Jan 28, 2014 5:40 am

Bom dia!!

Abra um tópico especificando detalhadamente sua dúvida, poste um arquivo modelo exemplificando.

Att
alexandrevba
alexandrevba
Intermediário
Intermediário

Mensagens : 222
Data de inscrição : 26/06/2012
Localização : Serra-ES

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por evandro.morais Qua Set 03, 2014 8:32 am

Senhores, bom dia... realmente este comando é fantastico.
Mas deparei me que a mesma não copia todos os dados da planilha.
No meu exemplo que utilizo a macro está copiando somente 68 linhas e quando possui mais linhas as mesmas não são copiadas.
Poderia me assessorar neste detalhe?
O que devo mudar na macro para copiar todos os dados que estão dentro da guia?
Obrigado.

evandro.morais
Iniciante
Iniciante

Mensagens : 2
Data de inscrição : 03/09/2014

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por alexandrevba Qua Set 03, 2014 3:19 pm

Boa tarde!!

O ideal é abrir um post nele postar seu arquivo!!


Att
alexandrevba
alexandrevba
Intermediário
Intermediário

Mensagens : 222
Data de inscrição : 26/06/2012
Localização : Serra-ES

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por evandro.morais Qui Set 04, 2014 8:27 am

Alexandre consegui resolver o problema acima listado... agora o que está pegando é que eu tenho que analisar cerca de 300 guias que está em uma pasta do excel, consegui buscar os dados para uma guia só e ficou perfeito. Só que as guias possuem o comando de agrupar e desagrupar para linhas e colunas e quando coloco a macro para rodar ela não pega os valores que estão agrupados. Teria como criar uma macro para entrar dentro de cada guia e eliminar este comando de "agrupar e desagrupar"?
Infelizmente não posso compartilhar meu arquivo por politicas da empresa...
Espero que tenha entendido minha dúvida.

evandro.morais
Iniciante
Iniciante

Mensagens : 2
Data de inscrição : 03/09/2014

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por alexandrevba Qui Set 04, 2014 1:36 pm

Bom dia!!

Abrar um tópico separado quando for falar de um assunto não relacionado com este tópico, isso ajuda a manter o fórum organizado!!

Você não precisa mandar seu arquivo original mande um modelo contendo dados fictícios!!

Se gravar uma macro vera que pode desagrupar as linhas
Código:
Sub Macro1()
    Cells.Select
    Selection.Rows.Ungroup
End Sub
alexandrevba
alexandrevba
Intermediário
Intermediário

Mensagens : 222
Data de inscrição : 26/06/2012
Localização : Serra-ES

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por betoralm Qui Nov 03, 2016 7:33 am

Bom dia.

Tenho uma dúvida com relação a seu código, é exatamente o que eu preciso, mas devido a grande quantidade de pastas e o grande conteúdo que possui em cada uma delas, fica bem pesado para a criação dessa nova pasta.

Há a possibilidade de se criar um novo arquivo com todo o conteúdo?


betoralm
Iniciante
Iniciante

Mensagens : 1
Data de inscrição : 03/11/2016

Ir para o topo Ir para baixo

Copiar Dados de VARIAS Planilhas para uma só Planilha Empty Re: Copiar Dados de VARIAS Planilhas para uma só Planilha

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos