Blog

Postado em em 19 de dezembro de 2022

Códigos VBA: saiba o que são e como utilizar!

Os códigos VBA podem oferecer a ajuda que você precisa para aquele problema clássico ou para simplesmente facilitar a gestão de suas planilhas. O Visual Basic for Applications garante maior praticidade para transformar planilhas em aplicações robustas.

Nesse sentido, é importante aprender mais sobre o assunto e conhecer alguns tipos de códigos no VBA. Com os scripts prontos muito se pode aprender acerca de como eles funcionam para aplicar em sua empresa. 

O que é um código VBA?

Um código no VBA é uma forma de criar aplicações completas para gerenciar as planilhas no Excel. O VBA é uma plataforma complementar ao Excel, com o intuito de adicionar lógica de programação às planilhas.

Dessa forma, é possível garantir maior flexibilidade e a possibilidade de automatizar as funções dentro do espaço do Excel. Isso evita perda de tempo e assegura que aquele arquivo se torne mais útil dentro da proposta dele.

O Visual Basic segue uma sintaxe específica, com algumas regras bem típicas. Assim, é uma programação um pouco diferente de um Python, por exemplo. Uma vez que se conhecem os métodos utilizados e sua importância, os programadores são capazes de reforçar seus arquivos.

Como criar?

Primeiro, é preciso ativar a opção de desenvolvedor no sistema. Vá em “Arquivo”, depois em “Opções Personalizadas”. Então, ative a opção de “Guia do Desenvolvedor“.

Ou você pode optar por clicar em “ALT + F11” ou em “ALT + Fn + F11”. 

Na interface do VBA, é preciso criar um módulo para começar a escrever os códigos.

Os códigos do VBA são sempre iniciados com uma palavra-chave, o “sub”, e finalizados com “end sub”. 

Comece com “sub” e dê um nome a sua rotina para efetivamente começar a desenvolver sua lógica. Logo depois do nome, abra e feche parênteses e comece com o código dentro da indentação. 

O que posso fazer em VBA?

As possibilidades são inúmeras quando falamos em códigos no VBA. Uma delas é simplesmente automatizar ações que seriam manuais. 

Se essas ações seriam manuais, é evidente que ficariam trabalhosas demais caso a planilha crescesse. Então, ficariam insustentáveis. 

Por exemplo, caso você precise concentrar dados de várias abas de uma planilha em uma única. Isso poderia ser feito manualmente, com a função de copiar e colar. Contudo, demandaria bastante tempo e seria um prejuízo para o usuário.

Se a empresa dispõe de um programador VBA em seu time, esse problema pode ser resolvido facilmente.

Ou seja, a ideia é deixar a planilha fácil para outras pessoas, não técnicas, que não dominam o Excel. 

É só criar uma rotina que puxa todos os dados de todas as abas automaticamente, de modo a concentrar tudo. Além disso, você ainda pode disponibilizar um botão para o usuário fazer isso sempre que desejar. 

Outra coisa que pode ser feita é a gravação de macros. Ou seja, em casos muito complexos de manipulação de planilhas, o Excel permite simplesmente gerar o código automaticamente para uma ação que é feita manualmente.

Assim, você pode literalmente executar algo manualmente uma vez apenas para depois automatizar isso de forma eficiente.

Vale citar também que duas estruturas comuns na programação podem ser usadas para reforçar aplicações criadas com VBA: a estrutura de repetição e a estrutura condicional

As estruturas de repetição permitem aplicar ações repetitivas a um conjunto indefinido de dados. Considere, por exemplo, a situação das abas em uma planilha que mencionamos. Para garantir que o código VBA consiga reunir qualquer aba que for adicionada, isso deve ser feito com um laço.

Por sua vez, a estrutura condicional define condições antes que uma ação seja executada. Se X acontecer, então faça Y. Isso é bom porque permite criar uma aplicação preparada para diversas ramificações e cenários distintos. 

5 Exemplos de aplicação de códigos VBA

Vamos a alguns exemplos práticos de códigos VBA. Falaremos sobre a formatação do CPF, do CEP, de um telefone, do CNPJ e do número em moeda. 

Formatação de CPF (Códigos VBA)

Nesse caso, o objetivo é colocar o CPF no formato ideal, com os pontos e o traço. 

TextBox1.MaxLength = 14

     Select Case KeyAscii

          Case 8

          Case 13: SendKeys "{TAB}"

          Case 48 To 57

             If TextBox1.SelStart = 3 Then TextBox1.SelText = "."

             If TextBox1.SelStart = 7 Then TextBox1.SelText = "."

             If TextBox1.SelStart = 11 Then TextBox1.SelText = "-"

          Case Else: KeyAscii = 0

       End Select

Formatação do CEP (Códigos VBA)

Colocar o CEP no formato certo, com o traço. 

TextBox1.MaxLength = 9

   Select Case KeyAscii

        Case 8

        Case 13: SendKeys "{TAB}"

        Case 48 To 57

           If TextBox1.SelStart = 5 Then TextBox1.SelText = "-"

        Case Else: KeyAscii = 0

     End Select

Formatação para Telefone Celular (Códigos VBA)

Aqui, o código vai separar bem o DDD do número.

TextBox1.MaxLength = 15

     Select Case KeyAscii

          Case 8

          Case 13: SendKeys "{TAB}"

          Case 48 To 57

             If TextBox1.SelStart = 0 Then TextBox1.SelText = "("

             If TextBox1.SelStart = 3 Then TextBox1.SelText = ")" & Space(1)

             If TextBox1.SelStart = 10 Then TextBox1.SelText = "-"

          Case Else: KeyAscii = 0

       End Select

Formatação do CNPJ (Códigos VBA)

Para formatar o CNPJ, com o ponto, traço e a barra.

TextBox1.MaxLength = 18

     Select Case KeyAscii

          Case 8

          Case 13: SendKeys "{TAB}"

          Case 48 To 57

             If TextBox1.SelStart = 2 Then TextBox1.SelText = "."

             If TextBox1.SelStart = 6 Then TextBox1.SelText = "."

             If TextBox1.SelStart = 10 Then TextBox1.SelText = "/"

             If TextBox1.SelStart = 15 Then TextBox1.SelText = "-"

          Case Else: KeyAscii = 0

       End Select

Formatação de Número em Moeda

Uma linha apenas é necessária para formatar moedas. 

TextBox1 = Format(TextBox1, “R$#,##0.00”)

Confira já o nosso curso de VBA e saia com o conhecimento necessário para impressionar!

Conclusão

Como foi visto, os códigos do VBA são muito úteis para solucionar problemas no Excel. Permitem automatizar o controle e a validação de dados, de modo que seja muito mais fácil usar a planilha. Assim, é possível desenvolver uma aplicação robusta e completa para o dia a dia.

Quer aprender mais sobre VBA e outros temas de Excel? Acesse o nosso Canal do YouTube para vídeos, dicas e cursos gratuitos!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um minicurso básico gratuito?

Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador