Neste artigo você irá aprender como pesquisar em lista de validação no Excel com auto completar.
No artigo você aprenderá passo-a-passo e terá os códigos de como desenvolver esta solução e veja no vídeo acima como fazer validação de dados com autocompletar ao digitar.
Lista de Validação de Dados no Excel
A lista de validação cria uma lista suspensa aonde você conseguirá selecionar itens à partir de uma tabela ou lista de dados.
Veja abaixo uma tabela aonde temos os dados da tabela.
A primeira tarefa que temos então é criar intervalos nomeados que serão usados na validação de dados de modo que ao aumentar ou reduzir as tabelas as listas são redimensionadas.
Clique em Fórmulas->Definir nome e selecione a coluna com a tabela =Tabela2[Vendedor].
Após isso clique em Arquivo->Opções->Personalizar Faixa de Opções e marque a opção Desenvolvedor.
Clique na guia Desenvolvedor e em Visual Basic.
No VBE clique em Inserir->Form e desenhe conforme abaixo.
Clique em Ferramentas e desenhe um Rótulo e digite o texto conforme abaixo.
Clique em Ferramentas acima e desenhe também a Caixa de Listagem.
Após isso também desenhe um botão e terá então o formulário conforme a próxima imagem.
Clique então em Caixa de Listagem e na configuração RowSource e digite =lClientes, ou o intervalo que criou anteriormente em intervalos nomeados.
Veja então que os dados são retornados conforme pode enxergar no formulário.
Altere também MatrchEntry para a opção 1.
Pressione F5, veja que temos já um formulário com os dados retornando.
Código para Programar Autocompletar Lista de Validação no Excel
Após isso pressione ALT+F11 e clique em Inserir->Módulo.
Insira o código abaixo no módulo.
Nele temos então a chamada do formulário e a mudança de validação de dados automaticamente ao chamar.
Public Sub lsForm()
frmPesquisa.Show vbModal
End Sub
Public Sub lsCarregarLista()
If IsDataValidation(ActiveCell) Then
frmPesquisa.listaPesquisa.RowSource = ActiveCell.Validation.Formula1
End If
End Sub
Function IsDataValidation(rng As Range) As Boolean
On Error Resume Next
DVType = rng.Validation.Type
On Error GoTo 0
If DVType = 3 Then
IsDataValidation = True
Else
IsDataValidation = False
End If
End Function
Public Sub lsInserir()
ActiveCell.Value = frmPesquisa.listaPesquisa.List(frmPesquisa.listaPesquisa.ListIndex)
Unload frmPesquisa
End Sub
Private Sub CommandButton1_Click()
lsInserir
End Sub
Private Sub listaPesquisa_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
lsInserir
End Sub
Private Sub listaPesquisa_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 27 Then
Unload Me
Else
If KeyAscii = 13 Then
lsInserir
End If
End If
End Sub
Private Sub UserForm_Activate()
lsCarregarLista
End Sub
Clique agora na árvore de objetos na planilha aonde irá colocar a validação de dados.
Coloque este código
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
lsForm
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lsCarregarLista
End Sub
Por fim nós temos o autocompletar conforme a validação de dados selecionada em uma determinada coluna.
Download Planilha Auto completar em Lista de Validação Excel
Clique no botão abaixo para realizar o download do arquivo de exemplo: