Página 1 de 1

Macro para filtro avançado

Enviado: 24 Abr 2015 às 11:17
por TonyCvo
Olá pessoal,
Estou pelejando para criar um filtro avançado para tratar a tabela abaixo (a original tem cerca de 10.000 linhas).
Preciso de um filtro que identifique na coluna 1 os valores repetidos para então considerar os valores da coluna Codigo, Qnt e Tipo.
Ex: Preciso copiar para outra aba a linha em que todos os Numeros com Tipo AT12 e Código 9.34 e 9.31 simultaneamente.
No caso especifico, preciso que a macro veja que o Numero 191371769 é repetido e do tipo AT12 e que possui ao mesmo tempo o Código 9.34 e 9.31, atendendo essas condições, então será copiado as duas linhas dele para outra aba.
PS:1 - no relatório o Numero sempre varia e é aleatório, apenas como identificação, mas Codigo, Qnt e Tipo não são aleatórios.
2 – Minha maior dificuldade tem sido que se tenho uma AT12 com 9.34 e outra logo após com 9.31 mas que o valor do Número é diferente a macro copia, sendo que era para fazer isso só se fosse igual.


Identif. --- Codigo --- Qnt --- Tipo
191352484 --- 9.31 --- 1 --- AT12
191353729 --- 9.34 --- 1 --- AT12
191354671 --- 9.20 --- 1 --- AT86
191354671 --- 9.19 --- 1 --- AT86
191355280 --- 9.32 --- 1 --- AT12
191358211 --- 9.32 --- 1 --- AT12
191359675 --- 9.31 --- 1 --- AT12
191360615 --- 9.31 --- 1 --- AT12
191360844 --- 9.24 --- 1 --- AT98
191360853 --- 9.32 --- 1 --- AT12
191362011 --- 9.31 --- 1 --- AT12
191362610 --- 9.31 --- 1 --- AT12
191371605 --- 9.31 --- 1 --- AT12
191371769 --- 9.34 --- 1 --- AT12
191371769 --- 9.31 --- 1 --- AT12

Re: Macro para filtro avançado

Enviado: 24 Abr 2015 às 12:11
por laennder
Olá Tony, acredito que existam outras formas de fazer, mas criei algumas colunas extras na planilha para verificar as condições que deseja. Baseado nisso é possível verificar as linhas que atendem todas as condições que deseja, e utilizá-la na macro do filtro.

Veja se te atende o modelo em anexo.

Ps. Não criei a macro, apenas as fórmulas. Se tiver dificuldade de criar a macro para copiar os dados assinalados pelas fórmulas na coluna COPIAR, é só falar.

Re: Macro para filtro avançado

Enviado: 24 Abr 2015 às 13:44
por TonyCvo
Olá laeender, parabéns pelo dinamismo e pelo belo trabalho no site e obrigado pela resposta.
Sua proposta resolveu parte dos meus problemas, clareou as possibilidades.
Pretendo criar esse filtro através do vba visto que o resto dos relatórios que extraio dela são em VBA, inicialmente usei uma FormulaR1C1 para inserir as fórmulas nas 4 colunas com as condicionais que você criou e filtrar a partir do resultado da coluna copiar (depois fiz as limpezas necessárias), mas dada a densidade dos dados não rodou macio e não funcionou perfeitamente. (Ainda estou analisando a inconsistência do meu erro).

Será que conseguiríamos criar algumas estruturas if then atreladas com GoTo e Do-While para cercarmos isso via VBA puramente?

Abraço!

Macro para filtro avançado

Enviado: 24 Abr 2015 às 13:50
por laennder
Se você anexar a sua planilha pode facilitar encontramos uma resposta melhor.

[]'s

Re: Macro para filtro avançado

Enviado: 24 Abr 2015 às 15:05
por alexandrevba
Boa tarde!!

Copiando a ideia do laennder, veja um modelo "louco"..rsrsr


Att

Re: Macro para filtro avançado

Enviado: 24 Abr 2015 às 15:27
por TonyCvo
Baseado no seu raciocínio Laennder, criei a macro do arquivo em anexo, com mais dados, não repare no meu amadorismo, tem só dois meses que me iniciei no VBA.
Observando sua macro alexandrevba, percebo o quanto ainda sou principiante... rsrs :oops: Mas estou correndo atrás.

Obrigado aos senhores, as soluções apresentadas me darão um caminho, são mais de 150 combinações como aquela que terei que fazer, algumas mais complexas. Bom saber que posso contar com os senhores, abraço!

Re: Macro para filtro avançado

Enviado: 24 Abr 2015 às 15:33
por alexandrevba
Boa tarde!!

Considerando meu arquivo, cole sua base de dados na guia Origem, aperte do botão, faça uma verificação e compare para saber se é isso, pois de 700 linhas 150 estariam dentro do critério solicitado por você.


Att

Re: Macro para filtro avançado

Enviado: 24 Abr 2015 às 15:39
por TonyCvo
alexandrevba escreveu:Boa tarde!!

Considerando emu arquivo, cole sua base de dados na guia Origem, aperte do botão, faça uma verificação e compare para saber se é isso, pois de 700 linhas 150 estariam dentro do critério solicitado por você.


Att

Testei aqui Alexandre, comm 5 bases de dados diferentes o resultado comparativo das nossas macros foi o mesmo, porém a sua roda mais macio, mais rápida. Se me permitir, vou adapta-la para as outras condições que necessito. Mais uma vez obrigado!