Notifications
Clear all

Filtro especial(Diferente de)

8 Posts
2 Usuários
0 Reactions
4,189 Visualizações
(@ericksant)
Posts: 0
New Member
Topic starter
 

Prezados,
boa tarde,

Estou tentando fazer um código onde determino um filtro que seja diferente de 0,00... Mesmo utilizando o gravador não funciona...

Alguém já viu esse problema ? Se eu setar o filtro na mão vai, mas quando executo o código que a macro mesmo fez, não funciona...

 
Postado : 17/08/2018 1:26 pm
(@ericksant)
Posts: 0
New Member
Topic starter
 

Jesus, desculpa galera, era só trocar a virgula do 0,00 por um ponto...

RESOLVIDO.

 
Postado : 17/08/2018 1:33 pm
(@xlarruda)
Posts: 0
New Member
 

Segue conforme Pedido:

Sub Filtrar_diferente_de_zero()
On error resume next
With ActiveSheet.Range("A1:A" & Planilha1.UsedRange.Rows.Count)
.AutoFilter Field:=1, Criteria1:="<>0", _
Operator:=xlAnd
End With
End Sub
 
Postado : 17/08/2018 1:36 pm
(@ericksant)
Posts: 0
New Member
Topic starter
 

Uma dúvida que surgiu agora....

Feito o filtro, como faço para selecionar apenas as células visíveis mas a partir da segunda linha preenchida ?

Veja meu código:

Sub Macro5()

    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$A$156").AutoFilter Field:=1, Criteria1:="<>0.00", _
        Operator:=xlAnd
    Range("A7").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy
End Sub

a ideia é pegar a partir da segunda linha para baixo tudo que estiver preenchido....

Alguem consegue me ajudar ?

 
Postado : 17/08/2018 2:27 pm
(@xlarruda)
Posts: 0
New Member
 

Segue:

Sub Filtrar_diferente_de_zero()
Dim ul As Long
On Error Resume Next
With ActiveSheet.Range("A1:A" & Planilha1.UsedRange.Rows.Count)
.AutoFilter Field:=1, Criteria1:="<>0", Operator:=xlAnd
End With
ul = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
ActiveSheet.Range("A2:A" & ul).Select: Selection.Copy
End Sub
 
Postado : 17/08/2018 3:05 pm
(@ericksant)
Posts: 0
New Member
Topic starter
 

cara era exatamente isso que eu queria... Você poderia mandar aqui esse código comentado ??

Sério muito obrigado André!

 
Postado : 17/08/2018 4:49 pm
(@xlarruda)
Posts: 0
New Member
 

Colega ericksant segue conforme pedido:

Sub Filtrar_diferente_de_zero()
Dim ul As Long ' Definindo variável 
On Error Resume Next ' Se der algum erro pulo pra a próxima linha
With ActiveSheet.Range("A1:A" & Planilha1.UsedRange.Rows.Count) 'fazendo o filtro na range que vai de A1 até a ultima linha com valor na planilha. Sendo que o valor deve ser diferente de zero.
.AutoFilter Field:=1, Criteria1:="<>0", Operator:=xlAnd
End With
ul = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row 'definindo a ultima linha visivel preenchida
ActiveSheet.Range("A2:A" & ul).Select: Selection.Copy 'selecionando e copiando de A2 até a ultima linha visivel preenchida 
End Sub' fim
 
Postado : 20/08/2018 10:21 am
(@ericksant)
Posts: 0
New Member
Topic starter
 

Mais uma vez, muito obrigado cara!

 
Postado : 21/08/2018 2:01 pm