terça-feira, 1 de maio de 2012

O Que é Módulo e Como Criá-lo


    Agora que já aprendemos a criar macro diretamente pelo Excel (Gravando Macro pelo Excel), podemos aprofundar um pouco mais o nosso aprendizado. Toda macro nos gera um Módulo e é lá que fica armazenado o nosso código. Mas o que seria um Módulo?

    O Módulo serve para armazenar nosso procedimento (ação) e é caracterizado pelo Sub ou uma função (podemos, por exemplo, criar uma função de SOMA parecida com a do Excel) e é caracterizado pela Function. A diferença entre eles é que Sub executa uma série de comandos, sem retornar nenhum valor e Function retorna um ou mais valores.

    Os Módulos podem ser classificados de 02 formas:
      1 – Módulo padrão: possui procedimentos que podem ser utilizados em qualquer arquivo. Podem ser chamados a partir de outros Módulos.
      2 – Módulo de Classe: possui procedimentos que são executados a partir de uma determinada ação, como por exemplo, ao clicar em um botão. Podem ser chamados a partir de outros Módulos padrão.

    Para criarmos um Módulo, basta abrir o nosso VBA (caso não saiba como, pode ler o post Introdução ao VBA) e ir em Inserir > Módulo.



    Na tela que aparecerá o cursor ficará piscando dentro do nosso VBE para começarmos a escrever o código que queremos, mas isso ficará para o próximo post.

domingo, 22 de abril de 2012

Criando Botões: Imagem e Botão de Comando


     Em nosso post 2 (Gravando Macro pelo Excel), aprendemos 02 formas de gravar macro no Excel:

        1) Gravar diretamente dentro do Excel
        2) Gravar diretamente dentro do VBE (Visual Basic Editor)

     Para reproduzirmos uma macro podemos atribuir um comando de teclado ou definir um botão. Como a última opção é a mais utilizada por todos, estaremos ensinando como atribuir sua macro a ele.

     Existem 02 tipos de botões:
        1) Imagem (pode ser qualquer tipo de imagem)
        2) botão de comando

Imagem:
Para atribuirmos uma macro a uma imagem, basta inserir a imagem no corpo do Excel, clicar com o botão direito do mouse sobre ela e clicar em atribuir macro. Lá teremos uma listagem com todas as macros que o nosso documento possui. Após isso basta escolher qual macro a nossa imagem rodará e clicar em OK.

Imagem 1.1



Imagem 1.2




Botão de Comando:
     Para inserirmos a macro em um botão de comando, devemos executar os passos a seguir (como sempre dividiremos em Office 2003 e 2007 pois cada versão possui sua particularidade):

Excel 2003

1.1


 1.2




Excel 2007

1.1


 1.2


 1.3


     Na imagem 1.2, clicaremos no botão indicado. O ponteiro do mouse mudará de formato possibilitando inserir o botão do tamanho desejado. Após inserirmos o botão abrirá uma tela igual a que aparece quando clicamos com o botão direito sobre a imagem para inserir macro. Podemos escolher a macro que queremos que nosso botão execute e clicar em OK.
     Podemos também deixar o botão selecionado, clicar na guia Desenvolvedor e clicar em exibir código (imagem 1.3). Feito isso, seremos levados diretamente para o código dentro do botão. Podemos criar um novo código ou copiar o que já temos e jogar dentro do botão.

     Não podemos dizer que a melhor forma de chamarmos a macro é utilizando imagem ou botão de comando. O desenvolvedor deve testar as 02 formas e usar a que mais lhe agradar.

domingo, 8 de abril de 2012

Gravando Macro pelo Excel


     Antes de iniciarmos mais um post, sugerimos que leia Introdução ao VBA para compreender melhor as informações que virão a seguir.

     Neste post explicaremos como gravar a macro por dentro da planilha do Excel e visualizar o código gerado no VBE (Visual Basic Editor) antes de introduzirmos os módulos.
     A gravação de macro funciona como uma câmera. Você “filma” toda a ação e sempre que precisar pode executá-la para realizar a ação gravada. Devemos ter atenção nesta etapa porque se clicarmos em algum lugar de forma indevida a gravação sairá com esse erro. Para corrigir esse erro temos 02 formas:
1)    Regravar a ação desde o início
2)    Acessar o VBE e editar o código manualmente

    Para acessarmos o menu de gravação da macro devemos executar os passos abaixo:




Excel 2007



Quadro para gravar macro



Neste quadro podemos inserir o nome da nossa macro, definir um comando de teclado para executá-la e aonde esta macro será armazenada (inicialmente deixaremos a opção “Esta pasta de trabalho”). O ideal é que não seja definido nenhum comando de teclado e seja criado um botão para executar a rotina.
Ao clicar em “Ok” iniciamos a gravação. A partir deste momento qual coisa que fizermos o Excel estará registrando para reproduzir posteriormente.
Como exemplo clicaremos na célula A1 e pintá-la de amarelo. Após isso basta irmos no mesmo caminho para gravar macro e darmos um “stop” na mesma. Vocês devem reparar que o botão que antes era um círculo vermelho agora está com um quadrado azul e ao clicarmos nele nossa gravação será interrompida. Agora sempre que quisermos pintar a célula A1 de amarelo, basta executar esta rotina criada.

Ao abrirmos o nosso VBE encontraremos o código abaixo. Podemos observar que o Excel criará automaticamente alguns comentários que estarão em verdes e eles são importantes para lembrar o que aquele código faz posteriormente. Para inserirmos esses comentários basta inserir um “plic” (aspas simples) antes do texto a ser digitado.


O ideal é criar botão para que a macro rode sem ser necessário abrir o VBE. Podemos inserir 02 tipos de botões:
  1. Podemos inserir qualquer imagem ou símbolo, clicar com o botão direito do mouse sobre ele, clicar em atribuir macro e escolher a macro que queremos na listagem.
  2. Também podemos inserir um botão de comando (esta parte abordaremos posteriormente)

sábado, 17 de março de 2012

Introdução ao VBA


     No Excel podemos criar macros que servem para automatizar a rotina de um determinado projeto. O problema é que dependendo do projeto podemos ficar limitados e para superarmos esse limite podemos utilizar a linguagem de programação VBA (Visual Basic for Applications) encontrado no pacote Office.
     Mas o que é uma linguagem de programação? A linguagem de programação serve para interpretar toda a ação que fizermos e converter para a linguagem de máquina. Essa ação é representada pela lógica de programação que são comandos que executamos na máquina para que ela se torne inteligente. Sem a linguagem e a lógica de programação um computador seria apenas “peso de papel”.
     Ao escrevermos em VBA devemos utilizar uma seqüência lógica das ações. Exemplo: Ao sacarmos dinheiro no caixa eletrônico devemos primeiramente pegar o cartão do banco, ir ao caixa e sacar o dinheiro. Se formos primeiramente ao caixa sem pegar o cartão nossa seqüência está errada e o resultado será não conseguir retirar o dinheiro.

Antes de iniciarmos um projeto em VBA, devemos habilitar a macro. Abaixo seguem as telas do Excel 2003 e 2007:

Excel 2003

1.1

1.2
Excel 2007

1.1

1.2
1.3

 1.4

 1.5


      Para visualizarmos o VBE (Visual Basic Editor - local onde escreveremos nossa lógica de programação) podemos fazer de 03 formas:
- Apertar ALT + F11

 Excel 2003

1.1

Excel 2007

1.1

1.2
1.3


     No VBE teremos 02 áreas principais: uma do lado esquerdo contendo as pastas (sheets) e os módulos (criaremos posteriormente) e outra do lado direito onde será desenvolvida nossa lógica de programação.


No próximo post explicaremos o que é um módulo, como criá-lo e começaremos a escrever nosso código em VBA.