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
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
FILTRO NO ListView
Re: FILTRO NO ListView
Zeca1456,
Substitua o código que enviou pelo que segue abaixo :
Como não forneceu maiores detalhes da sua necessidade, espero que esta pequena mudança atenda sua demanda.
Abs
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
Abs