Mauro,
Utilizando o código abaixo, eu pesquiso na listview.
Private Sub socontarazao()
Dim Tmp As Long
Dim i As Long
Dim scontarazao
Tmp = UserForm9.lslista.ListItems.Count
scontarazao = ComboBoxProdutos.Text
Tmp = UserForm9.lslista.ListItems.Count
For i = 1 To Tmp
With lslista
If .ListItems(i).SubItems(3) = scontarazao Then
Tmp = Tmp '- 1
If i = Tmp Then Exit For
Tmp = UserForm9.lslista.ListItems.Count
Else
UserForm9.lslista.ListItems.Remove i
i = i - 1
Tmp = Tmp - 1
If i = Tmp Then Exit For
Tmp = UserForm9.lslista.ListItems.Count
End If
End With
Next
Me.Label10.Caption = "Total de Programações: " & Format(UserForm9.lslista.ListItems.Count)
End Sub
Nesta mesma listview, eu utilizo uma pesquisa entre datas, vide o código abaixo.
Porém, se eu realizar esta pesquisa, a pesquisa anterior é desconsiderada. Como posso fazer para considerar as duas pesquisas, tanto para conta razão, quanto para as datas?
Sub RelatórioForm()
Application.EnableEvents = False
Dim lastRow As Long
Dim lastResultRow As Long
Dim X As Long
' Verifica qual a ultima célula preenchida
lastRow = Plan41.Cells(Rows.Count, 1).End(xlUp).Row
lastResultRow = 2 'linha resultado
Me.lslista.ListItems.Clear
' Ciclo em todas as linhas
For X = 2 To lastRow '1 Linha dados pequisa
' verifica se o valor é igual ao da pesquisa
If CDate(Plan41.Cells(X, 8).Value) >= CDate(txtDataInicial.Value) And CDate(Plan41.Cells(X, 8)) <= CDate(txtDataFinal) Then
' Copia os valores
lslista.ListItems.Add 1, , Plan41.Cells(X, 1).Value
lslista.ListItems(1).ListSubItems.Add 1, , Plan41.Cells(X, 2).Value
lslista.ListItems(1).ListSubItems.Add 2, , Plan41.Cells(X, 3).Value
lslista.ListItems(1).ListSubItems.Add 3, , Format(Plan41.Cells(X, 4).Value, "#,##0.00")
lslista.ListItems(1).ListSubItems.Add 4, , Plan41.Cells(X, 5).Value
'Lslista.ListItems(1).ListSubItems.Add 5, , Plan41.Cells(x, 6).Value
lslista.ListItems(1).ListSubItems.Add 5, , Plan41.Cells(X, 6).Value
lslista.ListItems(1).ListSubItems.Add 6, , Plan41.Cells(X, 7).Value
lslista.ListItems(1).ListSubItems.Add 7, , Plan41.Cells(X, 8).Value
lslista.ListItems(1).ListSubItems.Add 8, , Plan41.Cells(X, 9).Value
lslista.ListItems(1).ListSubItems.Add 9, , Plan41.Cells(X, 10).Value
lslista.ListItems(1).ListSubItems.Add 10, , Plan41.Cells(X, 11).Value
lastResultRow = lastResultRow + 1
End If
Next
Application.EnableEvents = True
End Sub
Postado : 24/04/2014 8:20 am