Página 1 de 1
Rotina no Filtrar
Enviado: 06 Jun 2018 às 09:33
por Adrian
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
Re: Rotina no Filtrar
Enviado: 06 Jun 2018 às 10:24
por osvaldomp
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
Rotina no Filtrar
Enviado: 06 Jun 2018 às 10:38
por Adrian
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.
Re: Rotina no Filtrar
Enviado: 06 Jun 2018 às 11:43
por gfranco
Bom dia.
Veja se o exemplo pode te ser útil.
Re: Rotina no Filtrar
Enviado: 06 Jun 2018 às 12:39
por Adrian
Segue anexo Osvaldo
Rotina no Filtrar
Enviado: 06 Jun 2018 às 12:41
por Adrian
Obrigado Gfranco, mas não da certo para minha planilha
Re: Rotina no Filtrar
Enviado: 06 Jun 2018 às 17:17
por osvaldomp
Adriano, experimente. Rode o código abaixo com a Planilha2 ativa.
Código: Selecionar todosSub 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
Rotina no Filtrar
Enviado: 07 Jun 2018 às 07:01
por Adrian
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.
Rotina no Filtrar
Enviado: 07 Jun 2018 às 07:03
por Adrian
Vou te enviar um print do erro.
Re: Rotina no Filtrar
Enviado: 07 Jun 2018 às 07:14
por Adrian
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
Re: Rotina no Filtrar
Enviado: 07 Jun 2018 às 08:24
por osvaldomp
Rotina no Filtrar
Enviado: 07 Jun 2018 às 09:45
por Adrian
Osvaldo o tamanho do meu arquivo é de 38 MB, será que consigo te enviar por aqui?
Re: Rotina no Filtrar
Enviado: 07 Jun 2018 às 09:57
por osvaldomp
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.
Re: Rotina no Filtrar
Enviado: 07 Jun 2018 às 11:13
por Adrian
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
Re: Rotina no Filtrar
Enviado: 07 Jun 2018 às 13:50
por gfranco
Veja este
Re: Rotina no Filtrar
Enviado: 07 Jun 2018 às 14:36
por osvaldomp
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 todosSub 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
Rotina no Filtrar
Enviado: 07 Jun 2018 às 17:16
por Adrian
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!