Filtrar dados de uma planilha para outra Excel – Filtro avançado Excel
É comum termos listas extensas de dados aonde temos que filtrar dados para realizarmos análises e tomarmos ações. Neste artigo você aprenderá a filtrar os dados de uma planilha do Excel em outra planilha de forma automática utilizando filtro avançado Excel e um simples VBA.
A lista
Os dados devem estar dispostos com cabeçalhos em formato de base de dados, ou seja, todos os dados devem estar concisos.
Por exemplo, em uma coluna na qual o cabeçalho seja nome do vendedor, ter apenas o nome do vendedor em todas as linhas abaixo deste cabeçalho e na coluna Nota fiscal, ter apenas os números das notas fiscais.
Além disso a regra do bom desenvolvimento com listas de dados no Excel sugere que você sempre coloque os dados a partir da linha 1, isso permite que os dados sejam trabalhados pelas suas colunas, não sendo necessária a seleção de listas, por exemplo, ao invés de A2:F500, que pode mudar com o aumento de dados, colocamos os dados a partir da linha 1 permitindo assim utilizar o range A:F e os dados do seu cálculo ou filtro não precisarão ser ajustados se forem inclusos.
No nosso exemplo criamos uma lista de vendas e renomeamos a planilha como Base.
Filtrar dados de uma planilha para outra Excel
Agora vamos ver como filtrar os dados de uma planilha para outra o Excel manualmente, no próximo tópico ensinaremos como automatizar. Siga os passos numerados para a realização da tarefa.
- Crie uma planilha na mesma Pasta de Trabalho e renomeie-a como Filtro, é nesta planilha que iremos aplicar o filtro e filtrar os dados.
- Copie o cabeçalho da sua lista de dados na planilha Base e cole em A1 na planilha Filtro.
- Selecione a célula A7 na planilha Filtro.
- Clique na guia Dados e no grupo Classificar e Filtrar selecione o ícone Avançado.
- Nas configurações do filtro avançado selecione a opção Copiar para outro local, no intervalo da lista selecione Base$A:$F, no intervalo de critérios selecione Filtro!$A$1:$F$2 e no Copiar para digite Filtro!$A$7:$F$7, é importante que seja selecionado neste campo a mesma quantidade de colunas que a base, para que os dados ao filtrar sejam todos trazidos.
- Agora basta clicar o botão OK para que os dados sejam filtrados automaticamente na lista. Veja que foram listados todos os dados automaticamente.
- Para filtrar os dados basta digitar nas células de A2 á F2 os dados que deseja filtrar, inclusive com coringas.
- * => Utilize o coringa * para trazer os dados que começam com, terminam com, ou possuem algum determinado texto no meio. Por exemplo *ão, para trazer todos os nomes que terminam com ão, ou Jo* para trazer todos os textos que começam com Jo, ou ainda j*o para trazer todos os textos que começam com J e terminam com o. Se digitar apenas Jo ele também traz os dados de todos que começam com Jo, sem o uso do coringa.
- =<> => Utilize os coringas > (maior), < (menor) para que sejam trazidos valores maior ou menor do que um determinado valor, por exemplo <300, todos os valores menores que 300 ou >300 para todos os valores maiores que 300 ou ainda >=300 para um valor maior ou igual a 300.
- Para valores iguais você não precisa usar coringas apenas digitar diretamente o valor, por exemplo filtrar as vendas da vendedora Ana digitar apenas Ana no campo Vendedor e filtrar.
Importante, é necessário que toda vez que você for filtrar seja feito tudo novamente por padrão no Excel. No próximo tópico você verá como evitar de ter que digitar tudo novamente e executar automaticamente o filtro sempre que quiser por um botão.
Filtrar dados de uma planilha para outra Excel Automático VBA
Neste tópico você aprenderá a automatizar o processo de filtrar dados de uma planilha para outra no Excel utilizando VBA.
- Habilite a sua guia desenvolvedor caso ela não esteja habilitada. Para isso clique com o botão direito sobre qualquer Guia do Excel e selecione a opção Personalizar Faixa de Opções e no formulário de opções que segue marque a opção Desenvolvedor.
- Exclua a planilha Filtro e inclua-a novamente, pois quando se aplica o filtro avançado o Excel cria automaticamente campos nomeados que precisamos apagar.
- Copie o cabeçalho da sua lista de dados na planilha Base e cole em A1 na planilha Filtro.
- Na guia Desenvolvedor clique no botão Gravar Macro, este botão irá criar códigos VBA para todas as ações que você fizer até concluir a gravação, permitindo automatizar estas ações.
- Na tela que segue digite no nome da macro lsFiltroAutomatico, ou qualquer outro nome que queira, e selecione Armazenar macro em a opção Esta pasta de trabalho, de modo que a macro seja salva na pasta que está utilizando no momento e clique em Ok. Cuidado para fazer apenas os passos abaixo, pois o gravador de macros está escrevendo o código para automatizar todas as tarefas seguintes.
- Clique na célula A7
- Clique na guia Dados e no grupo Classificar e Filtrar selecione o ícone Avançado.
- Nas configurações do filtro avançado selecione a opção Copiar para outro local, no intervalo da lista selecione Base$A:$F, no intervalo de critérios selecione Filtro!$A$1:$F$2 e no Copiar para digite Filtro!$A$7:$F$7, é importante que seja selecionado neste campo a mesma quantidade de colunas que a base, para que os dados ao filtrar sejam todos trazidos.
- Agora basta clicar o botão OK para que os dados sejam filtrados automaticamente na lista. Veja que foram listados todos os dados automaticamente.
- Clique na guia Desenvolvedor e no botão Parar gravação.
- Clique na guia Desenvolvedor no botão Visual Basic, será aberto o ambiente aonde foi escrito o código. O código escrito deve ser semelhante ao abaixo, veja os detalhes aonde ele aplica o filtro diretamente nas colunas A:F da base. Após isso pode fechar este ambiente e voltar ao Excel.
- No Excel clique na guia Inserir e no botão Formas, selecione a forma de botão ou outra conforme desejar. Eu escolhi no nosso exemplo um formato retangular.
- Clique sobre a imagem desenhada na tela e digite Filtrar ou Filtro automático, como preferir.
- Clique com o botão direito sobre a imagem e selecione a opção Atribuir Macro e selecione a macro criada lsFiltroAutomatico e clique em OK.
- Agora você já pode digitar os filtros e clicar no botão criado que os mesmos serão aplicados automaticamente sem a necessidade de fazer toda a operação de filtro novamente para filtrar dados de uma planilha para outra Excel automaticamente.
Abraço
Marcos Rieper
Curso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo: