Série - Soluções para seu dia-a-dia com o Microsoft Excel - Relatórios no Excel com VBA | Excelmax Soluções e Controles

terça-feira, janeiro 31, 2012

Série - Soluções para seu dia-a-dia com o Microsoft Excel - Relatórios no Excel com VBA

   
    Existem várias maneiras de agilizarmos nosso trabalho com a ajuda do MS Excel. Um dos recursos mais fantásticos é o VBA. Com ele, nós podemos fazer uma infinidade de coisas, com muita velocidade, qualidade tendo assim um excelente resultado.

    Os links mencionados abaixo se referem a postagens que escrevi durante este ano e podem ajudar a você que deseja aprimorar seu conhecimento no VBA (Excel) ou, para quem ainda não conhece, pode aprender e verificar que não é tão difícil como muitas vezes parece.



    A figura abaixo trás um exemplo de uma tabela de dados. Vamos, a partir do VBA, criar algumas macros para extrair algumas informações:

   





1º Exemplo: Vamos extrair apenas pessoas do sexo Feminino.


Para fazer isto, podemos criar uma macro no VBA, conforme a figura abaixo.






















O Resultado da execução desta macro pode ser observado na figura ao lado.

Se desejarmos extrair apenas pessoas do sexo Masculino, alteramos a letra ("F" por "M").

Se desejarmos extrair as pessoas de determinado estado, fazemos duas alterações: alteramos o número da coluna ( visto que as informações referente ao Estado, estão na coluna "D" (4) ).

      If Cells(lin, 4) = "SC" Then

 Neste exemplo, escolhi o Estado de SC (Santa Catarina).




2º Exemplo: Vamos extrair apenas pessoas do sexo Feminino que moram do estado do PR (Paraná).
 Para fazer isto, fazemos uma pequena alteração em uma linha da macro anterior.

        If Cells(lin, 3) = "F" And Cells(lin, 4) = "PR" Then

 Explicação: se a informação na linha atual, coluna 3 (C) for igual a "F" e na coluna 4 (D) for igual a "PR", então os comandos após a linha mencionada serão executados.









3º Exemplo: Vamos extrair apenas pessoas que tenham o nome começando pela letra "D".
Para fazer isto, fazemos uma pequena alteração em uma linha da macro anterior.

         If Mid(Cells(lin, 2), 1, 1) = "D" Then

Explicação: se a primeira letra da informação na linha atual, coluna 2 (B) for igual a "D", então os comandos após a linha mencionada serão executados.

 Obs. A função "Mid" utilizada acima, corresponde a função "Ext.Texto" que utilizamos no Excel.
















Devemos nos lembrar de sempre limpar o relatório antes de extrairmos novas informações.

Podemos notar nos exemplos apresentados que não é difícil criar uma macro para extrair informações de uma base de dados.

Acompanhe o Excelmax Soluções, pois postarei novas postagens referente a este assunto.

Divulguem a seus amigos, pois eles podem estar precisando. Obrigado!

Confira também:
Link para download: VBA - Relatórios

Grande abraço a todos!

Um comentário:

  1. Olá Ivair,

    Como extraio informações através de uma base de dados que já consta em outra planilha (Como parâmetros)?

    No aguardo,

    Att,

    Max

    Brasília-DF

    ResponderExcluir

Seja um participante desta comunidade !
Deixe aqui seu comentário e/ou sugestão.
Obrigado !

Ivair Claudio Ferrari