Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Utilize essa sessão para criar tópicos relacionados a tabelas dinâmicas, formatações condicionais, subtotais, filtros, etc
  • Avatar do usuário
Por Adrian
Posts
#33710
Bom dia Pessoal!

Mais uma vez aqui de volta, precisando agilizar uma rotina. É o seguinte na coluna A da minha planilha tenho os códigos de meus clientes que vai até o 2000,
eu filtrei essa coluna para filtrar esses códigos abaixo:
940
1349
403
1460
514
108
164
549
622
667
1628
219
1493
400
1550
1499
877
1057
1709
1787
958
1275
553
1091
1609
1558
95

Só que acabo perdendo tempo na hora de filtrar esses números ou outros, porque tenho procurar no filtro um por um e ficar marcando para filtrar. Gente teria como filtrar
esses números de uma só vez sem ficar procurando?

Grato

Adriano
Por osvaldomp
#33713
Adrian escreveu: ... eu filtrei essa coluna para filtrar esses códigos abaixo:
1. os códigos filtrados serão sempre os que estão na relação ?
2. sugestão - disponibilize uma amostra do seu arquivo Excel, em uma planilha coloque os dados brutos e em outra os dados filtrados
Por Adrian
Posts
#33714
Não Osvaldo os códigos filtrados não serão sempre os mesmos, sempre vão oscilar. Vou te enviar a planilha como me solicitou.
Avatar do usuário
Por gfranco
Avatar
#33718
Bom dia.
Veja se o exemplo pode te ser útil.
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#33733
Adriano, experimente. Rode o código abaixo com a Planilha2 ativa.
Código: Selecionar todos
Sub FiltraMúltiplosCritérios()
 Dim v As Variant
  ActiveSheet.AutoFilterMode = False
   v = Split(Join(Application.Transpose(Range("J3:J" & Cells(Rows.Count, 10).End(3).Row))))
   Range("A1").AutoFilter Field:=1, Criteria1:=v, Operator:=xlFilterValues
End Sub
obs. funciona com qualquer quantidade de códigos na lista de critérios (coluna J), porém não deixe células vazias na lista
Por Adrian
Posts
#33740
Bom dia Osvaldo!

É exatamente isso que eu queria Osvaldo, mas não é nessa planilha de exemplo que te enviei que quero rodar essa macro, eu copiei ela entrei no VBA e colei na planilha que em uso do programinha que criei no excel, fiz algumas alterações ali nos endereços na macro para atender minhas necessidades, criei um botão e habilitei a macro à ele. Mas quando clico no botão para rodar a macro aparece o erro 400.
Por Adrian
Posts
#33742
Não consigo enviar o print, todos os formatos que salvei o print a extensão não foi aceita. Vc poderia me passar seu e-mail por favor pra te enviar o arquivo?

Grato
Por osvaldomp
#33746
Adrian escreveu:... mas não é nessa planilha de exemplo que te enviei que quero rodar essa macro, ...
:?: :?: :?: :o :shock:

Adrian escreveu:Vou te enviar um print do erro.
Disponibilize o arquivo Excel NO QUAL VOCÊ IRÁ UTILIZAR A MACRO, prints não servem.
Por Adrian
Posts
#33749
Osvaldo o tamanho do meu arquivo é de 38 MB, será que consigo te enviar por aqui?
Por osvaldomp
#33750
O código que eu sugeri funciona para qualquer quantidade de linhas da coluna com os critérios (coluna J no seu exemplo) e também para qualquer quantidade de linhas da coluna com dados a serem filtrados (coluna A no seu exemplo), então disponibilize a planilha com no máximo 10 linhas com dados e com 4 a 5 linhas com os critérios, não precisa mais que isso.

O que é importante é que a estrutura da amostra seja exatamente igual ao arquivo original.
Por Adrian
Posts
#33752
Osvaldo, segue anexo como me pediu. O botão FILTRAR encontra-se na coluna AR e os códigos a serem filtrados a partir da linha 8 e todos os códigos dos clientes estão na coluna AL. Ver ai o que você pode resolver por favor.


Grato
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por gfranco
Avatar
#33760
Veja este
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#33762
Ajustei as colunas com base no seu último arquivo. Instale o código abaixo em um módulo comum (no menu do editor de VBA clique em Inserir / Módulo) e não no módulo da planilha como você instalou o código anterior.
Código: Selecionar todos
Sub FiltraMúltiplosCritérios()
 Dim v As Variant
  ActiveSheet.AutoFilterMode = False
   v = Split(Join(Application.Transpose(Range("AR8:AR" & Cells(Rows.Count, 44).End(3).Row))))
   Range("A7:ASL7").AutoFilter Field:=38, Criteria1:=v, Operator:=xlFilterValues
End Sub
Por Adrian
Posts
#33766
Obrigado Gfranco pelo esforço e colaboração. Acabei usando macro de Osvaldo que rodou melhor. Obrigadão Osvaldo por ter resolvido mais uma rotina em minha planilha. Obrigado a todos do Guru a muito tempo vem colaborando para automação do meu programa.

Muito grato de coração , agradeço à Deus em nome de Jesus por ter encontrado este site Guru do Excel. Você são demais!
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord