Como Automatizar Planilha com VBA no Excel com EXEMPLOS

Como Automatizar Planilha com VBA no Excel com EXEMPLOS

Como automatizar planilha com VBA (Visual Basic for Applications) no Excel com EXEMPLOS

“Todo mundo neste país deve aprender a programar um computador … porque ele ensina a pensar. “- Steve Jobs

Vou estender as palavras de Steve Jobs e dizer que todos devem aprender a programar um computador!!  De fato, você não precisa estar trabalhando como programador ou escrevendo qualquer tipo de programa, mas te garanto que aprender VBA fará de você uma pessoa melhor.

Neste tutorial, abordaremos os seguintes tópicos:

  • O que é VBA?
  • Por que VBA?
  • Aplicações pessoais e comerciais do VBA no Excel
  • Visual Basic para aplicações de VBA básico
  • Exemplo passo a passo de como automatizar uma calculadora EMI simples no Excel

O que é VBA?

VBA significa Visual Basic for Applications. Antes de entrar em mais detalhes, vejamos o que é a programação de computadores na linguagem de um leigo.

Suponha, que eu tenha uma funcionária que limpe a casa para mim. Se eu quiser que ela limpe a casa e lave a roupa, eu digo a ela o que fazer, digamos que em português, e ela faz o trabalho para mim.

Ao trabalhar com um computador, deseja-se executar determinadas tarefas. Assim como eu disse à empregada para fazer as tarefas domésticas, eu também posso pedir ao computador para fazer as tarefas para mim.

O processo de dizer ao computador o que fazer é o que é conhecido como programação de computadores. Assim como eu usei o português para dizer o que fazer, é possível que eu use instruções semelhantes a língua portuguesa para dizer ao computador o que ele deve fazer.

A diferença, é que no VBA trabalhamos com o Inglês e não com o Português. As frases em inglês se enquadram na categoria de idiomas de alto nível. O VBA é uma linguagem de alto nível que pode ser usada através do Excel para automatizar tarefas rotineiras.

Por que VBA?

  • Porque ele usa afirmações semelhantes ao inglês para escrever instruções;
  • Porque criar a interface do usuário é como usar um programa de pintura. É preciso apenas arrastar, soltar e alinhar os controles da interface gráfica do usuário.
  • Porque possui uma curta curva de aprendizado, ou seja, desde o primeiro dia em que se começa a aprender VBA, é possível começar imediatamente a escrever programas simples.
  • Porque aprimora a funcionalidade do Excel, permitindo que o Excel se comporte da maneira que você deseja.

Aplicações pessoais e comerciais do VBA no Excel

Para uso pessoal, é possível criar macros simples que automatizam a maioria das tarefas rotineiras. Leia o artigo sobre macros aqui para obter mais informações sobre como fazer isso.

Para uso comercial, é comum a criação de programas mais complexos juntamente com o Excel. A vantagem dessa abordagem é que se aproveite dos variados recursos que o Excel oferece em seus programas personalizados.

Noções básicas do VBA – Visual Basic for Applications

Antes da gente escrever qualquer código, é necessário conhecer o básico primeiro.

Os princípios básicos são:

  • Variável – no ensino médio, a gente já aprende sobre álgebra. Por exemplo: encontre o resultado da função (x + 2y) onde x = 1 e y = 3.

Nesta expressão, x e y são variáveis. Elas podem ser atribuídas a qualquer número, ou seja, 1 e 3, como neste exemplo. Elas também podem ser alteradas para se referir aos números 4 e 2, respectivamente.

Todavia, variáveis são locais de memória. Ao trabalhar com o VBA, será necessário declarar variáveis, como nas aulas de álgebra.

  • Regras para criar variáveis

1 – Não use palavras reservadas. Por exemplo, se você trabalha como um aluno, não é permitido usar o professor titular ou o diretor. Esses títulos são reservados aos professores e à autoridade da escola. Palavras reservadas são aquelas que têm um significado especial no VBA e, portanto, não podemos usá-las como nomes de variáveis.

2 – Os nomes de variáveis ​​não podem conter espaços. Sendo assim, não podemos definir uma variável denominada como “primeiro número”, por exemplo. Neste caso podemos usar: primeiroNumero ou primeiro_numero, como sugestão.

3 – Use nomes descritivos. É muito tentador nomearmos uma variável depois da gente  mesmo, mas devemos evitar isso.  Sugiro usar nomes descritivos, como quantidade, preço, subtotal, etc., para facilitar a leitura do código VBA.

  • Operadores aritméticos

 As regras matemáticas de básicas de divisão, multiplicação, adição e subtração se aplicam no VBA. Lembre-se de aplicá-las ao trabalhar com expressões que usam vários operadores aritméticos diferentes. Assim como no Excel, você pode usar:

(+) para adição
(-)  para subtração
(*) para multiplicação
(/) por divisão.

  • Operadores lógicos

O conceito de operadores lógicos abordado nos tutoriais anteriores também se aplica ao trabalhar com o VBA. Esses incluem:

1 – SE
2 – OU
3 – NÃO
4 – E
5 – VERDADE
6 – FALSO

Ativar opção Desenvolvedor

  • Crie uma nova pasta de trabalho;
  • Clique em Arquivo e selecione Opções;
  • Clique em Personalizar Faixa de Opções;
  • Marque a caixa de seleção do desenvolvedor, como mostra a imagem abaixo;
  • Clique em OK.

Agora a guia DESENVOLVEDOR estará na faixa de opções no Excel.

“Hello world” VBA

Vamos agora, aprender como programar no VBA. A princípio, todo programa no VBA deve começar com “Sub” e terminar com “End sub”. No exemplo abaixo, o” name” é o nome que você deseja atribuir ao seu programa. Enquanto sub representa uma sub-rotina que aprenderemos na parte posterior desse tutorial.

Vamos criar um programa VBA básico que exibe uma caixa de entrada para solicitar o nome do usuário e exibir uma mensagem inicial.

Eventualmente, este tutorial pressupõe que você já tenha concluido a leitura do tutorial anterior, sobre macros no Excel, e já tenha ativado a guia DESENVOLVEDOR no Excel.

  • Crie uma nova planilha;
  • Salve-a em um formato de planilha habilitado para macro do Excel;
  • Clique na guia DESENVOLVEDOR;
  • Clique na caixa suspensa INSERIR sob a barra de opções;
  • Selecione um botão de comando, como mostra a imagem abaixo:

Desenhe o botão de comando em qualquer lugar da planilha

Note que , neste momento vai subir uma janela de diálogo semelhante a esta:

  • Renomeie o nome da macro para BotãoHelloWorld_Clique;
  • Clique em: Novo;

Surgirá a seguinte janela de código:

Digite os seguintes códigos:

 

Não se assuste! Cada um desses códigos significa:

  • Dim name as String” : cria uma variável chamada name. Neste caso, podemos declarar essa variável  como um texto ou caracteres numéricos, porque a definimos como uma String.
  • name = InputBox (” Digite seu nome “)“: chama a função interna InputBox que exibe uma janela com a legenda: Digite seu nome. O nome digitado é então armazenado na variável name.
  • MsgBox” Olá “+ name“: chama a função interna MsgBox que exibe a palavra: Olá, e o nome digitado.

A janela de código completa deve ter a seguinte aparência:

  • Feche a janela de código acima;
  • Clique com o botão direito do mouse no botão 1 e selecione editar texto;
  • Digite: Se apresente!

  • Clique em: Se apresente!
  • Será apresentada a seguinte caixa de entrada:

  • Digite seu nome: por exemplo, Érica;
  • A caixa de mensagem a seguir será aberta:

 

Parabéns, você acaba de criar seu primeiro programa VBA no Excel!!

Como criar uma calculadora EMI simples no Excel – Exemplo passo a passo

Neste exemplo, vou mostrar como criar um modelo de programa simples que calcula o EMI. A calculadora EMI é uma ferramenta que realiza cálculo de empréstimos simples, ou seja, calcula as prestações mensais equiparadas. Em outras palavras, refere-se ao valor mensal que uma pessoa paga quando recebe um empréstimo. A imagem a seguir mostra a fórmula para calcular o EMI.

Onde:
  • P= Montante do empréstimo principal;
  • r = Taxa de juros anual;
  • n = Número de parcelas mensais.

A fórmula acima é complexa e pode ser escrita em Excel. A boa notícia é que, o Excel já resolveu o problema acima. Você pode usar a função PMT para calcular a fórmula apresentada.

A função PMT funciona da seguinte maneira:

=PMT (taxa; nper; vp)

Sendo que:

  • taxa: é a taxa mensal, ou seja, é a taxa de juros dividida pelo número de pagamentos por ano;
  • nper: é o número total de pagamentos. É o prazo do empréstimo multiplicado pelo número de pagamentos por ano;
  • vp: refere-se ao valor atual.  É o valor real do empréstimo.

Crie um layout no Excel, como mostrado abaixo:

 

  • Adicione um botão de comando entre as linhas 7 e 8;
  • Atribua o nome da macro do botão para:  BotãoCalculadoraEMI_Clique( );
  • Clique no botão Editar;
  • Digite o seguinte código:

Onde:

  • Dim taxa_mensal as String “: a expressão Dim é a palavra-chave usada para definir variáveis no VBA, taxa_mensal é o nome da variável, String é o tipo de dados que significa que a variável aceitará o número.
  • taxa_mensal = Range (” B6 “). Value / Range (” B5 “). Value“: a expressão Range é a função usada para acessar células do Excel a partir do VBA. O Value usado neste código faz referência ao valor da célula mencionada.
  • WorksheetFunction.Pmt“: é a função usada para acessar todas as funções no Excel

A imagem a seguir mostra o código completo no VBA:

  • Clique em salvar e feche a janela de código;
  • Teste seu programa como mostra a imagem animada abaixo

Exemplo 2

Etapa 1: Na guia Desenvolvedor no menu principal, clique no ícone “Visual Basic” para abrir o seu editor VBA.
Etapa 2: Note que uma janela será aberta para edição do VBA. Nesta etapa é possível selecionar a planilha do Excel em que se deseja executar o código. Para abrir o editor VBA, clique duas vezes na planilha.
Será aberto um editor de VBA ao lado direito da pasta. Note que o espaço para a devida alteração estará todo branco.

Etapa 3: Nesta etapa, será apresentado nosso primeiro programa em VBA. Para ler e exibir o programa, é preciso de um objeto. No VBA, esse objeto é uma caixa de mensagem chamada: MsgBox.

  • Primeiro, escreva Sub e depois o nome do programa. No caso,  “Engenheira_do_Excel_Aula1”.
  • Escreva qualquer coisa que você queira exibir na caixa de mensagem MsgBox. Exemplo: Aulas de Excel e VBA no blog! Acesse: www.engenheiradoexcel.com.br
  • Finalize o programa com End Sub.

Etapa 4: Na próxima etapa, deve ser executado o código acima clicando no botão verde, na parte superior do menu do editor.

Etapa 5: Quando se executa o código, outra janela aparece. Aqui devemos selecionar a planilha onde deseja-se exibir o programa e clicar no botão “Executar”

Etapa 6: Ao clicar no botão Executar, o programa será executado. Ele exibirá a mensagem em MsgBox.

Parabéns, concluimos hoje mais um conteudo importante de VBA !

Conclusão

Neste artigo vimos como criar um VBA com alguns exemplos.

Recomendo fortemente que você tome coragem de repetir todo o passo-a-passo. Eu penso que praticar é a melhor maneira de aprender e, embora pareça simples, é preciso se acostumar a navegar entre as telas para que no futuro você possa se tornar um usuário avançado.

O site deste pessoal aqui foi referência para este artigo. O site é muitoooo bacana com várias dicas legais de programação, mas infelizmente o conteúdo está em inglês, o que não deixa de ser uma boa referência para quem conseguir acompanhar. Eu recomendo.

Portanto, continue lendo mais sobre VBA aqui.