FILTRO - FILTRAR VALORES DIFERENTES DA CÉLULA [Ô]A

FERNANDOGOMES 29/09/2015 11:28:30
#451905
Fala galera!
Preciso de uma graaande ajuda de vocês, se possível, é claro.
Na linha de comando em vermelho eu quero filtrar os valores >1 (já no código) e como segundo critério, retirar os valores iguais a célula A2 (ou filtrar os valores <> de A2).

Como posso fazer isso?

Segue código:

Sub Filtrodocamposoma()

[ô]Copia os resultados de daytrade e cola na coluna D2 da planilha de consolidação

Range([Ô]A1[Ô]).AutoFilter Field:=1, Criteria1:=[Ô]soma[Ô]
ActiveSheet.Range([Ô]b2[Ô], ActiveSheet.Range([Ô]b2[Ô]).End(xlDown)).Select
Selection.Copy
Sheets([Ô]Consolidado[Ô]).Select
Range([Ô]d2[Ô]).Select
ActiveSheet.Paste
Sheets([Ô]infopdf[Ô]).Select
[txt-color=#e80000]Range([Ô]A1[Ô]).AutoFilter Field:=1, Criteria1:=[Ô]>1[Ô][/txt-color]

End Sub
TUNUSAT 29/09/2015 11:44:54
#451908
FERNANDOGOMES,

Um [Ô]truque sujo[Ô] básico que pode ser feito é ligar o [Ô]gravador de macros[Ô], fazer exatamente a operação que se quer fazer e depois analisar os resultados.
Abaixo alguns exemplos:

====================================================
Tutorial Excel - VBA: Formulário de consulta com filtro de ...
http://www.youtube.com/watch?v=nNbgzCf-2NI
====================================================
Filtro dinâmico de valores em listbox em tempo real VBA excel
http://www.youtube.com/watch?v=H2eq8aGyAUg
====================================================
Filtrar colunas Excel VBA
Publicado por Marcos Rieper em julho 5, 2014 as 12:12 pm
Objetivo: Como filtrar colunas Excel VBA. Realizar o filtro dos nomes das colunas a partir da digitação, da mesma forma como é utilizado o filtro de linhas no Excel a partir do Autofiltro.
http://guiadoexcel.com.br/filtrar-colunas-excel-vba

[ô]Faz um loop por todas as colunas preenchidas a partir da segunda
For i = 2 To lColuna

        [ô]Verifica se a célula contém a informação pesquisada
If (UCase(Cells(1, i).Value) Like [Ô]*[Ô] & UCase(TextBox1.Text) & [Ô]*[Ô]) = False Then
[ô]Oculta a coluna caso não tenha a informação pesquisada
Columns(i).EntireColumn.Hidden = True
End If
Next i

====================================================
Aplicar filtro automático em lista com VBA Excel
http://guiadoexcel.com.br/aplicar-filtro-automatico-em-lista-com-vba-excel

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Target.Column = 4 And Target.Row >= 2 And Target.Row <= 5) And Target.Value <> [Ô][Ô] Then
ActiveSheet.Range([Ô]$A$1:$E$518[Ô]).AutoFilter Field:=5, Criteria1:=Target.Value, _
Operator:=xlAnd
Else
If Target.Address = [Ô]$B$1[Ô] Then
Application.EnableEvents = False
Range([Ô]D7[Ô]).Select
Selection.AutoFilter
Selection.AutoFilter
Application.EnableEvents = True
End If
End If
End Sub


[][ô]s,
Tunusat.
FERNANDOGOMES 29/09/2015 11:59:16
#451912
Olá TUNUSAT,
Obrigado pela rápida resposta, no entanto não me fez muito sentido, sendo que ''e algo que me parece simples.

Não consigo realizar o método [Ô]sujo[Ô] porque quando filtramos através do ícone de filtro, não é possível fazer referência a uma célula, só é possível digitar os valores que buscamos.

No caso, preciso que o critério me retorne valores com base em uma céula (A2)
Código meu que não deu certo para clarear as coisas:

[txt-color=#e80000]Range([Ô]A1[Ô]).AutoFilter Field:=1, Criteria1:=[Ô]>1[Ô], Criteria2:=[Ô]<>Range([Ô]A2[Ô])[Ô][/txt-color]

Sacou? Preciso que o filtro se baseie na célula A2..

Agradeço novamente!
TUNUSAT 01/10/2015 07:43:25
#451996
FERNANDOGOMES,

Ao clicar na célula com o mouse você faz referência a ela... ou não?

Sobre o AutoFilter.
Vamos tentar montar o seu exemplo baseado em:
================================================
Método Range.AutoFilter (Excel)
https://msdn.microsoft.com/pt-br/library/office/ff193884.aspx
================================================
XL: How to Control the AutoFilter with a Macro
https://support.microsoft.com/en-us/kb/141770

   Sub Custom1()
Range([Ô]A1[Ô]).AutoFilter Field:=2, Criteria1:=[Ô]a[Ô], Operator:=xlOr, _
Criteria2:=[Ô]b[Ô]
End Sub

   Sub Custom2()
Range([Ô]A1[Ô]).AutoFilter Field:=3, Criteria1:=[Ô]>=1[Ô], _
Operator:=xlAnd, Criteria2:=[Ô]<4[Ô]
End Sub

================================================

Seu código é:
Range([Ô]A1[Ô]).AutoFilter Field:=1, Criteria1:=[Ô]>1[Ô]


Experimente assim:
Range([Ô]A1[Ô]).AutoFilter Field:=1, Criteria1:=[Ô]>1[Ô], Operator:=xlOr, Criteria2:=[Ô]<>Range([ô]A2[ô])[Ô]


[][ô]s,
Tunusat.
EDCRONOS 01/10/2015 19:31:42
#452063
eu não sei se vc pode usar tal artificio na sua planilha
mas vc pode criar uma formatação condicional com formula
e então filtrar pela cor

como criar uma formatação com formula é muito mais simples do que criar uma regra na filtragem, dá para fazer filtragens bem complexas
o inconveniente é que não funciona tão rápido

Faça seu login para responder