Auto completar em Excel VBA
Como realizar a complementação de dados em Excel, fazendo com que os dados que vão sendo digitados sejam pesquisados em uma lista determinada.
Especialista em Excel
AutocompletarExcel
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
Auto completar em Excel VBA
Objetivo: Disponibilizar um exemplo de como podemos fazer um auto completar para listas em Excel.
O recurso de auto completar no Excel é limitado ao preenchimento automático apenas quando a lista de palavras está acima da palavra que está sendo digitada atualmente.
Neste artigo é disponibilizado um exemplo de como utilizar o código VBA e o Excel para que possamos auto completar dados com o uso de um formulário e depois jogar este resultado diretamente na célula ativa do Excel.
Para tanto você pode pressionar o botão que coloquei no formulário, ou ainda melhor, utilizar o atalho CTRL+SHIFT+a que coloquei atribuído ao método que chama o formulário.
O código completo pode ser visto clicando na guia Desenvolvedor e clicando sobre o objeto do formulário.
'Digite aqui o intervalo a ser autocompletado
Private Const r As String = "A1:A100"
Private sInput As String
'Faz parar a pesquisa dos dados digitados
Dim flParar As Boolean
'Ao digitar deletar ou backspace o sistema limpa a variável de controle para pesquisar novamente
Private Sub txtInput_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Limpa a variável de controle
If (KeyCode = vbKeyBack) Or (KeyCode = vbKeyDelete) Then
flParar = True
Else
flParar = False
End If
If (KeyCode = 13) Then
ActiveCell.Value = UserForm1.txtInput.Text
UserForm1.txtInput.Value = vbNullString
UserForm1.Hide
End If
End Sub
'Faz a busca das palavras
Private Sub txtInput_Change()
Dim lPalavra As String
If flParar Then
flParar = False
Else
sInput = Left(Me.txtInput, Me.txtInput.SelStart)
lPalavra = GetFirstCloserWord(sInput)
If lPalavra & "" "" Then
flParar = True
Me.txtInput.Text = lPalavra
Me.txtInput.SelStart = Len(sInput)
Me.txtInput.SelLength = 999999
End If
End If
End Sub
'Seleciona a primeira letra
Private Function GetFirstCloserWord(ByVal Word As String) As String
Dim c As Range
For Each c In ActiveSheet.Range(r).Cells
If LCase(c.Value) Like LCase(Word & "*") Then
GetFirstCloserWord = c.Value
Exit Function
End If
Next c
Set c = Nothing
End Function
Veja como ficou o formulário:
Para utilizar este formulário você deve clicar com o botão direito sobre o formulário UserForm1 e em Exportar arquivo..., clique depois em Módulo1 e Exportar arquivo...
Feitas estas exportações você deve ir na guia Desenvolvedor com a sua planilha nova aberta e depois clique em qualquer objeto na guia Desenvolvedor e em importar conforme a imagem.
Agora altere o local aonde a lista dos dados estará ativa, o intervalo "A1:A100".
'Digite aqui o intervalo a ser autocompletado
Private Const r As String = "A1:A100"
Na planilha você pode atribuir o procedimento Botão1_Clique ao atalho que preferir no teclado clicando na Guia Desenvolvedor->Macros e selecionando o procedimento Botão1_Clique.
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
AutocompletarExcel
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
Abraço
Marcos Rieper
Este conteúdo foi útil?
Continue lendo

Lista de validação de dados Excel com autocompletar VBA
Demonstrar como criar uma lista de validação de dados no Excel com o recurso de autocompletar Excel utilizando VBA.

Texto em colunas no Excel com VBA
Objetivo: Este artigo apresenta a criação de uma macro para separar arquivos texto no Excel em colunas automaticamente. É extremamente útil para quem tem que abrir relatórios em TX

Copiar arquivos com Excel VBA
Como copiar arquivos com Excel e VBA passo-a-passo. No artigo você tem um exemplo prático de como copiar arquivos facilmente com Excel e VBA com exemplo.




