Lista suspensa com autocompletar: Aprenda a criar
A lista suspensa, também conhecida como lista de validação de dados ou menu drop down é um recurso muito utilizado no Excel para o preenchimento de formulários e que acaba facilitando muito a vida dos usuários.
No entanto, quando se tem uma lista muito grande, pode ser difícil encontrar a informação desejada. É o caso, por exemplo, de uma cadastro com centenas de nomes, onde o usuário tem a necessidade de usar cuidadosamente a barra de rolagem da lista para encontrar a informação desejada.
Neste caso, seria muito mais fácil se pudéssemos digitar a informação, utilizando o recurso de lista suspensa com autocompletar, o que por padrão não existe no Excel.
Mas pensando nisso, nos separamos um tutorial prático para que você possa implementar a função autocompletar em suas listas suspensas sem grandes dificuldades. Acompanhe os detalhes a seguir e veja como é fácil.
Saiba como criar uma Lista suspensa com Autocompletar no Excel
Já está interessado(a) no que vem por aí? Então compartilhe com sua rede de amigos para que mais pessoas possam aprender a criar uma lista suspensa com autocompletar no Excel:
Criando a lista suspensa
O primeiro passo para criar uma lista suspensa com autocompletar, é simplesmente criar a lista suspensa em si. Como este artigo tem o foco no recurso de autocompletar, deduzimos que você já saiba criá-la e desta forma, não iremos entrar em detalhes. No entanto, se você tiver dúvidas sobre como criar uma lista de validação de dados, basta assistir a vídeo-aula que temos neste link.
Abaixo temos um exemplo de uma lista suspensa criada com os meses do ano para melhor compreensão.
Recurso Autocompletar
Com a lista suspensa já criada, agora iremos criar o recurso de autocompletar. Para isto siga atentamente os seguintes passos:
Passo 1: Acesse a guia Desenvolvedor > Inserir > Caixa de Combinação
Observação: Caso o seu Excel não possua a guia Desenvolvedor habilitada, confira neste artigo o passo a passo de como habilitá-la.
Passo 2: Desenhe a Caixa de Combinação em qualquer local na sua planilha.
Passo 3: Clique com o botão direito sobre a Caixa de Combinação e escolha a opção Propriedades.
Passo 4: Será aberta uma nova janela. Neste caso, basta alterar o nome da Caixa de Combinação para “TempCombo” conforme mostrado abaixo. Se você quiser, poderá colocar outro nome, no entanto, deverá alterá-lo também no código que será passado a seguir.
Feche a janela de Propriedades.
Passo 5: Acesse a guia Desenvolver > Visual Basic (ou use o atalho ALT + F11)
Será aberta uma nova janela conforme mostra a imagem abaixo. Na árvore de itens do VBA selecione a planilha onde está a lista de validação de dados e dê um duplo clique, abrindo a área do código.
Passo 6: Copie o código mostrado abaixo e cole na área do código.
Option Explicit 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
Passo 7: Após colar o código, feche a janela e acesse a guia Desenvolvedor e desmarque a opção Modo Design. Apague a Caixa de Controle criada inicialmente.
Agora observe que sua lista suspensa possui o recurso de autocompletar no qual irá facilitar suas buscas quando houver listas com grande quantidade de itens.
Importante: Ao salvar a sua planilha, é fundamental que você salve com a opção “Pasta de Trabalho Habilitada para Macro do Excel“. Desta forma, você evita que os códigos sejam perdidos.
Créditos do código: Guia do Excel
Ficou com alguma dúvida para criar uma lista suspensa com Autocompletar? Deixe seu comentário abaixo: