Ir para conteúdo
Fórum Script Brasil
  • 0

combobox com pesquisa lista suspensa ao digitar


samara.vba

Pergunta

boa noite a todos

estou com um problema.

tenho um fomrulário de pesquisa baseada em um combobox.

gostaria que ele agisse da seguinte forma. ao digitar algo, uma lista suspensa aparecesse e fosse filtrando de acordo com os dados, conforme acontece com 

o site de pesquisa google.

exemplo:

banco de dados >>>>>>>>>>>>>>>> combobox_  mari >>>>>>>>>>>>>>maria vi >>>>>>>>>>>>maria vieira s

nomes                                                                             maria                                 maria vieria                       maria vieira sousa

maria                                                                               maria vieira                       maria vieira sousa

maria vieira                                                                     maria vieria sousa

maria vieira sousa

que fosse filtrando a medida que for digitando.

desde já agradeço.

@Basolepoderia em ajudar?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

@samara.vbasegue abaixo exemplo

Considerando que os dados estejam na [ coluna A ] da aba 1

Altere os nomes dos componentes se necessario:

 

Private IsArrow As Boolean

Private Sub ComboBox1_Change()

    Dim i As Long
    
    If Not IsArrow Then
        With Me.ComboBox1
            .List = Worksheets(1).Range("A2", Worksheets(1).Cells(Rows.Count, "A").End(xlUp)).Value
            .ListRows = Application.WorksheetFunction.Min(6, .ListCount)
            .DropDown
            If Len(.Text) Then
                For i = .ListCount - 1 To 0 Step -1
                    If InStr(1, .List(i), .Text, vbTextCompare) = 0 Then .RemoveItem i
                Next
                .DropDown
            End If
        End With
    End If
    
End Sub


Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    IsArrow = (KeyCode = vbKeyUp) Or (KeyCode = vbKeyDown)
    If KeyCode = vbKeyReturn Then Me.ComboBox1.List = Worksheets(1).Range("A2", Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp)).Value
End Sub

Private Sub UserForm_Activate()
ComboBox1_Change
End Sub

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 27/04/2022 em 18:01, samara.vba disse:

boa noite a todos

estou com um problema.

tenho um fomrulário de pesquisa baseada em um combobox.

gostaria que ele agisse da seguinte forma. ao digitar algo, uma lista suspensa aparecesse e fosse filtrando de acordo com os dados, conforme acontece com 

o site de pesquisa google.

exemplo:

banco de dados >>>>>>>>>>>>>>>> combobox_  mari >>>>>>>>>>>>>>maria vi >>>>>>>>>>>>maria vieira s

nomes                                                                             maria                                 maria vieria                       maria vieira sousa

maria                                                                               maria vieira                       maria vieira sousa

maria vieira                                                                     maria vieria sousa

maria vieira sousa

que fosse filtrando a medida que for digitando.

desde já agradeço.

@Basolepoderia em ajudar?

@Basole e para eu fazer a mesma coisa, mas utilizando uma textbox ao invés de uma combobox. como ficaria?

Link para o comentário
Compartilhar em outros sites

  • 0

@Basole perfeito amigo, se não for incomodar muito, daria para abrir uma lista suspensa? como um combobox? e ir aparecendo as opções à medida que fosse digitando?

exemplo:

textbox1>>>>>>>> mari  >>>>>>>>>>>>>>>>maria a>>>>>>>>maria al>>>>>>>>>>maria alm

lista suspensa>>>>maria almeida>>>>>>>>>>maria almeida>>>>maria almeida>>>>>maria almeida

                                 maria gonçalves>>>>>>>>maria alencar>>>>>maria alencar

                                 maria feitosa>>>>>>>>>>maria afonso

                                maria alencar

                                maria afonso

podendo ter a opção de apagar e selecionar abaixo.

e obrigada pela ajuda @Basole

Link para o comentário
Compartilhar em outros sites

  • 0

@samara.vbatem essa este exemplo de TextBox com a lista na ListBox (oculta), só aparece, quando digita algo.

E ao encontrar o termo na lista, só dar o ENTER para auto completar o texto encontrado

Veja se atende:

                       AutoCompletar_TextBox-ListBox.xlsm 

EDIT:

@samara.vba eu atualizei o arquivo e acrescentei no Listbox, um recurso que, ao selecionar algum item com as setas (sobe e desce), agora é só dar o ENTER para o item já ir para a textbox. 

segue o novo link: 

AutoCompletar_TextBox-ListBox.xlsm 

Editado por Basole
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...