Boa noite senhores!!! Vou reabrir o tópico eu acho, mas estou com um pequeno problema em meu filtro ListView.
Vou postar o código que estou usando e também a planilha.
O que acontece é que só consigo buscar por um critério, e já tentei de várias formas mas nada, já peguei alguns exemplos daqui e do fórum do Tomas e também nada,acho que chega um hora que o "Tico e o Teco" batem pino.
Bem chega de papo.
Private Sub cmdopcao_Change()
Me.txtbusca.SetFocus
End Sub
Private Sub UserForm_Initialize()
'Carrega o ListView com as colunas
With ListView1
.Gridlines = True
.View = lvwReport
.FullRowSelect = True
.ColumnHeaders.Add Text:="Número", Width:=40 'Número= Nome da 2ª coluna
.ColumnHeaders.Add Text:="PCP", Width:=60, Alignment:=fmTextAlignCenter 'PCP= Nome da 2ª coluna
.ColumnHeaders.Add Text:="Ação Imediata", Width:=90, Alignment:=fmTextAlignCenter
.ColumnHeaders.Add Text:="Necessita Análise?", Width:=90, Alignment:=fmTextAlignCenter 'Necessita Análise= Nome da 3ª coluna
End With
'ùltima linha
lastRow = Plan3.Cells(Rows.Count, "B").End(xlUp).Row
' Adiciona itens
For x = 2 To lastRow
Set li = ListView1.ListItems.Add(Text:=Plan3.Cells(x, "B").Value)
li.ListSubItems.Add Text:=Plan3.Cells(x, "AA").Value
li.ListSubItems.Add Text:=Plan3.Cells(x, "N").Value
li.ListSubItems.Add Text:=Plan3.Cells(x, "AF").Value
Next
End Sub
Private Sub txtbusca_Change()
'Códigos para execução da busca no TextBox
If Me.cmdopcao.ListIndex = -1 Then
MsgBox "Selecione um Campo.", 64, "Filtro R.C.Q V.1.0.1" '----->Mensagem exibida quando nenhum dado no combox estiver selecionado
Me.txtbusca = ""
Exit Sub
End If
Dim strObjetoBuscar As String
Dim lngResultado As Integer
Dim lngColumna As Long, lngFila As Long
Dim a As Integer
ListView1.ListItems.Clear
strObjetoBuscar = txtbusca.Value
If strObjetoBuscar = "" Then GoTo 99
strObjetoBuscar = LCase(strObjetoBuscar)
For a = 2 To 2010
lngResultado = InStr(1, Plan3.Cells(a, 2), strObjetoBuscar, vbTextCompare) ' Se eu selecionar mais de um item este não é chamado!!!!!
'lngResultado = InStr(1, Plan3.Cells(a, 27), strObjetoBuscar, vbTextCompare) ' Os números são das colunas onde estão os dados!!!
'lngResultado = InStr(1, Plan3.Cells(a, 14), strObjetoBuscar, vbTextCompare)
'lngResultado = InStr(1, Plan3.Cells(a, 32), strObjetoBuscar, vbTextCompare)
If lngResultado > 0 Then
Set li = ListView1.ListItems.Add(Text:=Format(Plan3.Range("B" & a).Value, "00"))
li.ListSubItems.Add Text:=Plan3.Range("AA" & a).Value
li.ListSubItems.Add Text:=Plan3.Range("N" & a).Value
li.ListSubItems.Add Text:=Plan3.Range("AF" & a).Value
End If
Next a
99:
End Sub
Senhores desde já agradeço a quem puder me ajudar, imagino que seja algo bem simples que estou fazendo errado.
Obrigado.
Postado : 23/01/2013 7:10 pm