Hunter xFilter – Filtro Personalizado no Excel (baseado em Valores Digitados)

quinta-feira, 8 de dezembro de 2011 13:38:00 Categories: Microsoft Excel
Rate this Content 2 Votes

O Microsoft Office Excel sem dúvidas um dos programas mais utilizados quando a tarefa é apresentação de dados, como tabelas e gráficos.

 

 

Quando os dados são apresentados em forma de tabelas, uma funcionalidade também muito usada são os Filtros, ou seja, limitar os registros da tabela baseado em determinados critérios.

As opções de Filtro do Excel já são boas, mas sempre podemos melhorar um pouco mais, principalmente no quesito de melhorar a experiência, ou interatividade do usuário.

Por exemplo, podemos filtrar as linhas de uma tabela baseado no valor digitado em uma determinada célula!

Mas filtros customizados como no exemplo acima não são acessíveis através da interface do Excel, e precisamos escrever um certo código VBA para o mesmo.

Vamos conhecer hoje uma forma de criar de forma simples esse tipo de ‘Filtro Customizado’.

 

Download

Para baixar os arquivos de exemplo deste tutorial, clique aqui.

Para fazer uma  doação (ou saber mais), e receber TODOS os arquivos do Sistema Hunter,  incluindo códigos fonte, clique aqui.

 

Filtro Customizado no Excel

Para criar um filtro customizado em uma planilha do Excel nós devemos utilizar VBA, e através dele manipulamos as propriedades do Auto Filtro.

Para criar um Auto Filtro no Excel, selecione os dados desejados (1), e em seguida acesse o Menu: ‘Editing’ -> ‘Sort & Filter’ (2)-> ‘Filter’ (3).

 

Clicando nas setas ao lado de cada campo, você tem uma lista de opções com os valores existentes naquela coluna.

 

Como já mencionamos, essa função é muito boa e funcional, e largamente utilizada. Mas não é muito ‘amigável’, ou melhor, podemos melhorar.

Por exemplo, e se quisermos que uma determinada coluna seja filtrada de acordo com um valor digitado, vamos supor, na célula logo acima do cabeçalho do mesmo?

Não tem jeito, precisamos escrever um pequeno código que faça o trabalho para nós, ou seja, que rode o filtro de acordo com o que desejamos.

 

Código VBA Usado

O código VBA para a manipulação do auto filtro é bem simples, e já foi enviado para os usuários doadores, ou seja, aqueles que contribuiram uma vez com o telecomhall.

Se você não é doador, e tem suas próprias macros e códigos, insira um código numa planilha qualquer, por exemplo clicando com o botão direito sobre ela (1) e escolhendo a opção ‘View Code’ (2).

 

Escreva o seu código de manipulação dos seus dados. Não é preciso escrever muita coisa: perceba que no caso do código dessa demonstração (xFilter) utilizamos menos de 50 linhas no total (fora os comentários).

 

Basicamente, você só precisa manipular as propriedades do objeto AutoFiltro, e os parâmetros podem ser obtidos através da Ajuda do Excel para ‘AutoFilter’, inclusive com um exemplo completo de sua utilização.

 

A Aplicação - Hunter xFilter

Para concluir, vamos mostrar a nossa aplicação em ação, ou em outras palavras, o que o nosso filtro customizado faz.

Nota: o filtro (arquivo) de exemplo está no formato ‘XLS’, ou seja formato do Excel 2003, sendo assim compatível com as versões mais novas – 2007 e 2010. Além disso, como de costume, já fornecemos alguns dados de exemplo para que você possa praticar.

Primeiramente, ajustamos a forma como o nosso filtro apresenta os dados. No caso, inserimos uma linha acima da linha de cabeçalho, pintando a mesma de amarela (1). Essa é a linha onde devemos digitar os valores ou critérios para o filtro.

E para ficar um pouco mais interessante, inserimos mais uma linha, escrevendo a fórmula ‘=SUBTOTAL(3,A4:A65536)’ numa das células dessa linha (2), que conterá portanto a informação de quantas linhas estão filtradas.

 

Quando digitamos um valor na linha amarela, acima da linha de cabeçalho, a macro utiliza esse valor e realiza o Auto Filtro para a coluna correspondente!

Por exemplo, digitando ‘Leo’ e teclando ‘Enter’ (1), o AutoFiltro é automaticamente aplicado (2), e temos apenas três valores filtrados (3) - somente para as linhas com ‘Leo’ na coluna ‘Text’.

 

Se digitamos um outro valor, como por exemplo o número ‘35’ na coluna ‘Number’ (1), a macro continua filtrando os dados ainda mais.

 

Selecionando toda a linha amarela (1), e limpando o seu conteúdo – por exemplo pressionando a tecla ‘Delete’ com a linha selecionada – temos a tabela com os dados originais (sem nenhum critério de filtro aplicado).

 

Para concluir, a macro tem uma opção especial de filtrar valores ‘Vazios’, bastando digitar ‘=’ na coluna desejada. E também uma opção para identificar valores ‘Não Vazios’, nesse caso ao digitarmos ‘<>’.

Por exemplo, veja o que acontece quando digitamos ‘=’ (1) logo acima do cabeçalho ‘Number’: o filtro é aplicado, e temos somente a linha (2) de nossa tabela que possui campo ‘Number’ em branco (ou igual a Vazio).

 

Esses foram alguns exemplos práticos de utilização do xFilter Hunter, ou um exemplo de customização de filtro no Excel para os usuários Hunter.

Não é necessário dizer que você pode estender o quanto achar necessário as funcionalidades, basta ir manipulando e alterando as propriedades do Auto Filtro de acordo com os seus valores e critérios – alterando o código VBA de acordo com as suas necessidades.

De qualquer forma, espero que tenha sido útil pelo menos como ponto de partida para quem deseja se aprofundar no assunto.

 

Conclusão

Vimos hoje mais uma boa prática de como utilizar as ferramentas disponíveis a nosso favor.

Utilizando a Metodologia Hunter, de sempre buscar a melhor eficiência em nosso trabalho, construímos um filtro customizado no Microsoft Excel, facilitando a interatividade do usuário com as tradicionais formas de se aplicar filtros e critérios em uma tabela.

 

Agradecemos a visita, e mais uma vez agradecemos àqueles que reconhecem o nosso esforço, e contribuem com a Doação para receber todo o Sistema Hunter.

Lembre-se sempre: o conhecimento que você adquire a cada tutorial pode representar o seu diferencial!