- 07 Ago 2017 às 13:23
#25325
Boa Tarde!
Estou fazendo uma planilha para otimizar a busca de materiais aqui na empresa. Montei todos os userforms e os textbox como eu queria, está tudo funcionando menos a busca no ListBox. Segue o código.
'Define TextoBox1
Private Sub TextBox1_Change()
TextoDigitado = TextBox1.Text
Call Busca_TextBox1
End Sub
'Busca TextBox1
Private Sub Busca_TextBox1()
Dim ws As Worksheet
Dim i As Integer
Dim TextoCelula As String
Set ws = ThisWorkbook.Worksheets("AÇO P20")
i = 2 'linha
ListBox1.Clear
With ws
While .Cells(i, 1).Value <> Empty
TextoCelula = .Cells(i, 3).Value
If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then
ListBox1.AddItem .Cells(i, 3) ' Coluna
End If
TextBox1.SetFocus
i = i + 1
Wend
End With
End Sub
'Função Scrool
Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Not Me.ActiveControl Is Me.ListBox1 Then
Me.ListBox1.SetFocus
End If
HookListBoxScroll
End Sub
'Carrega UserForm e Dados do ListBox
Private Sub UserForm_Initialize()
Busca_TextBox1
End Sub
Com o código do jeito que está ele carrega todos os comprimentos dos materiais e mostra no userform, quando eu digito um valor ele vai filtrando o que digitei no TextBox1 e vai mostrando no UserForm.
Até ai tudo certo, só que eu tenho mais 3 colunas que eu gostaria que aparece-se que são (Largura) (Altura) (Código) só que quando carrega o userform só mostra os valores do comprimento.
Teria como fazer isso, minha ideia é que eu digite por exemplo 300 de largura e ele mostre todos os materiais com aquela largura, depois junto com os 300 eu quero 50 de altura e assim ele vai filtrando tudo... Já bati cabeça aqui e não consegui achar uma maneira de fazer isso.
Em Anexo tem a planilha.
Estou fazendo uma planilha para otimizar a busca de materiais aqui na empresa. Montei todos os userforms e os textbox como eu queria, está tudo funcionando menos a busca no ListBox. Segue o código.
'Define TextoBox1
Private Sub TextBox1_Change()
TextoDigitado = TextBox1.Text
Call Busca_TextBox1
End Sub
'Busca TextBox1
Private Sub Busca_TextBox1()
Dim ws As Worksheet
Dim i As Integer
Dim TextoCelula As String
Set ws = ThisWorkbook.Worksheets("AÇO P20")
i = 2 'linha
ListBox1.Clear
With ws
While .Cells(i, 1).Value <> Empty
TextoCelula = .Cells(i, 3).Value
If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then
ListBox1.AddItem .Cells(i, 3) ' Coluna
End If
TextBox1.SetFocus
i = i + 1
Wend
End With
End Sub
'Função Scrool
Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Not Me.ActiveControl Is Me.ListBox1 Then
Me.ListBox1.SetFocus
End If
HookListBoxScroll
End Sub
'Carrega UserForm e Dados do ListBox
Private Sub UserForm_Initialize()
Busca_TextBox1
End Sub
Com o código do jeito que está ele carrega todos os comprimentos dos materiais e mostra no userform, quando eu digito um valor ele vai filtrando o que digitei no TextBox1 e vai mostrando no UserForm.
Até ai tudo certo, só que eu tenho mais 3 colunas que eu gostaria que aparece-se que são (Largura) (Altura) (Código) só que quando carrega o userform só mostra os valores do comprimento.
Teria como fazer isso, minha ideia é que eu digite por exemplo 300 de largura e ele mostre todos os materiais com aquela largura, depois junto com os 300 eu quero 50 de altura e assim ele vai filtrando tudo... Já bati cabeça aqui e não consegui achar uma maneira de fazer isso.
Em Anexo tem a planilha.
Você não está autorizado a ver ou baixar esse anexo.