Página 1 de 1

Filtro em Listbox com Vários Critérios.

Enviado: 19 Ago 2022 às 18:47
por vilc
Boa noite a todos, estou com uma listbox carregando os dados normalmente, precisava fazer um filtro onde
na TxtEquipamento eu digitasse o equipamento procurado e na ComoboSecretaria eu escolhesse a Secretaria,
de acordo com esse dois critérios ele me mostrasse o resultado:

Coluna B = Equipamento, Coluna G= Secretaria

segue o código que estou usando. Desde já agradeço.


Private Sub TxtConsultaEquipamento_Change()



LblObs.Caption = ""


TextoDigitado = TxtConsultaEquipamento
Range("A2").Select

Dim ws As Worksheet
Dim linha As Integer
Dim LinhaListbox As Integer
Dim TextoCelula As String


Set ws = ThisWorkbook.Worksheets("dados")
linha = 2
LinhaListbox = 0
formCad.ListBoxEquipamentos.Clear

With ws

While .Cells(linha, 1).Value <> Empty
TextoCelula = .Cells(linha, 2).Value
If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then
With formCad.ListBoxEquipamentos



.AddItem
.List(LinhaListbox, 0) = Sheets("dados").Cells(linha, 1) 'ID 'A
.List(LinhaListbox, 1) = Sheets("dados").Cells(linha, 2) 'Equipamento 'A
.List(LinhaListbox, 2) = Sheets("dados").Cells(linha, 3) 'Categoria 'B
.List(LinhaListbox, 3) = Sheets("dados").Cells(linha, 4) 'Status "C
.List(LinhaListbox, 4) = Sheets("dados").Cells(linha, 5) 'N de Serie 'D
.List(LinhaListbox, 5) = Sheets("dados").Cells(linha, 6) 'Patrimonio 'E
.List(LinhaListbox, 6) = Sheets("dados").Cells(linha, 7) 'secretaria "F
.List(LinhaListbox, 7) = Sheets("dados").Cells(linha, 8) 'Setor "G
.List(LinhaListbox, 8) = Sheets("dados").Cells(linha, 9) 'Responsavel " 'H

.List(LinhaListbox, 9) = Sheets("dados").Cells(linha, 10) 'Obs 'I


LinhaListbox = LinhaListbox + 1
End With


End If

LblRegistros.Caption = LinhaListbox & " Registro(s) Encontrado(s)."




'End If


linha = linha + 1

Wend

End With



End Sub

Re: Filtro em Listbox com Vários Critérios.

Enviado: 20 Ago 2022 às 18:33
por vilc
fiz um teste aqui nessa linha do código, onde esta escrito Administração e filtrou , porem tenho outras secretarias lista numa combobox, precisa trocar esse nome Administração pela combobox, acho que ira funcionar, mas tentei e não consegui.

With ws

While .Cells(linha, 1).Value <> Empty
TextoCelula = .Cells(linha, 2).Value 'COLUNA QUE ESTÁ SENDO PESQUISADO
If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then

If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) And _
.Cells(linha, 7) = "Adminsitração" Then

With formCad.ListBoxEquipamentos

Re: Filtro em Listbox com Vários Critérios.

Enviado: 22 Ago 2022 às 13:46
por joseA
Se tivesse como anexar a planilha ou um resumo dela para adaptação seria melhor....
Você poderá atribuir a coluna desejada para filtrar tbm uma variável, podendo usar até mesmo a propriedade ListIndex do ComboBox como referência

Qualquer coisa posta seu arquivo ai

Re: Filtro em Listbox com Vários Critérios.

Enviado: 22 Ago 2022 às 15:00
por vilc
Boa Tarde joseA, segue em anexo a planilha.
tem dois optbutton, se achar que fica melhor fazer o código por ele, blz.. até +

Re: Filtro em Listbox com Vários Critérios.

Enviado: 22 Ago 2022 às 20:28
por joseA
Vc disse filtrar pela coluna "EQUIPAMENTO" e "SECRETARIA"
Primeiro selecione o OptionButton2 Filtro por secretaria, selecione a secretaria e digite o equipamento

O filtro é realizado diretamente no controle ListBox

Re: Filtro em Listbox com Vários Critérios.

Enviado: 24 Ago 2022 às 12:54
por vilc
JoseA, funcionou, muito obrigado pela ajuda, ficou top....