Filtro com textbox ...
 
Notifications
Clear all

Filtro com textbox e combobox listview text

7 Posts
2 Usuários
0 Reactions
2,613 Visualizações
(@joaofan11)
Posts: 20
Eminent Member
Topic starter
 

Boa tarde pessoal;

Então preciso criar um filtro que mostre na listview o valo exato ou similar digitado na listview ou/e na combobox. Não sei se isso e possível desde já agradeço a ajuda de vocês.

Segue exemplo em anexo.

Sds, João Fernandes.

 
Postado : 22/06/2017 12:35 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Boa tarde!

O arquivo que você anexou carrega, na inicialização, um formulário FrmTelaInicial.Show que não existe no projeto. Onde está esse formulário? Anexe o arquivo correto, por gentileza.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 22/06/2017 12:39 pm
(@joaofan11)
Posts: 20
Eminent Member
Topic starter
 

Segue Exemplo2;

Sds, João Fernandes

 
Postado : 22/06/2017 12:49 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

JoaoFAN11,

Boa Noite!

Ok. Esse segundo arquivo abriu legal. Agora, explique exatamente (e com riqueza de detalhes) o que você realmente quer pois eu abri o arquivo e não entendi nada...

Diga como é que se chega ao que você quer. Que formulário quer abrir, que consulta quer fazer, como faz, etc.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 24/06/2017 3:08 pm
(@joaofan11)
Posts: 20
Eminent Member
Topic starter
 

Bom dia Wagner;

Assim eu preciso que o formulário FrmConsulta funcione com um filtro sabe, que quando for digitado algum item nas TextBox: TextConsultaMaterial, TextConsultaID e na ComboBox: BxcConsultaUnidade e apareça o resultado dentro da ListBox Consulta1. Se ficou confuso e porque no eu mudei as unidades pelos estados e capitais do Brasil.

Desde já agradeço sua ajuda

 
Postado : 26/06/2017 8:24 am
(@joaofan11)
Posts: 20
Eminent Member
Topic starter
 

Boa tarde

Option Explicit
Private TextoDigitado As String

Private Sub TextBox1_Change()
    TextoDigitado = TextBox1.Text
    Call PreencheLista
End Sub

Private Sub UserForm_Initialize()
    Call PreencheLista
End Sub

Private Sub PreencheLista()
    Dim ws As Worksheet
    Dim i As Integer
    Dim TextoCelula As String
    Set ws = ThisWorkbook.Worksheets("Plan1")
    i = 1
    ListBox1.Clear
    With ws
        While .Cells(i, 1).Value <> Empty
            TextoCelula = .Cells(i, 1).Value
            If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then
                ListBox1.AddItem .Cells(i, 1)
            End If
            i = i + 1
        Wend
    End With
End Sub

Consegui esse código na internet só não consigo fazer aparecer mais de uma coluna no listbox. Alguma dica;

Sds, João Fernandes

 
Postado : 27/06/2017 12:02 pm
(@joaofan11)
Posts: 20
Eminent Member
Topic starter
 

Código abaixo faz o filtro com duas Textbox e uma Combobox dentro da Listbox

Sub Filtro()


Dim linha, linhalist As Integer
Dim valor_celula As String

linhalist = 0
linha = 2

Consulta1.Clear

Plan1.Select

With Plan1

    While .Cells(linha, 1).Value <> ""
    
    valor_celula = .Cells(linha, 1).Value
    If UCase(Left(valor_celula, Len(TextIdConsulta.Text))) = UCase(TextIdConsulta.Text) Then
    
    valor_celula = .Cells(linha, 4).Value
    If UCase(Left(valor_celula, Len(TextConsultaMaterial.Text))) = UCase(TextConsultaMaterial.Text) Then
    
    valor_celula = .Cells(linha, 3).Value
    If UCase(Left(valor_celula, Len(BxcConsultaUnidade.Text))) = UCase(BxcConsultaUnidade.Text) Then


With Consulta1
.AddItem
.List(linhalist, 0) = Plan1.Cells(linha, 1)
.List(linhalist, 1) = Plan1.Cells(linha, 2)
.List(linhalist, 2) = Plan1.Cells(linha, 3)
.List(linhalist, 3) = Plan1.Cells(linha, 4)
.List(linhalist, 4) = Plan1.Cells(linha, 5)
.List(linhalist, 5) = Plan1.Cells(linha, 6)
.List(linhalist, 6) = Plan1.Cells(linha, 7)
.List(linhalist, 7) = Plan1.Cells(linha, 8)

End With

linhalist = linhalist + 1

End If
End If
End If

linha = linha + 1

Wend

End With

End Sub
 
Postado : 30/06/2017 7:46 am