Aproveitando e adaptando a rotina do issamu, a instrução abaixo procura somente na Coluna 3 do Listview, lembrando que a contagem de colunas neste controle inicia-se em "0" zero, então o Num 2 em ListSubItems(2) representa a 3ª coluna.
Quanto a questão do Evento, eu sou da opinião de não utilizar o Change, até funciona, mas se for pesquisar pela palavra "Planilhando" a cada letra digitada acionará o evento, e com isto a rotina correrá 10 vezes.
Pesuisa somente na Coluna 3 do Listview.
Private Sub TextBox3_AfterUpdate()
Dim i As Double
Dim iCont As Integer
'Conta a Qde de Itens
For i = 1 To ListView1.ListItems.Count
With ListView1.ListItems
'As colunas começam em Zero e o Num 2 em ListSubItems(2) representa a 3ª Coluna
If UCase(ListView1.ListItems(i).ListSubItems(2).Text) Like "*" & UCase(TextBox3.Text) & "*" Then
iCont = iCont + 1
End If
End With
Next i
TextBox4.Value = iCont
End Sub
Uma outra opção, se quiser associar a um Botão, ou tambem poderá por no evento do Textbox, as instruções abaixo pesquisarão pelo termos digitado em todas as linhas e colunas do ListView :
Private Sub Button1_Click()
Dim i As Double, j As Double
Dim iCont As Integer
For i = 1 To ListView1.ListItems.Count
'Verifica primeira Coluna
With ListView1.ListItems '
If UCase(ListView1.ListItems(i).Text) Like "*" & UCase(TextBox3.Text) & "*" Then
iCont = iCont + 1
End If
'Verifica as demais colunas
For j = 1 To ListView1.ColumnHeaders.Count - 1 'Conta a qde de colunas
If UCase(ListView1.ListItems(i).ListSubItems(j).Text) Like "*" & UCase(TextBox3.Text) & "*" Then
iCont = iCont + 1
End If
Next j
End With
Next i
TextBox4.Value = iCont
End Sub
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 02/07/2015 1:00 pm