O que é VBA e como criar macros


Se você já ouviu falar de macros ou VBA, então esta é uma boa oportunidade para aprofundar-se. Se nunca ouviu falar, vale a leitura já que é um recurso essencial para a utilização plena do Microsoft Excel!

Neste post vamos falar basicamente sobre esta ferramenta mas não temos a intenção de ensinar de forma aprofundada sobre todos os recursos possíveis (falaremos sobre futuramente em outros posts).

O que são Macros e VBA?

Dentro das ferramentas da Microsoft podemos utilizar o software Visual Studio para programar em VB (Visual Basic) para desenvolver novos aplicativos independentes, que tem um executável próprio para rodar as suas funções específicas. O VBA (Visual Basic for Applications) é um recurso disponibilizado juntamente com o pacote Office que permite desenvolver programas complementares para auxiliar na realização das tarefas que já existem nas ferramentas como o Excel e o Word, eles requerem, no entanto, a execução em algum programa do Office (não é possível executá-los independentemente).

As Macros são uma referência à estes programas ou linhas de código que executam alguma tarefa dentro da aplicação aberta, sendo possível iniciá-las diretamente através da interface aberta, um botão dentro da planilha de Excel, por exemplo. As Macros são sempre salvas junto com o arquivo onde foram criadas, são específicas para cada um deles.

Alguns exemplos de macro:

  • No Outlook: macro para enviar e-mails automaticamente;
  • No Excel: macro para copiar dados de uma planilha para outra e funções personalizadas;
  • No Word: macro para substituir um texto específico.

Como criar uma macro?

Uma macro pode ser criada acessando diretamente o editor do VBA no programa desejado (Excel, Word, Access etc) pelo atalho ALT+F11 e escrevendo o código desejado (requer conhecimento em programação VB). Outra possibilidade (somente para o Word e Excel) é gravar uma macro, que pode ser acessada pelo botão localizado no canto inferior esquerdo do Word ou do Excel, como indicado na figura abaixo:

macrovba1

Ao gravar uma macro, todas as suas ações (todas as que forem possíveis reconhecer), como clicar em uma célula ou escrever um texto, serão gravadas e transcritas em código dentro de uma rotina. Esta rotina é automaticamente salva e pode ser executado posteriormente.

profile_logoUma maneira muito fácil de se aprender a programar em VB, no Excel, é gravando uma macro e depois visualizando o código transcrito no editor do VBA (ALT+F11). Desta forma, você entende como funciona cada ação traduzido em código e poderá reproduzir (reescrever o código) diretamente no editor.

O editor VBA

O editor VBA é onde é possível criar e editar códigos para cada comando, note as principais ferramentas:

1: O explorador dos objetos existentes dentro do documento. No Excel, por exemplo, cada planilha é exibida e pode armazenar comandos. Aqui é possível inserir um módulo (um anexo para armazenar seus códigos, sem armazenar dentro da planilha), um formulário ou um módulo de classe.

2: Permite executar, pausar ou interromper um código. Dica: Dentro do comando desejado, aperte F8 para executar o comando, linha a linha, step by step.

3: A janela de propriedades permite editar cada atributo do objeto selecionado, seja um módulo, uma planilha, um objeto dentro dela, um formulário etc.

4: Permite avaliar todas as variáveis criadas e acompanhar, passo a passo, qual o valor atribuído à elas. Por exemplo, criamos uma variável chamada “nome_do_carro” que contém o valor “Toyota”. Esta variável irá aparecer nesta janela, quando executar seu comando.

macrovba2

Onde estão os comandos que criei?

Cada macro gravada é automaticamente gravada entre um comando Sub como abaixo. Um Sub é uma rotina que armazena e agrupa cada linha de código, para execução em sequência. Desta forma, quando você executar a macro “Caixa_de_Mensagem” ele irá executar todas as linhas de código dentro do seu Sub, neste caso, irá mostrar uma caixa de mensagem com a frase “Olá Mundo!”.

Outro tipo de macro é a Function. A Function é uma função que tem como objetivo retornar um resultado assim como uma função do Excel. Assim como o Sub, irá executar somente as linhas de código dentro da Function () End Function. Como abaixo, se chamarmos a função “Caixa_de_Mensagem”, receberemos o retorno “Olá Mundo!”. A função pode ser chamada por outra Sub ou diretamente em uma célula do Excel!

Principais benefícios

  • Automatização de uma rotina manual;
  • Redução de tempo de trabalho;
  • Menor ocorrência de erros manuais;
  • Expansão do potencial das ferramentas do Office.

Em minha experiência, descobri que aos poucos é muito possível entender como funciona o VB através da gravação da macro, ajuda do Office e pela internet (assim como este site). A utilização das macros permitiu uma redução de 1 dia de trabalho para alguns minutos, em meu trabalho, e evitando os erros decorrentes de digitação, cálculo ou fórmulas incorretas.

É importante, no entanto, validar sempre seus resultados antes de substituir o processo existente pela automatização: é como implementar um programa/sistema!

Se você gostou compartilhe este artigo clicando nos botões abaixo e participe deixando-nos um comentário!

2,304 total views, 2 views today

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *