Digamos que eu tenha uma pasta de arquivos do Excel com nomes de arquivos previsíveis e formatação. Como posso ler automaticamente de todos eles em um arquivo Excel separado? Congratulo-me com respostas VBA, mas apenas as completas o suficiente para implementar sem experiência. Estou ciente de que a versão pode dar alguma diferença no comportamento, estou pessoalmente trabalhando com o Excel 2007.
Exemplo detalhado
Para desenhar uma imagem detalhada, imagine que eu tenha arquivos nomeados da seguinte maneira, continuando até um número conhecido.
Para simplificar, considere que todos eles têm uma planilha com o nome Sheet1 e apenas um valor inteiro em A1. Nesta mesma pasta, gostaria de ter um arquivo do Excel que tenha uma coluna com o inteiro de cada um desses arquivos. Só para ter certeza de que minha solicitação é 100% clara, quero um arquivo com esta aparência:
EmqueacolunaValorfoiobtidaautomaticamentedosrespectivosarquivos.
Oquenãofunciona
Euchamareiissode"solução de link manual". Esta solução é insuficiente porque requer digitação para todas as células. Se eu tiver 1000 arquivos de um site do governo, isso não é uma opção prática.
- Na foto acima, vá para a célula B2
- Tipo = 1.xls! a1
- Pressione Enter
- Repita logicamente para as outras 3 linhas
Eu chamarei este próximo de "falha indireta". Ele funciona, mas somente se o outro arquivo estiver aberto no momento em que os valores forem calculados. Novamente, isso também é impraticável se abrir 1000 arquivos do Excel pode travar o computador, sem mencionar ter que fechar muitos arquivos.
- Na foto acima, acesse cell
B2
- Digite
=INDIRECT(A2&"!A1")
- Pressione Enter
Parece que essa abordagem me coloca tentadoramente perto de uma solução, mas eu não sei bem como fazê-lo fazer o que eu quero. Ah, eu também preciso especificar que usar o nome completo do arquivo também não resolve o problema, o que significa que digitar ='C:\[1.xls]Sheet1'!A1
tem o mesmo problema que os arquivos devem estar abertos para que ele funcione (supondo que 1.xls esteja armazenado em o nível superior da unidade C).
Links que não corrigem bem
Você pode encontrar outras tentativas para esse problema na Internet em geral. Um , por exemplo, envolve planilhas (não arquivos), é opaco no que faz e não • Descrever totalmente como implementar a solução.
A resposta mais próxima que encontrei no Super User foi Posso usar o SQL para criar uma tabela de dados do Excel a partir de outros arquivos do Excel? Isso não satisfaz o que estou procurando, porque eu particularmente não quero uma solução SQL, e Eu quero algo tão simples quanto possível. É também por isso que tentei oferecer as minhas soluções falhadas, por isso não vamos dar passos largos sobre as meias soluções que já vi.
Esta é a minha primeira pergunta sobre Superusuário e eu acredita ser o lugar certo para fazer essas perguntas sobre o Excel porque minha pergunta usa -oriented.