Lista de validação de dados Excel com autocompletar VBA

MR
Marcos Rieper

Especialista em Excel

02 de maio de 2015 Atualizado 08 de julho de 2026 4 min de leitura
Lista de validação de dados Excel com autocompletar VBA
Lista autocompletar Excel

Objetivo: Demonstrar como criar uma lista de validação de dados no Excel com o recurso de autocompletar, ou seja, ao serem digitadas as letras a lista seleciona os nomes que iniciam com aquelas letras na lista utilizando VBA.

Neste artigo você verá passo-a-passo como criar uma lista com validação de dados com o recurso autocompletar.

Caso não esteja familiarizado com o recurso de validação de dados veja este artigo: http://guiadoexcel.com.br/validacao-de-dados-excel.


Criando a lista

1. Crie uma lista de dados que serão selecionados. No nosso caso é uma lista de produtos.

Lista autocompletar Excel 2

2. Clique no local aonde serão inseridas as validações de dados com listas;

3. Clique na guia Dados->Validação de Dados;

4. Selecione a opção Permitir: Listas e em Fonte defina aonde está a sua lista de dados. A lista pode ser selecionada ou digitado o nome do intervalo, no nosso caso temos um intervalo nomeado Lista.

Lista autocompletar Excel 3

5. A nossa validação de dados já está pronta, você já consegue selecionar os itens na lista a partir da sua lista de validação, porém, ainda não temos o recurso autocompletar, que iremos inserir agora.


Recurso autocompletar

1. Clique na guia Desenvolvedor, para habilitá-la siga as instruções: http://guiadoexcel.com.br/habilitando-a-guia-desenvolvedor-e-copiando-procedimentos-vba-sub-da-internet;

2. Clique no botão Modo de Design e no botão Inserir selecione a opção Caixa de Combinação (Controle ActiveX).

Lista autocompletar Excel 4

3. Desenhe uma caixa de combinação no Excel em qualquer lugar da planilha;

Lista autocompletar Excel 5

4. Clique no comboBox criada e na guia Desenvolvedor clique em Propriedades;

5. Na janela que segue altere a propriedade (Name) para TempCombo, conforme a imagem;

Lista autocompletar Excel 6

6. Clique nesta lista em Font e altere as suas propriedades de fonte e tamanho;

Lista autocompletar Excel 7

7. Altere a propriedade ListRows conforme a quantidade de itens a serem listados de uma vez, sem rolar a barra, por exemplo 8;

8. Feche a janela Propriedades e clique no botão Modo de Design na guia Desenvolvedor, desmarcando-o.


Inserindo o código VBA

1. Clique na guia Desenvolvedor e no botão Visual Basic;

2. Na árvore de itens do VBA selecione a planilha aonde está a lista de validação de dados e dê um duplo clique, abrindo a área do código;

Lista autocompletar Excel 8

3. Cole o seguinte código VBA na parte de código fonte da planilha:

Option Explicit

'Baseado em código da www.contextures.com
Private Sub TempCombo_KeyDown(ByVal _
        KeyCode As MSForms.ReturnInteger, _
        ByVal Shift As Integer)
        
    'Ocultar caixa de combinação e mover a próxima célula com Enter e Tab
    Select Case KeyCode
        Case 9
            ActiveCell.Offset(0, 1).Activate
        Case 13
            ActiveCell.Offset(1, 0).Activate
        Case Else
            'Nada
    End Select

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim str As String
    Dim cboTemp As OLEObject
    Dim ws As Worksheet
    Dim wsList As Worksheet

    Set ws = ActiveSheet
    Set wsList = Sheets(Me.Name)
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    
    If Application.CutCopyMode Then
      'Permite copiar e colar na planilha
      GoTo errHandler
    End If
    
    Set cboTemp = ws.OLEObjects("TempCombo")
      On Error Resume Next
      With cboTemp
        .Top = 10
        .Left = 10
        .Width = 0
        .ListFillRange = ""
        .LinkedCell = ""
        .Visible = False
        .Value = ""
      End With
    
    On Error GoTo errHandler
      If Target.Validation.Type = 3 Then
        Application.EnableEvents = False
        str = Target.Validation.Formula1
        str = Right(str, Len(str) - 1)
        With cboTemp
            .Visible = True
            .Left = Target.Left
            .Top = Target.Top
            .Width = Target.Width + 15
            .Height = Target.Height + 5
            .ListFillRange = str
            .LinkedCell = Target.Address
        End With
        cboTemp.Activate
        
        'Abrir a lista suspensa automaticamente
        Me.TempCombo.DropDown
        End If

errHandler:
  Application.ScreenUpdating = True
  Application.EnableEvents = True
  Exit Sub

End Sub

3. Clique no botão Fechar do VBA, no canto superior direito, e retorne á pasta de trabalho do Excel.


Conclusão e testes

1. Clique sobre o local aonde há a validação de dados e verifique se a lista é apresentada ao clicar, em seguida digite algumas letras para verificar se a lista é filtrada automaticamente;

Lista autocompletar Excel 9

2. Se a lista estiver abrindo e filtrando automaticamente conforme é digitado você fez tudo certo e está funcionando corretamente;

Cursos do Guia do Excel - Destaque-se no mercado de trabalho

3. Baixe o nosso exemplo clicando no botão Download ao final do artigo para verificar como funciona.

Download — baixe aqui: Lista de dados com autocompletar

Preencha seus dados para receber o link de download no seu e-mail.

Abraço

Marcos Rieper

Curso Excel Completo – Do Básico ao VBA

Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado