Boa tarde!!
Considerando que você vai usar um controle textbox em uma guia onde os dados estão em uma tabela dentro da guia.
Option Explicit
Private Sub TextBox1_Change()
Dim rngData As Range
Dim rngFind As Range
Dim rngFindAll As Range
Dim strFirstAddress As String
Set rngData = ActiveSheet.ListObjects("Table1").DataBodyRange
rngData.EntireRow.Hidden = False
If Len(TextBox1.Text) = 0 Then
Else
With rngData
Set rngFind = .Cells.Find(TextBox1.Text, .Cells(.Rows.Count, .Columns.Count), xlValues, xlPart, , , False)
If Not rngFind Is Nothing Then
Set rngFindAll = rngFind.EntireRow
strFirstAddress = rngFind.Address
Do
Set rngFindAll = Union(rngFindAll, rngFind.EntireRow)
Set rngFind = .FindNext(rngFind)
Loop While Not rngFind Is Nothing And strFirstAddress <> rngFind.Address
.EntireRow.Hidden = True
rngFindAll.EntireRow.Hidden = False
End If
End With
End If
End Sub
Obs:Efeito super dinâmico, filtra qualquer valor dentro da tabela, indenpendente da coluna da tabela!!! muito bom!!!
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 02/10/2014 11:29 am