Notifications
Clear all

Buscar Dados em Várias Planilhas Fechadas

6 Posts
2 Usuários
0 Reactions
1,293 Visualizações
(@letheusma)
Posts: 3
New Member
Topic starter
 

Boa tarde amigos!

Sou novo neste espaço, mas tenho gostado muito dos posts e acho que vocês podem me ajudar!

Eis o problema...

Eu trabalho com Simulações, onde os outputs da minha simulação são planilhas em xlsx! O problema é que uma simulação minha gera mais de 300 planilhas com resultados e eu preciso compilar estes dados.

A Planilha fica em um diretório que varia de projeto para projeto e quando a simulação é finalizada são gerados arquivos com os seguintes nomes: CONF-001.xlsx, CONF-002.xlsx, CONF-003.xlsx e assim sucessivamente até a CONF-300.xlsx! Dentro destes arquivos existe uma planilha com o mesmo nome do arquivo (EX: CONF-001).

Eu preciso criar uma planilha Resumo.xlsx para compilar estes dados, onde para cada arquivo gerado na simulação (CONF-001...) eu terei uma planilha com os dados da simulação! (EX: A planilha 001 do arquivo resumo.xlsx possui os dados do arquivo CONF-001.xlsx). Assim eu terei todos os dados em uma planilha e posso manipulá-los, porém hoje eu preciso abrir cada uma das 300 planilhas para atualizar o vínculo e puxar os dados, gostaria de saber se é possível obter estes dados em ter que abrir todas as planilhas, sabendo que eu tenho um número fixo de linhas, onde a primeira estabelece o Nome do Ambiente e da 2 a 8761 são valores e minha colunas variam, onde a primeira é igual para todas e da 2 a N variam de acordo com a simulação!

Basicamente eu perco um dia inteiro de trabalho abrindo planilhas, copiando dados e propagando erros em algo que poderia ser feito automaticamente. Meu conhecimento em VBA é muito básico ainda e não consigo programar algo do gênero!

Abraços a todos e obrigado pela ajuda!

 
Postado : 13/01/2017 12:05 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde Letheusma,

Pelo que entendi você quer as informações das planilhas desses 300 arquivo em uma única planilha de resumo. É isso?

Em anexo coloquei uma planilha que possui um código que pode fazer isso. Como você não colocou nenhuma planilha de exemplo, talvez não atenda completamente o seu objetivo.

O que você deve fazer é bem simples, coloque essa planilha dentro da pasta que contém os arquivos que você quer copiar e mande rodar o código (está no módulo 2).
O código ira abrir todas as pastas .xlsx e copiar da linha 2 até a linha . Todas as informações serão copiadas em sequência e colocadas na planilha 'Resumo'.

Inicialmente teste com apenas 3 ou 4 planilhas (crie uma pasta nova e coloque as planilhas para o teste), porque com 300 talvez demore um pouco.

Teste e de retorno.

att,

 
Postado : 13/01/2017 1:33 pm
(@letheusma)
Posts: 3
New Member
Topic starter
 

Obrigado pela resposta Brunoxro!

É quase isso! Na verdade a planilha está puxando os valores para a mesma planilha, quando na verdade eu preciso que cada planilha seja puxada para uma aba da planilha resumo.xlsx! Enviei em anexo a planilha exemplo, onde a planilha resumo contém as abas (001,002,003,004), onde a planilha 001 do arquivo Resumo.xlsx deve receber os dados do arquivo COF-001.xlsx, a 002 do arquivo COF-002 e assim sucessivamente até a COF-300!

Obrigado pelo retorno e pela ajuda.

Abraço

 
Postado : 13/01/2017 2:34 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde Letheusma,

Você esqueceu de anexar a planilha de exemplo.

Da para fazer o que você quer, o único problema é que o Excel tem limites de planilhas(abas) por arquivo, acho que é 255 (não tenho certeza).

Sem muito haver com o assunto, mas você não acha meio complicado lidar com tantas abas(planilhas) em um único arquivo?

att,

 
Postado : 13/01/2017 2:57 pm
(@letheusma)
Posts: 3
New Member
Topic starter
 

Boa tarde,

Não estou conseguindo enviar o arquivo Zipado pelo fórum Bruno! Após carregar o arquivo não fica salvo para envio :/

Na verdade talvez sejam necessárias menos abas, onde o importante de cada uma é que consigo ver separadamente os dados de cada resultado da simulação (COF-001), porém sua solução já me atende no sentido de puxar estes dados para a planilha. Só uma dúvida, eu conseguiria puxar esses dados se as planilhas COF-001 a COF-300 forem em csv? Qual alteração no código é necessária para isso?

Vou tentar ver se consigo anexar os arquivos em uma resposta.

Abraço

 
Postado : 13/01/2017 3:15 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Letheusma,

Os arquivos devem estar muito grandes (mais de 1 mb).
Cria uma pasta e copie apenas 20 linhas (com o cabeçalho) e anexe ela.

Cada resultado da simulação tem algum código de referência? Talvez seja mais fácil deixar tudo na planilha "Resumo" e trabalhar com a opção do filtro.

Sobre o .csv, de primeira, suponho que seja apenas necessário trocar na linha 33 o .xlsx por .csv. Mas não testei.

att,

 
Postado : 13/01/2017 3:24 pm