Abaixo segue um código que uso com frequencia, excel com sql.
Através dele é possível pegar uma sheet e passar todos os dados para Sql sem precisar usar um banco de dados.
E assim aproveitar do sql para usar filtros, consultas rápidas e etc.
Segue no link abaixo uma planilha que fiz como exemplo.
Caso queiram podem abaixar a planilha e usar para vocês, ou seja apagar os dados e colocar os seus.
——————————————————
Segue o código do excel com SQL:
Option Explicit Global Db2 As Database Global RSt As Recordset Global RSt2 As Recordset Global rstp As Recordset Global RstAux As Recordset Global UserName, SQL, SQL1 As String Public Sub Busca_eventos() 'VARIAVEIS 'variavel que grava o texto que será pesquisado Dim varText As String 'define a linha, que trará o resultado da pesquisa: Dim linha As Long 'LIMPA OS DADOS DA SHEET ATUAL Range("A6:H1000").Select Selection.ClearContents Cells(1, 1).Select 'PEGA PALAVRA QUE DEVER SER USADO NA PESQUISA DO SQL varText = Sheets("Formulário").Range("a1").Value varText = UCase(varText) 'CODIGO QUE PASSA TODOS OS DADOS DA SHEET PARA SQL Set Db2 = OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name, False, False, "Excel 8.0") '[registro$] é o nome da sheet que passará para sql 'CONTEUDO é o titulo da coluna Set RSt2 = Db2.OpenRecordset("SELECT * FROM [registro$] WHERE CONTEUDO like ('*" & varText & "*');") 'define em qual linha começar: 'CODIGO QUE PASSA OS DADOS DO SELECT PARA PLANILHA linha = 5 'enquanto nouver dados: While Not RSt2.EOF linha = linha + 1 Cells(linha, 1) = RSt2("armario") Cells(linha, 2) = RSt2("caixa") Cells(linha, 3) = RSt2("prateleira") Cells(linha, 4) = RSt2("conteudo") RSt2.MoveNext Wend 'fecha o banco RSt2.Close Db2.Close End Sub
——————————————————————————-
Observação:
Para funcionar é necessário ir em ferramentas > Referencias e marcar: Microsoft DAO 3.6
______________________________________________________
Segue demonstração abaixo:
*Dúvidas sobre o vídeo:
Pegue a planilha Excel com SQL (Sem banco de dados) gratuitamente!