Importar dados com o VBA no Excel
Importar dados para uma determinada planilha do Excel é uma tarefa que muitas pessoas fazem todos os dias. Isto pode ser feito de várias maneiras.Esta postagem trás algumas explicações e exemplos referente a este assunto (solicitação e sugestão de meu amigo de vários anos: Eduardo Ribeiro).
A importação de dados de um outro arquivo (planilha, bloco de notas (txt), ou outro tipo de arquivo qualquer), pode ser feito através de fórmulas ou manualmente copiando e colando os dados. Mas isto demanda tempo e, nem sempre é possível de ser feito (destas formas).
Uma das maneiras mais fáceis, rápida e que funciona bem, é a importação via programação (Macros/VBA).
A primeira coisa a ser feita, é observar os dados no arquivo, para que possamos planejar e decidir qual a melhor forma que o mesmo será importado. Em nosso exemplo, utilizaremos um arquivo de texto (txt), conforme vemos na figura abaixo.
A primeira coisa a ser feita, é observar os dados no arquivo, para que possamos planejar e decidir qual a melhor forma que o mesmo será importado. Em nosso exemplo, utilizaremos um arquivo de texto (txt), conforme vemos na figura abaixo.
Agora, podemos gravar a macro para importar os dados. Para fazer isso, clique na guia 'Desenvolvedor' e, em seguida, em 'Gravar Macro'. Damos um nome a macro e clicamos em 'OK'.
Na guia 'Dados', no grupo 'Obter Dados Externos', clicamos em 'De Texto'. Encontramos o arquivo que contém os dados a serem importados e confirmamos a importação. Seguimos as orientações do Assistente de importação do Excel e, por fim, podemos finalizar a gravação da Macro.
A figura ao lado, contém o código da macro que foi gravado com a importação dos dados.
Note que a parte destacada em vermelho é o caminho onde o arquivo que contém os dados está gravado. A partir desde caminho/nome, é que é feita a importação.
Visto que no exemplo citado, o caminho é fixo, o arquivo com os dados sempre deverá estar no mesmo local, caso contrário, quando a macro for executada será gerado um erro porque o arquivo não será encontrado.
Vejamos outro problema que podemos ter: imagine que você trabalhe numa empresa que contenha alguma filiais. Cada umas delas (Filiais), grava os arquivos em locais diferentes. Com certeza, ocorrerá problemas quando a macro for executada.
Outro problema que podemos enfrentar, é que muitas vezes precisamos importar não só um arquivo, mas dois ou mais para que determinada informação/planilha seja elaborada.
Além disso, podem surgir outras situações, fazendo com que o nosso exemplo não funcione. Para resolver isso, precisamos preparar algo que permita que o usuário escolha o caminho e o arquivo(com nome diferente) a ser importado. Através de um 'userform' e 'macros', podemos fazer isto facilmente.
A figura abaixo mostra como isso pode ser feito.
A figura abaixo mostra como isso pode ser feito.
- Userform: o Userform (1), conterá o caminho (no campo 'caminho') onde o arquivo a ser importado se encontra.
- Código de pesquisa: este código (2) abre uma caixa onde podemos procurar o arquivo para importação.
- Código de importação: este código (3) faz a importação do arquivo (de acordo com o caminho e o nome do arquivo).
No link abaixo, pode se feito o download do aquivo de exemplo.
Link: Importar_Dados
Link arquivo TXT de exemplo para importação: Vendas.txt
+ 1 exemplo para download: Importar dados Com Excel & VBA
+ 1 exemplo para download: Importar dados Com Excel & VBA
Em caso de alguma dúvida, favor postar comentário.
Realmente muito útil e necessária essas importações. Desta forma podemos importar dados de sistemas fechados, para manipula-los e tratá-los de forma mais prática e eficiente diretamente no excel.
ResponderExcluirMuito boa essa postagem.
Abraços.
MF
Professor como ficaria esta solução, para não apagar os dados já importados e indo importando abaixo.
ExcluirOlá Eduardo. Da maneira que esta macro foi feita, não permitiria fazer o que vc precisa. É preciso fazer diferente. Posso fazer uma vídeo aula se vc enviar um email sugerindo: ivairferrari@gmail.com
Excluir