Ir ao conteúdo

Como copiar a mesma linha de todas as sheets do Excel ?


malandro

Posts recomendados

Postado

Desculpa a demora , fui viajar e o problema desta planilha só terei que resolver esta semana se assim quiser meu chefe . Mas meu objetivo é : abrir um arquivo com 30 sheets . Uma é referente a PIB outra a inflação e por aí vaí . Em cada linha está cada país . E ( quase sempre ) na mesma linha está o mesmo país . Por exemplo , vamos supor que o Brasil esteja na trigésima quinta . Meu objetivo é selecionar a trigésima quinta linha de todas as 30 sheets , copiá-las e colá-las em um outra planilha onde a trigésima quinta linha da primeira sheet seria a primeira linha , a trigésima quinta linha da segunda sheet seria a segunda e por aí vai . Um copy paste manual parece tranquilo . O problema é que são 30 países que tem que ser copiados ( e não estão necessariamente em linhas próximas ) de 5 arquivos Excel , cada uma com 30 sheets .

Postado

Tente isto:

Crie para cada arquivo duas novas planilhas Selecao e Resumo

Crie as macros abaixo:

Macro Seleciona, conta todas as planilhas e coloca os seus respectivos nome na Selecao

Sub Seleciona()

' Selecionadora Macro

' Macro gravada em 24/2/2008 por Márcio Rodrigues

Linha = 2

Sheets("Selecao").Select

For i = 1 To Worksheets.Count

If Not (Worksheets(i).Name = "Selecao" Or Worksheets(i).Name = "Resumo") Then

Range("A" & Linha).Value = Sheets(i).Name

Linha = Linha + 1

End If

Next

End Sub

Apos rodar a Selecao, você deve colocar o numero da linha na coluna B da planilha Selecao. Note que você ter linhas diferentes por planilha, bem como copiar mais de uma linha por planilha, basta inserir o nome da planilha e a linha. Apos isto, rode a macro Resumo:

Sub Resumo()

' Resumo Macro

' Macro gravada em 24/2/2008 por Márcio Rodrigues

Linha = 2

Sheets("Selecao").Select

Range("A" & Linha).Select

NumeroLinha = Range("B" & Linha).Value

While Range("A" & Linha) <> ""

Worksheets(Range("A" & Linha).Value).Select

Rows(NumeroLinha).Select

Selection.Copy

Sheets("Resumo").Select

Rows(Linha).Select

ActiveSheet.Paste

Application.CutCopyMode = False

Linha = Linha + 1

Sheets("Selecao").Select

Range("A" & Linha).Select

NumeroLinha = Range("B" & Linha).Value

Wend

End Sub

Arquivado

Este tópico foi arquivado e está fechado para 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!