Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

FILTRO NO ListView

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Zeca1456
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Seg Jul 30, 2018 4:18 pm

FILTRO NO ListView

Mensagem por Zeca1456 » Ter Abr 30, 2019 1:07 pm

Ao iniciar a UserForm, o ListView é carregado automaticamente.
Tenho uma caixa de texto (txtPesquisa) ao digitar uma letra o sistema faz um filtro no ListView mostrando apenas os clientes cujo o nome se inicia com a letra que foi digitada.
Quero criar um código para que o sistema mostre uma mensagem quando não encontrar nenhum cliente cuja a letra foi digitada na caixa de texto. Será que você poderia por favor me ajudar? Muito obrigado.
Início da minha sub:
Public Sub Pesquisa() 'Procedimento para o Search
Dim C As Range
Dim li As listItem
Dim sSearch As String
ListView1.ListItems.Clear
For Each C In Range("NomeDefinidoCliente")
If C.Text Like txtPesquisa & "*" Then
Set li = ListView1.ListItems.Add(Text:=C.Offset(, -2).Value) ' ID-
li.ListSubItems.Add Text:=C.Offset(, -1).Value ' Account
li.ListSubItems.Add Text:=C.Offset(, 0).Value ' Name
li.ListSubItems.Add Text:=C.Offset(, 1).Value ' Address
li.ListSubItems.Add Text:=C.Offset(, 2).Value ' Cidade
li.ListSubItems.Add Text:=C.Offset(, 3).Value ' Contato
li.ListSubItems.Add Text:=C.Offset(, 4).Value ' Telefone
li.ListSubItems.Add Text:=C.Offset(, 5).Value ' Email
End If
Next C
End Sub



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 759
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: FILTRO NO ListView

Mensagem por srobles » Ter Abr 30, 2019 3:17 pm

Zeca1456,

Substitua o código que enviou pelo que segue abaixo :

Código: Selecionar todos

Public Sub Pesquisa() 'Procedimento para o Search
    Dim C As Range
    Dim li As listItem
    Dim sSearch As String
    
    ListView1.ListItems.Clear
        For Each C In Range("NomeDefinidoCliente")
            If C.Text Like txtPesquisa & "*" Then
                Set li = ListView1.ListItems.Add(Text:=C.Offset(, -2).Value) ' ID-
                li.ListSubItems.Add Text:=C.Offset(, -1).Value ' Account
                li.ListSubItems.Add Text:=C.Offset(, 0).Value ' Name
                li.ListSubItems.Add Text:=C.Offset(, 1).Value ' Address
                li.ListSubItems.Add Text:=C.Offset(, 2).Value ' Cidade
                li.ListSubItems.Add Text:=C.Offset(, 3).Value ' Contato
                li.ListSubItems.Add Text:=C.Offset(, 4).Value ' Telefone
                li.ListSubItems.Add Text:=C.Offset(, 5).Value ' Email
            Else
                MsgBox "Cliente não encontrado / cadastrado!", vbExclamation, "Erro"
                Exit Sub
            End If
        Next C
End Sub
Como não forneceu maiores detalhes da sua necessidade, espero que esta pequena mudança atenda sua demanda.

Abs


Espero ter ajudado.

Abs.

Saulo Robles


Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond


Se suas dúvidas foram esclarecidas, acrescente ao lado do título o texto [RESOLVIDO].

Responder