SQL no Excel - Usar Excel como Banco de Dados
Neste artigo você aprenderá como consultar SQL no Excel e usar como banco de dados. Como usar o banco de dados como Excel e consultar SQL.
Especialista em Excel
SQL no Excel - Usar Excel como Banco de Dados
Baixe agora — o link vai direto para o seu e-mail.
- Download 100% gratuito
- Arquivo pronto para usar no Excel
- Enviamos o link no seu e-mail
Neste artigo você aprenderá como consultar SQL no Excel e usar como banco de dados.
Consultar Excel
No nosso exemplo temos uma tabela de compras aonde temos os campos:
- ID
- Fornecedor
- Data
- Valor

Assim podemos realizar a consulta dos dados via SQL dentro do Excel usando VBA.
Consulta SQL VBA
No nosso exemplo colocamos uma célula mesclada aonde colocaremos o código SQL para realizar a consulta de dados.

No botão executar criado à partir de uma imagem clique com botão direito em atribuir macro e marque a opção lsConsultaSQLExcel.

No código VBA nós temos um código que serve para consultar planilhas Excel usando SQL.
Para isso realizamos uma consulta usando um conector ADODB.Connection para conectar com o arquivo Excel e para retornar os dados usamos o Recordset.
Para realizar a conexão usamos este código de connectionstring:
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\caminho\para\arquivo.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES';"
Nele você muda o caminho do arquivo para o caminho completo do arquivo ou se preferir para consultar na própria pasta de trabalho use este outro código de conexão:
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & ";Extended Properties='Excel 12.0 Xml;HDR=YES';"
Na consulta usamos o código abaixo aonde são realizadas consultas na tabela definida.
strSQL = Replace(SQL.Range("tSql").Value, "TABELA", "[Compras$" & Replace(Compras.ListObjects("tCompras").Range.Address, "$", "") & "]") & ";"
Perceba que nela usamos o nome TABELA, e na sua consulta SQL você deve usar ela no lugar da tabela se que será consultada, pois ela será substituída pelo caminho completo do intervalo da tabela tCompras.
Então altere o código mudando o nome da planilha e também da tabela conforme a planilha aonde está a tabela e também mude o nome da tabela para consultar a informação.
Veja ume xemplo de código SQL: SELECT * FROM [Compras$B5:E3005] WHERE FORNECEDOR = 'ZALTEC';
Veja que temos o nome da planilha e também o intervalo sempre é necessário passar desta forma o caminho: [Compras$B5:E3005] .
O código VBA para realizar a consulta é o abaixo:
Sub lsConsultaSQLExcel()
On Error GoTo TratarErro
'Definir as variáveis
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strCon As String
Dim strSQL As String
Dim rng As Range
Dim i As Integer
'Limpar resultados
SQL.Range("b9:z1048576").ClearContents
'Consultar dados em outro arquivo
'strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\caminho\para\arquivo.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES';"
'Consultar dados no arquivo atual
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & ";Extended Properties='Excel 12.0 Xml;HDR=YES';"
'Definir a consulta SQL
strSQL = Replace(SQL.Range("tSql").Value, "TABELA", "[Compras$" & Replace(Compras.ListObjects("tCompras").Range.Address, "$", "") & "]") & ";"
'Definir o intervalo de células onde os resultados serão exibidos
Set rng = ThisWorkbook.Worksheets("SQL").Range("b10")
'Abrir a conexão com o arquivo Excel
Set conn = New ADODB.Connection
conn.Open strCon
'Executar a consulta SQL
Set rs = New ADODB.Recordset
rs.Open strSQL, conn
'Colar os dados da consulta
rng.CopyFromRecordset rs
'Consultar cabeçalhos
For i = 0 To rs.Fields.Count - 1
SQL.Cells(9, 2 + i).Value = rs.Fields(i).Name
Next i
Sair:
'Fechar a conexão e liberar os recursos
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
Exit Sub
TratarErro:
GoTo Sair
End Sub
Planilha de Controle Financeiro no Excel
Tenha um controle bonito e completo do seu financeiro.
- Categorias e subcategorias já configuradas
- Planilhas separadas por tabela (configuração, lançamentos, resumo)
- Personalize com suas próprias categorias e ícones
Download Consultar Excel com SQL Excel como Banco de Dados
Realize o download da planilha de cálculo de idade no Excel neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.
SQL no Excel - Usar Excel como Banco de Dados
Baixe agora — o link vai direto para o seu e-mail.
- Download 100% gratuito
- Arquivo pronto para usar no Excel
- Enviamos o link no seu e-mail
Este conteúdo foi útil?
Continue lendo

Funções de Banco de Dados no Excel
Funções de Banco de Dados no Excel. Essa planilha tem como objetivo Demonstrar a utilização das funções BDContar, BDSoma, BDMáx e BDMín.

Criar Conexão de Banco de Dados no Excel VBA
Neste artigo você verá como criar conexão de banco de dados no VBA do Excel. Conectar VBA com Access, SQL Server, Oracle, MySql e mais...

Cadastro em Excel com banco de dados Access - SQL
Neste artigo você verá como criar um cadastro com interface Excel e acesso ao banco de dados Access, o modelo permite inserir, alterar, editar e consultar.

