Lista Suspensa com Autocompletar: Aprenda a criar
Quer aprender a criar uma lista suspensa com autocompletar? Então você está no lugar certo!
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 lista de 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 conferir o artigo: Lista Suspensa no Excel: 4 maneiras de criá-las facilmente.
Abaixo temos um exemplo de uma lista suspensa criada com os meses do ano para melhor compreensão.
Criando 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 (Controle ActiveX)
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 conforme o exemplo abaixo:
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: Desative o Modo de design clicando em Desenvolvedor > Modo de design.
Passo 6: 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.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim xCombox As OLEObject Dim xStr As String Dim xWs As Worksheet Dim xArr Set xWs = Application.ActiveSheet On Error Resume Next If Target.Validation.Type = 3 Then Target.Validation.InCellDropdown = False Cancel = True xStr = Target.Validation.Formula1 xStr = Right(xStr, Len(xStr) - 1) If xStr = "" Then Exit Sub Set xCombox = xWs.OLEObjects("TempCombo") With xCombox .ListFillRange = "" .LinkedCell = "" .Visible = False End With With xCombox .Visible = True .Left = Target.Left .Top = Target.Top .Width = Target.Width + 5 .Height = Target.Height + 5 .ListFillRange = xStr If .ListFillRange = "" Then xArr = Split(xStr, ",") Me.TempCombo.List = xArr End If .LinkedCell = Target.Address End With xCombox.Activate Me.TempCombo.DropDown End If End Sub Private Sub TempCombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Select Case KeyCode Case 9 Application.ActiveCell.Offset(0, 1).Activate Case 13 Application.ActiveCell.Offset(1, 0).Activate End Select End Sub
Passo 7: Após colar o código, feche a janela do VBA e apague a Caixa de Combinação criada inicialmente.
Agora observe que sua lista suspensa passará a ter o recurso de autocompletar no qual irá facilitar suas buscas quando houver listas com grande quantidade de itens.
Dica 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: extendoffice.com
Confira também as seguintes dicas de Excel:
- MsgBox no Excel: Como criar?
- 5 Macros no Excel Que Você Deve Aprender
- Conheça os principais comandos de VBA no Excel
Ficou com alguma dúvida para criar uma lista suspensa com Autocompletar? Deixe seu comentário abaixo:
simplesmente perfeita a explicação ! muito obrigada !
Simplesmente perfeito!
Maravilhoso, funcionou perfeitamente! Muito obrigada!!
Olá Ariana, que bom que o artigo lhe ajudou!!
Continue acompanhando mais dicas e novidades em nosso site 🙂
Simplesmente PERFEITO! Tutorial step by step que atende desde o mais leigo até o esquecido. Parabéns!
Obrigado pelo feedback Dan!
Continue acompanhando e participando.
Abraço,
Equipe Excel Easy
Não consegui. Estou tentando realizar o procedimento com 180 itens na lista suspensa. Quando você escreveu: “Apague a Caixa de Controle criada inicialmente.” A que caixa você está se referindo? Você poderia me disponibilizar essa planilha de exemplo? Obrigado. [email protected]
Olá Rodolfo!
Você deve apagar a caixa de controle criada no passo 2.
Incluímos um gif animado nessa etapa para melhor compreensão.
Qualquer dúvida, estamos à disposição.
Pessoal, espetáculo, já uso há uns 6 meses, mas agora deixou de funcionar … vocês têm ideia de porque ?
Erro ” ‘Abrir a lista suspensa automaticamente
Me.TempCombo.DropDown ” diz que não encontra dados, o que será ??
Obrigado a todos
Olá João! Agradecemos o seu feeedback.
Referente ao erro apresentado, pode ser por diversos fatores. Mudar o nome da planilha é um deles. Sugiro que você refaça o processo para ter novamente o recurso de autocompletar na sua lista suspensa. Ah, e não se esqueça de salvar a sua planilha com a extensão xlsm.
Qualquer dúvida, estamos à disposição.
Ótimo. Parabéns!
Top!
Muito obrigado, eu estava procurando justamente por isso!
Que bom saber que o Excel Easy tem lhe ajudado Henrique. Continue nos acompanhando, pois estamos sempre com novidades!
Olá a todos.
Parabéns muito legal esse post.
Gostaria de saber se é possível fazer esse processo num loop até encontrar a palavra “Fim” na lista?
Ou seja, quando a célula for para linha de baixo abrir nova Caixa de Combinação (dropdaw). e só parar o processo quando escolher a palavra “fim” (que deverá estar na lista).
Olá Paulo, obrigado! Continue nos acompanhando, pois estamos sempre com novidades!