Ir ao conteúdo
  • Cadastre-se
Visitante

Macro para copiar em outra planilha

Recommended Posts

Visitante

Pessoal, boa tarde!

 

Eu acho que estou com uma dúvida parecida com esse tópico:

 

http://forum.clubedohardware.com.br/topic/953856-macro-para-copiar-e-colar-em-planilhas-diferentes/

 

Gostaria de saber como faço uma macro para puxar determinadas células de várias planilhas colocando em uma única planilha, uma embaixo da outra

As planilhas teriam as mesmas estruturas, então iam ser sempre as mesmas células.

 

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se o código postado neste outro tópico te ajuda.

http://forum.clubedohardware.com.br/topic/1084482-copiar-e-colar-v%C3%A1rias-abas-em-uma-%C3%BAnica-aba-da-mesma-planilha-uma-abaixo-da-outra/

 

Se não conseguir, sugiro que você disponibilize uma amostra do seu arquivo, com alguns dados em algumas planilhas, e coloque também o resultado desejado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, se for uma planilha com várias abas, a macro abaixo lhe atende:

 

Não se esqueça que na macro a planilha que irá receber os ddos é a "Plan23" então ela deverá estar na planilha que você irá fazer a macro. 

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

Se for a junção de uma planilha com outras, tenho a macro abaixo. Vide no código a macro busca por aquivos em CSV em uma única pasta. Então você pode mudar a extensão do arquivo para pegar .xls, e como já dito, é necessário que as planilhas estejam na mesma pasta.

 

"    Arquivo = Dir(Pasta & "\*.csv")"

Sub ImportarTXT()    Dim Pasta As String    Dim Arquivo As String        'Abre caixa de diálogo para selecionar a pasta onde estão    'os arquivos    With Application.FileDialog(msoFileDialogFolderPicker)       .Show       Pasta = .SelectedItems(1)    End With        Arquivo = Dir(Pasta & "\*.csv")        'Laço para abrir cada um dos arquivos    While Arquivo <> ""                Workbooks.OpenText Filename:=Arquivo, Origin:=xlMSDOS, _        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _        ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=False _        , Space:=False, Other:=True, OtherChar:="|", FieldInfo:=Array(Array(1, 1 _        ), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), TrailingMinusNumbers:=True                ActiveSheet.[A1].CurrentRegion.Copy _        ThisWorkbook.ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp).Offset(1, 0)        ActiveWorkbook.Close False        Arquivo = Dir        DoEvents    Wend    MsgBox "Fim de Execução da Macro"End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×