Conectar Banco de Dados no Excel VBA

MR
Marcos Rieper

Especialista em Excel

05 de dezembro de 2022 Atualizado 08 de julho de 2026 3 min de leitura
banco de dados no vba excel

Neste artigo aprenda como conectar banco de dados no VBA Excel consultar SQL no VBA.

No vídeo abaixo há o passo-a-passo e no artigo mais detalhes e dados da conexão e também o arquivo de download do exemplo.

Como Conectar Banco de Dados no VBA Excel

No exemplo que preparamos neste artigo você pode digitar a consulta SQL em uma célula e clicar em consultar.

Os dados são consultados e retornados automaticamente nas células logo abaixo.

Pode usar também scripts para inserir dados, alterar ou excluir dados, a forma de funcionamento é semelhante.

conectar banco de dados vba 1

Banco de Dados Access de Teste

O nosso banco de dados de teste é um arquivo Access.

Ele é um banco de dados simplificado com duas tabelas, Acompanhamentos e Clientes.

Tabela de acompanhamentos de propostas de clientes.

conectar banco de dados vba 2

Tabela com os dados cadastrais dos clientes.

conectar banco de dados vba 3

Elas são conectadas pelo campo de ID do cliente, sendo um relacionamento 1 para muitos.

conectar banco de dados vba 4

Como Conectar Banco de Dados no Excel VBA

No Excel acessamos o VBE, e clicamos em inserir, módulo.

A primeira questão é inserir a referência necessária.

No VBE clique em Ferramentas->Referências e marque a opção Microsoft ActiveX Data Objects 6.1 Library.

Esta biblioteca é necessárias para o banco de dados.

Nele colocamos o seguinte código fonte para conectar com o banco:

Dim gConexao As ADODB.Connection

Private Sub lsConectar()
    Dim strConexao As String
    Set gConexao = New ADODB.Connection
    
    strConexao = "Provider=Microsoft.ACE.OLEDB.12.0;Data " & _
    "Source=C:\BD\Base.accdb;Persist Security Info=False"
    
    gConexao.Open strConexao
End Sub

No script acima você coloca o seu caminho do arquivo e pode mudar também na string de conexão o banco que desejar.

No exemplo é um banco Access, mas pode usar qualquer outro banco de dados.

O código para desconectar do banco de dados no VBA é:

Private Sub lsDesconectar()
    If Not gConexao Is Nothing Then
        gConexao.Close
        Set gConexao = Nothing
    End If
End Sub

O código de desconexão é importante também para que o banco não fique "preso" à conexão.

E por fim temos a consulta realizada que cria a consulta e retorna não só os dados, como também os cabeçalhos dos campos no VBA Excel.

Public Sub lsConsultar()
    On Error GoTo sair
    
    Dim lrs As ADODB.Recordset
    Dim i   As Integer
    
    Set lrs = New ADODB.Recordset
    
    lsConectar
    lrs.Open Consultar.Range("lsql").Value, gConexao
    
    Consultar.Range("C10:Z1000").ClearContents
    
    'Cabeçalhos
    For i = 0 To lrs.Fields.Count - 1
        Consultar.Cells(10, i + 3).Value = lrs.Fields(i).Name
    Next i
    
    Consultar.Range("C11").CopyFromRecordset lrs
    
    Columns("C:Z").EntireColumn.AutoFit
    
sair:
    If Not lrs Is Nothing Then
        lrs.Close
        Set lrs = Nothing
    End If
    
    lsDesconectar
End Sub
conectar banco de dados vba 5

Como resultado temos então a consulta do banco de dados que criamos, podendo também realizar scripts para inserir, alterar ou excluir dados, além de consultas.

Download Planilha Exemplo Importar PDF no Excel com Power Query

Clique no botão abaixo para realizar o  download do arquivo de exemplo:

Download — baixe aqui: SQL no Excel - Consultar SQL no VBA Excel

Preencha seus dados para receber o link de download no seu e-mail.

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado