Ir ao conteúdo

Posts recomendados

Postado

Olá,

Preciso copiar as planilhas "Turno 1", "Turno 2" e "Turno 3" do arquivo "boletim de sondagem" apenas em uma planilha única. A ideia é selecionar de B12 até AL14 e colar em uma planilha a parte. Depois selecionar de D3 até AI3 e colar do lado como no exemplo "Unir Planilhas" em anexo. Essa eu fiz na mão. Alguém poderia me dar um direcionamento de como fazer uma macro dessas?

Boletim_Sondagem_S402_20180924.xlsx

Boletim_Sondagem_S402_20180925.xlsx

Unir Planilhas.xlsx

Postado

Segue uma macro que copia o range B12:AL14 de todas as Plans de Boletim.

 

Para testar insira um módulo na planilha Boletim.

 

A partir daí você pode ir adaptando.

 

Sub Main()
    Dim Boletim     As Worksheet
    Dim Unir        As Worksheet
    Dim Area        As Range
    Dim L           As Integer
    
    L = 1
    
    Set Unir = Workbooks.Add.ActiveSheet
    
    For Each Boletim In ThisWorkbook.Worksheets
        Set Area = Boletim.Range("B12:AL14")
            Area.Copy Unir.Cells(L, 1)
            L = L + 2
    Next Boletim
End Sub

 

Postado

Solução utilizando o Power Query (PwQy) do Excel.

 

Teoricamente (você tem de testar...) basta você redirecionar a pasta de trabalho q o PwQy irá ler todas as planilhas presentes gerando o resumo q você pediu, p/ isso basta iniciar o editor do PwQy selecionar a consulta 'TodosTurnos' no canto esquerdo e depois no canto direito em ETAPAS APLICADAS selecionar em 'Fonte' o símbolo de uma catraca q lhe dará a opção de redirecionamento da pasta.

 

image.png.afd045abcfc347a89a4fe85afb3a2b51.png

Boletins.xlsx

Postado
Em 24/11/2018 às 18:30, olliver.soul disse:

Segue uma macro que copia o range B12:AL14 de todas as Plans de Boletim.

 

Para testar insira um módulo na planilha Boletim.

 

A partir daí você pode ir adaptando.

 


Sub Main()
    Dim Boletim     As Worksheet
    Dim Unir        As Worksheet
    Dim Area        As Range
    Dim L           As Integer
    
    L = 1
    
    Set Unir = Workbooks.Add.ActiveSheet
    
    For Each Boletim In ThisWorkbook.Worksheets
        Set Area = Boletim.Range("B12:AL14")
            Area.Copy Unir.Cells(L, 1)
            L = L + 2
    Next Boletim
End Sub

 

@olliver.soul Oi Olliver. Obrigado por sua ajuda, vai economizar um tempo. Teria alguma possibilidade de fazer com que junte tudo dentro de uma mesma planilha? Atualmente tenho cerca de 200 planilhas deste tipo para compilação dos dados, e são geradas cerca de 10 por dia. Imaginei um tipo de que ela entra dentro do diretório e copie tudo em forma de tabela, formando uma mesma planilha.

Mais uma vez muito obrigado pelo seu tempo.

adicionado 2 minutos depois

@DJunqueira Oi Junqueira. Obrigado pela dica. Vou instalar o excel 2013, fazer o teste e lhe dou retorno. A princípio o PwQy parece ser uma ferramenta bastante poderosa. Essa eu ainda não conhecia.

Obrigado,

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