Galera, venho mais uma vez pedir a ajuda dos amigos do fórum.
com textbox1 e listbox1 (nomes padrão), o código abaixo lista o conteúdo de 2 colunas na listbox1 e a textbox1 serve como filtro, conforme digitado, vai mostrando o resultado. Porém ele só encontra conteúdo na primeira coluna e também a primeira palavra, ou seja, se for uma frase e a palavra digitada não for a primeira da frase ele não encontra.
Preciso que ele encontre a palavra ou palavras digitadas no textbox1, estejam elas em qualquer lugar da sheet selecionada.
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 = Worksheets("base")
i = 1
ListBox1.Clear
With ws
While .Cells(i, 2).Value <> Empty
TextoCelula = .Cells(i, 2).Value
If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then
ListBox1.AddItem .Cells(i, 1)
ListBox1.List(UserForm1.ListBox1.ListCount - 1, 1) = Worksheets("base").Range("B" & i)
End If
i = i + 1
Wend
End With
End Sub
DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]
Postado : 03/10/2013 9:48 am