Ir ao conteúdo

Como criar uma Macro para filtrar dados


Wendell Menezes

Posts recomendados

Postado

Boa noite,

Preciso de uma macro que faça o seguinte:

1) Filtre a coluna "País" pelo país que aparece na primeira linha da planilha "Tabela".

2) Filtro a coluna "Setor" pelo setor que aparece na primeira linha da planilha "Tabela".

agora é o problema...

3) Copie a quantidade de linhas que está na coluna "quantidade" que aparece na primeira linha da planilha "Tabela" e cole em uma outra planilha do mesmo arquivo (qualuqer q seja)

Depois o processo deve se repetir para as demais linhas da tabela até que ela acabe.

Arquivo:

www.megaupload.com/?d=D2HJZ5IH

Postado

Boa noite Milionário,

Obrigado pelo retorno, porém filtrar os dados eu consegui através do gravador de MACROS.

O problema é copiar a quantidade de linhas referente ao número de uma célula.

Pois quando eu utilizo o comando "Range", a macro considera as células sem o filtro.

Abraços

Postado

Boa noite Patropi,

Obrigado pelo retorno, porém o que preciso é o seguinte:

Uma macro que filtre o país Brasil na plan1(Base), porque Brasil é o valor que está na primeira linha da plan2 (Tabela), depois que filtrar o país, será necessário filtrar o setor AP, pelo mesmo motivo, é o setor que está na tabela.

Depois de ativiar esses 2 filtros, a planilha traria uma lista de resultados certo? Preciso que de todos os resultados, a macro copiasse apenas as 4 primeiras linhas da base (porque 4 é o número que está na tabela) e colasse em uma suposta "Plan3"

Feito isso a macro iria começar a filtrar de novo, porém agora utilizando os critérios da segunda linha da tabela.

Abraços

Postado

Boa noite!!!

Não entendi mas tente uma adaptação..

Sub filtrarDeOutraPlanilha()

'Faz o filtro de uma planilha para outra
' Filtro avançado. deve haver 3 cabeçahos identicos (1 será a base de dados,
'2 os critérios de busca, 3 Resultado da busca).
Sheets("base").Range("A1:D1000").AdvancedFilter _
Action:=xlFilterCopy, _
Criteriarange:=Sheets("Resultado").Range("F1:I2"), _
Copytorange:=Sheets("Resultado").Range("A1:D1"), _
Unique:=False

End Sub

Postado

Boa noite Zinho!

Não conhecia esse recurso, obrigado.

Porém não é exatamente o que eu preciso.

Eu preciso que o filtro avançado copie apenas uma quantidade pré-determinada de linhas da base de dados (Que vai variar de acordo com o país no meu exemplo)

  • Membro VIP
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!