Consulta a Dados Externos Excel com Parâmetros
Consulta a Dados Externos Excel com Parâmetros
Especialista em Excel
Objetivo: Consultar dados externos com parâmetros no Excel.
Hoje eu li na comunidade Office Excel 2007 um tópico sobre o union de tabelas, realmente interessante que trabalhava com importação de dados externos.
Isso me fez lembrar de um problema apresentado pelo meu amigo Ivan, então este artigo é dedicado a ele.
Com base nisso, resolvi criar uma consulta a dados externos utilizando parâmetros dentro da planilha, e que ficou com um resultado legal.
Criando a Importação de dados:
- Baixe o arquivo Dados.xlsx antes de iniciar o trabalho, os dados deste arquivo serão importados.
- Clique na aba Dados, botão De Outras Fontes -> Do Microsoft Query.
- Na tela selecione Excel Files*.
- Clique em OK, e selecione o arquivo que foi baixado no seu computador.
- Selecione Dados na próxima tela e clique na seta para a direita.
- Clique em Avançar até que apareça o botão Concluir, determine o local como a célula A1 e clique em OK.
Criando o código fonte:
- Clique na guia Desenvolvedor e no botão Gravar Macro, iremos criar uma macro com o código pronto de uma alteração e atualização da importação, neste passo você pode ter mais informações sobre gravação de macros no artigo Como Gravar Macro no Excel.
- Clique na guia Dados e em seguida em Conexões, selecione a consulta criada e clique no botão Propriedades.
- Clique na guia Definição apague seu conteúdo e digite no campo Texto de Comando: SELECT * FROM DADOS.
- Clique em Ok para fechar a janela.
- Na janela que continuou aberta clique no botão Atualizar->Atualizar Tudo.
- Clique em Fechar.
- Vá para a aba Desenvolvedor e clique em Parar Gravação, você terá criado o código fonte base para a passagem dos parâmetros.
Criando os parâmetros:
- Prepare os campos conforme abaixo, estes servirão para a passagem dos parâmetros:
- Na guia Desenvolvedor clique no botão Visual Basic e no módulo da planilha localize o código gerado pela gravação.
- Neste código digite no topo:
Este código fonte acima em SQL está selecionando os dados quando for um determinado vendedor e quando a data estiver entre a data inicial e a final, inclusive. Depois você deve passar a variável lSql para o lugar .CommandText = Array(.... que você encontrará no código fonte abaixo. O código ficará conforme abaixo:
Sub Atualiza()
Dim lSql As String
If Range("J1").Value = "" Then
lSql = "SELECT * FROM DADOS WHERE " & _
"Data BETWEEN #" & Range("J2").Value & "# AND #" & Range("J3").Value & "#"
Else
lSql = "SELECT * FROM DADOS WHERE Vendedor = " & "'" & Range("J1").Value & _
"' And Data BETWEEN #" & Range("J2").Value & "# AND #" & Range("J3").Value & "#"
End If
With ActiveWorkbook.Connections("Consulta de Excel Files").ODBCConnection
.BackgroundQuery = True
.CommandText = Array(lSql)
.CommandType = xlCmdSql
.Connection = Array(Array( _
"ODBC;DSN=Excel Files;DBQ=C:\Excel\Blog Rieper Excel\Importação de Dados com Parâmetros\Dados.xlsx;DefaultDir=C:\Excel\Blog Rieper Ex" _
), Array( _
"cel\Importação de Dados com Parâmetros;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;" _
))
.RefreshOnFileOpen = False
.SavePassword = False
.SourceConnectionFile = ""
.SourceDataFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections("Consulta de Excel Files")
.Name = "Consulta de Excel Files"
.Description = ""
End With
ActiveWorkbook.Connections("Consulta de Excel Files").Refresh
ActiveWorkbook.RefreshAll
End Sub
Finalizando:
- Salve o código alterado e retorne para a planilha.
- Crie uma forma ao lado dos parâmetros como o nome de Aplicar.
- Clique com o botão direito sobre a forma criada e na opção Atribuir Macro.
- Selecione a macro criada e clique em OK.
Pronto!, agora você deve digitar o nome do vendedor na célula I1, e o período inicial e final que devem ser retornados na importação de dados, e você terá estas informações filtradas pelos parâmetros.
Então é isso, muito obrigado pela leitura, mandem sugestões, dicas e dúvidas para o blog, ficarei feliz em ajudar.
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
Abraço
Marcos Rieper
Este conteúdo foi útil?
Continue lendo

Como Evitar Reservas Duplicadas de Equipamentos na Sua Locadora
Descubra como evitar reservas duplicadas de equipamentos na sua locadora, reduzir erros operacionais e aumentar a satisfação dos clientes.

Como um Sistema Online Pode Transformar a Gestão de Locação de Equipamentos
Descubra como um sistema online de locação de equipamentos pode automatizar processos, reduzir erros, aumentar a produtividade.

Como Aumentar a Rentabilidade de uma Locadora de Equipamentos
Descubra estratégias práticas para aumentar a rentabilidade da sua locadora de equipamentos, reduzir custos operacionais e aumentar lucros.







