Notifications
Clear all

Ajuda no Auto.Filter

7 Posts
4 Usuários
2 Reactions
1,142 Visualizações
(@wiilcorrea)
Posts: 7
Active Member
Topic starter
 

Meus caros, bom dia.

 

Preciso de ajuda na formula abaixo, para um filtro através de uma text box. A formula abaixo só filtra exatamente o valor (numero) que está escrito, porém eu gostaria que filtrassem todos os valores que contem o numero digitado (o padrão de filtro manual do excel). Ou seja, ao digitar 1, eu filtraria os valores 100, 101, etc. Porém eu só filtro estes valores se eu digitar exatamente a mesma coisa. 

 

Segue linha do código que estou usando:

 

Private Sub Valor_Change()
  If Valor.Text <> "" Then
    Selection.AutoFilter Field:=8, Criteria1:="=" & Valor.Text
  Else
    Selection.AutoFilter Field:=8
  End If
End Sub

 

 
Postado : 21/07/2022 10:08 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Faça uma tentativa usando coringas concatenados ao critério, @wiilcorrea (um antes e um depois do Valor.Text):

, Criteria1:="=*" & Valor.Text & "*"

 
Postado : 21/07/2022 1:50 pm
(@teleguiado)
Posts: 142
Estimable Member
 

@willcorrea Tenho uma planilha com o mesmo código somente diferente do seu essa parte e assim funciona como você explicou

, Criteria1:="=" & Valor.Text &  + "*"

Obrigado.

Teleguiado.
E-mail: [email protected]

 
Postado : 22/07/2022 9:56 am
(@wiilcorrea)
Posts: 7
Active Member
Topic starter
 

Pessoal, boa tarde.

Obrigado pelo retorno, porém não funcionou.

Estou anexando a planilha aqui.

 
Postado : 26/07/2022 3:00 pm
(@osvaldomp)
Posts: 858
Prominent Member
 

Experimente:

Private Sub Valor_Change()
Dim c As Range, LR As Long
LR = [A:A].Find("*", , xlFormulas, , xlRows, xlPrevious).Row
Application.ScreenUpdating = False
Rows("5:" & LR).Hidden = False
If Valor.Text <> "" Then
For Each c In Range("A5:A" & LR)
Rows(c.Row).Hidden = Not Int(c.Text) Like "*" & Valor.Text & "*"
Next c
End If
End Sub

Osvaldo

 
Postado : 26/07/2022 5:40 pm
teleguiado reacted
(@teleguiado)
Posts: 142
Estimable Member
 

@osvaldomp Sabe dizer porque o código anterior meu e do Edson não funcionou?
Tenho uma outra planilha com o mesmo código e funciona.

Obrigado.

Teleguiado.
E-mail: [email protected]

 
Postado : 27/07/2022 12:50 pm
(@osvaldomp)
Posts: 858
Prominent Member
 

@teleguiado
O que ele está tentando fazer é aplicar o Auto Filtro com critério equivalente a "contém".
No entanto, esse critério não é disponível no Excel/VBA para ser aplicado em dados numéricos.

Então a expressão ~~~> "*" & critério & "*" funciona somente para dados do tipo texto/string.

Osvaldo

 
Postado : 27/07/2022 8:22 pm
teleguiado reacted