Ir ao conteúdo
  • Cadastre-se

Copiar e colar várias abas em uma única aba da mesma planilha uma abaixo da outra


Posts recomendados

Douglas, para facilitar quem possa te ajudar sugiro que você disponibilize aqui no fórum uma amostra do seu arquivo, com 2 ou 3 planilhas com dados e também a planilha resumo (com os dados das demais planilhas),

Link para o comentário
Compartilhar em outros sites

Veja se atende.

Sub PlanMatriz() Dim ws As Worksheet, LRo As Long, LRd As Long  LRo = Sheets("MATRIZ").Cells(Rows.Count, 1).End(xlUp).Row  Sheets("MATRIZ").Range("A2:E" & LRo).ClearContents  For Each ws In ThisWorkbook.Worksheets   If ws.Name <> "MATRIZ" Then    LRo = ws.Cells(Rows.Count, 1).End(xlUp).Row     With Sheets("MATRIZ")      LRd = .Cells(Rows.Count, 1).End(xlUp).Row      .Cells(LRd + 1, 1).Resize(LRo - 1, 5).Value = ws.Range("A2:E" & LRo).Value     End With   End If  Next wsEnd Sub
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Olá :D
 

edit: Não se esqueça que a aba que ira ser a matriz (onde todas as outras estarão reunidas) deverá ser a Plan23, portanto a aba deverá estar com esse nome para a macro funcionar;

 

veja se a macro abaixo lhe ajuda:

Sub juntarabas()' desabilita atualização da telaApplication.ScreenUpdating = False' desabilita mensagensApplication.DisplayAlerts = False' dimensiona variávelDim LIN As Integer' copia o conteúdo da aba seguinte e apaga a abaDoSheets("Plan23").Select' define a primeira linha vazia da aba atualLIN = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row' vai para a aba seguinteActiveSheet.Next.Select' copia o conteúdo necessárioRange("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).EntireRow.Copy' volta para a aba inicial e colaActiveSheet.Previous.SelectRows(LIN).Insert Shift:=xlDown' vai para a aba copiada e deleta elaActiveSheet.Next.SelectActiveSheet.Delete' limpa a variável LINLIN = 0' repete o procedimento até haver apenas 1 abaLoop Until Worksheets.Count = 1'apaga área de transferênciaApplication.CutCopyMode = False' habilita atualização da telaApplication.ScreenUpdating = False' habilita mensagensApplication.DisplayAlerts = FalseRange("A1").SelectEnd Sub
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...