Como Importar XML para o Excel com um Botão Usando VBA
Aprenda como importar XML para o Excel com VBA usando um botão. Veja o código completo e o passo a passo para automatizar a tarefa.
O que você vai aprender?
Como Importar XML para o Excel com um Botão Usando VBA
Quer aprender como importar XML para o Excel de forma rápida, usando apenas um botão?
Neste tutorial, você vai ver o código VBA completo e entender passo a passo como configurar a macro para que o Excel faça todo o trabalho para você.
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que é XML
O XML (Extensible Markup Language) é uma linguagem de marcação usada para criar documentos com estrutura hierárquica.
É uma forma particular de organizar hierarquicamente itens, que mostramos em exemplo a seguir, para o arquivo de aula:

A ideia aqui é entender que existem itens mais internos, na hierarquia, e itens mais externos. Queremos, que cada item seja separado em colunas no Excel, ao serem importados.
Abaixo mostramos a tabela que vai receber os dados da importação XML VBA:

Visão geral da importação
O objetivo é criar uma macro no Excel que, ao clicar em um botão, abra uma janela para selecionar um arquivo XML e, em seguida, importe automaticamente as informações para uma tabela.
Código VBA para importar XML
A seguir temos o código responsável por fazer essa importação XML Excel. Vamos acompanhar o código e seus comentários:
Sub importarXML()
'Importar a referência Microsoft XML, v6.0
Dim caminhoXML As String
Dim arqXML As New MSXML2.DOMDocument60
Dim CDs As MSXML2.IXMLDOMNode, CD As MSXML2.IXMLDOMNode
Dim linha As Long
With Application.FileDialog(msoFileDialogFilePicker)
'Selecionar apenas um arquivo
.AllowMultiSelect = False
'Exibir apenas os arquivos de tipo .XML
.Filters.Add "Arquivos XML", "*.xml", 1
'Editar o título da caixa de seleção
.Title = "Escolha um arquivo XML"
'Exibir a caixa de seleção
.Show
'Guardar o caminho do arquivo selecionado
caminhoXML = .SelectedItems.Item(1)
End With
arqXML.Load (caminhoXML)
Set CDs = arqXML.SelectSingleNode("CATALOG")
linha = 2
For Each CD In CDs.ChildNodes
Cells(linha, 1).Value = CD.SelectSingleNode("TITLE").Text
Cells(linha, 2).Value = CD.SelectSingleNode("ARTIST").Text
Cells(linha, 3).Value = CD.SelectSingleNode("COUNTRY").Text
Cells(linha, 4).Value = CD.SelectSingleNode("COMPANY").Text
Cells(linha, 5).Value = CD.SelectSingleNode("PRICE").Text
Cells(linha, 6).Value = CD.SelectSingleNode("YEAR").Text
linha = linha + 1
Next
Set arqXML = Nothing
Set CD = Nothing
Set CDs = Nothing
End SubComentários a respeito do código para importar XML:
- Fazemos o lembrete de ativar a referência XML de qualquer versão no seu VBA, como mostramos na videoaula
- Dimensionar as variáveis:
- “arqXML” como um novo objeto MSXML2.DOMDocument60
- “CDs” como um objeto MSXML2.IXMLDOMNode
- “CD” como um objeto MSXML2.IXMLDOMNode
- “linha” como um objeto do tipo Long (número grande)
- Vamos abrir a caixa de diálogo do Excel, com o comando/argumento para pegar/selecionar um arquivo (XML a ser importado)
- Permitir apenas a seleção única (seleção múltipla configurada para ser falsa)
- Permitir apenas arquivos com a extensão .XML
- Configurar o título da caixa de diálogo como “Escolha um arquivo XML”
- Mostrar a caixa de diálogo para o usuário escolher o arquivo a ser importado
- Armazenar na variável “caminhoXML” o caminho completo do arquivo selecionado (item a ser selecionado na caixa de diálogo)
Execução e resultado
Após rodar o código e clicar no botão de Importar XML, a planilha é preenchida automaticamente com os dados estruturados, sem necessidade de copiar e colar manualmente
Observe abaixo a caixa de diálogo de exemplo gerada pelo código:

- Em seguida da escolha do arquivo, o arquivo será carregado para o VBA a partir do seu caminho de pasta, no computador
- Configurar a variável “CDs” para receber o “nó” do arquivo XML representado pelo nó “CATALOG” (que contém todos os CDs e todos itens mais internos), uma variável complexa que abrange todos os objetos do XML
- Armazenar na variável “linha” o valor 2
- Utilizar de uma estrutura de repetição do tipo For Each, que vai varrer de CD em CD, que são os “nós” mais internos (ou filhos, child em inglês) do “CATALOG” (representado pela variável CDS), fazendo as ações:
- Armazenar na célula de linha dada pela variável “linha”, e coluna A (1) o valor dado pelo texto retirado pelo nó “TITLE” mais interno, do XML
- Armazenar na célula de linha dada pela variável “linha”, e coluna B (2) o valor dado pelo texto retirado pelo nó “ARTIST” mais interno, do XML
- Armazenar na célula de linha dada pela variável “linha”, e coluna C (3) o valor dado pelo texto retirado pelo nó “COUNTRY” mais interno, do XML
- Armazenar na célula de linha dada pela variável “linha”, e coluna D (4) o valor dado pelo texto retirado pelo nó “COMPANY” mais interno, do XML
- Armazenar na célula de linha dada pela variável “linha”, e coluna E (5) o valor dado pelo texto retirado pelo nó “PRICE” mais interno, do XML
- Armazenar na célula de linha dada pela variável “linha”, e coluna F (6) o valor dado pelo texto retirado pelo nó “YEAR” mais interno, do XML
- Adicionar 1 unidade na variável “linha”, para podermos ir para a próxima linha de registro de informações
- Esvaziar as variáveis “arqXML”, “CD” e “CDs” da memória do computador
- Se encerra o código
Após rodar o código, apertando no botão de “Importar XML”, teremos rapidamente a tabela preenchida que queríamos, inicialmente. Veja:

Conclusão - Como Importar XML para o Excel
Você aprendeu a importar XML para o Excel com VBA de forma simples, usando apenas um botão. Essa técnica é útil para automatizar tarefas repetitivas, economizar tempo e evitar erros de digitação.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Hashtag Treinamentos
Para acessar outras publicações de VBA, clique aqui!
Posts mais recentes de VBA
- Como usar o Selenium no VBA para Automatizar Buscas na WebComo usar o Selenium no VBA para automação web no Excel. Aprenda passo a passo a instalar, configurar e capturar dados online com Selenium VBA + ChromeDriver.
- Preencher um Documento em Word com VBA: Guia CompletoAprenda a preencher um documento em Word com VBA usando dados do Excel. Tutorial prático para automatizar documentos como contratos e procurações.
- Planilha para Controle de Ações e IR 2.0 – Download Grátis e Guia CompletoBaixe grátis a Planilha para Controle de Ações e IR. Organize seus investimentos, calcule Imposto de Renda e acompanhe tudo com gráficos no Excel.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.







