Pular para o conteúdo principal

VBA Excel: Como começar e tornar seu trabalho mais fácil

Aprenda a usar efetivamente o VBA no Excel para automatizar tarefas, criar macros e aprimorar suas habilidades de processamento de dados com exemplos práticos e práticas recomendadas.
Actualizado 16 de jan. de 2025  · 10 min de leitura

O Visual Basic for Applications (VBA) no Excel é uma linguagem que permite aos usuários automatizar tarefas repetitivas e aprimorar a funcionalidade do Excel muito além de seus recursos padrão. Portanto, quer você seja um iniciante que deseja aumentar a produtividade ou um usuário avançado que deseja simplificar fluxos de trabalho complexos, o VBA está aqui para facilitar as coisas.

Neste guia, explicarei os conceitos básicos e avançados do VBA. No entanto, se você for novo no Excel, comece com o Excel Fundamentals para criar uma base sólida antes de avançar para o VBA.

O que é VBA no Excel?

O Visual Basic for Applications (VBA) é uma linguagem de programação usada para automatizar tarefas e aprimorar a funcionalidade dos aplicativos do Microsoft Office. Você pode usá-lo com o Excel, Word, Access e outros programas do Office, embora provavelmente seja mais usado para criar macros personalizadas no Excel, o que veremos mais adiante.

Pessoalmente, a primeira vez que usei o VBA foi para automatizar um relatório semanal que costumava levar horas para ser compilado manualmente. Com apenas algumas linhas de código, reduzi o processo a um único clique de botão e economizei muitas horas. A partir de então, sei que investir algum tempo para dominá-lo compensaria enormemente em termos de produtividade.

Avance em sua carreira com o Excel

Adquira as habilidades para maximizar o Excel - não é necessário ter experiência.

Comece hoje gratuitamente

Termos importantes do VBA Excel

Antes de trabalhar com o VBA, você deve entender seus principais termos e conceitos. Portanto, aqui está uma lista de alguns dos termos mais usados que você encontrará quando começar a automatizar tarefas e criar soluções personalizadas no Excel.

  • Módulos são os contêineres do código VBA, onde os procedimentos e as funções são armazenados.

  • Objetos são os blocos de construção do VBA. Eles representam elementos como pastas de trabalho, planilhas e células.

  • Procedimentos São os blocos de código que executam tarefas específicas, geralmente categorizados como subprocedimentos ou funções.

  • Declarações São as instruções em um procedimento que informam ao Excel (ou Word ou Access) quais ações você deve executar.

  • Variáveis armazenam dados que podem ser usados e manipulados em seu código.

  • Operadores lógicos comparam valores e tomam decisões com base nos resultados. Eles incluem operadores como And,Or e Not.

Primeiros passos com o VBA no Excel

Para começar a usar o VBA, você precisará acessar o editor do VBA. É aqui que você escreverá e editará seu código VBA. Vamos explicar como você pode chegar lá:

Ativação da guia Desenvolvedor 

A primeira etapa é ativar a guia Desenvolvedor, que geralmente fica oculta na faixa de opções. Para isso:

  • Clique com o botão direito do mouse em qualquer lugar da faixa de opções

Faixa de opções no Excel

Faixa de opções no Excel. Imagem do autor.

  • Selecione a opção Personalizar a faixa de opções... opção.

Personalizando a faixa de opções no Excel

Personalize a faixa de opções para ativar a guia Desenvolvedor. Imagem do autor.

  • Será exibida uma caixa de diálogo. Marque aopção Developer e clique em OK.

Selecionar a opção Desenvolvedor em uma caixa de diálogo e clicar em OK no Excel

Selecionando a opção Desenvolvedor. Imagem do autor.

Agora você pode ver um Desenvolvedor na parte superior da faixa de opções.

Guia Desenvolvedor no Excel

A guia Desenvolvedor está ativada na faixa de opções. Imagem do autor.

Abrir o editor VBA 

Quando a guiaDeveloper estiver ativada, você poderá acessar o editor VBA. Para isso, clique na guia Developer e selecione Visual Basic nas opções. Você também pode usar o atalho de teclado ALT + F11 para abrir o editor VBA diretamente.

Interface do editor VBA no Excel

VBA editor. Imagem do autor.

O editor VBA pode parecer intimidador no início, mas é fácil de usar. Vamos entender algumas de suas principais áreas:

  • Painel de código É onde você escreve e edita seu código VBA.
  • Explorador de projetos mostra uma visualização hierárquica dos projetos e módulos em sua pasta de trabalho.
  • Janela Propriedades exibe as propriedades dos objetos selecionados para que você possa personalizar suas configurações.

Interface do VBA no Excel

Interface VBA no Excel. Imagem do autor.

Como escrever código VBA no Excel

Agora que você já está familiarizado com o editor VBA, é hora de começar a escrever algum código. O código VBA consiste em diferentes partes, como subprocedimentos e funções. Esses são conjuntos de instruções que informam ao Excel o que você deve fazer. Não se preocupe se você nunca programou antes - eu o ensinarei passo a passo. 

Escrevendo uma sub-rotina VBA

Antes de escrever uma macro, você precisa criar um ambiente de macro. Para fazer isso, siga estas etapas:

  • No editor VBA, selecione Inserir > Module. Um novo módulo será criado com o nome padrão, Module1.

Inserir um novo módulo no VBA

Selecione Module (Módulo) na guia Insert (Inserir). Imagem do autor.

  • Você pode alterar o nome do módulo na seção Propriedades você pode alterar o nome do módulo no painel Propriedades.

Renomeie o módulo recém-criado em VBA no Excel

Renomeie o módulo VBA. Imagem do autor.

Agora que você sabe como configurar o ambiente para criar uma macro, vamos criar nossa primeira macro juntos para exibir uma mensagem. Por padrão, a janela de código é aberta quando o módulo é criado. Se isso não funcionar no seu caso, clique com o botão direito do mouse no módulo que você criou e clique em View Code. A janela de código será exibida, onde você poderá escrever suas macros.

Aqui, estou criando uma macro para exibir a mensagem Hello, World!. Para isso, escrevo o seguinte código no painel de código:

Sub ShowMessage()
    MsgBox "Hello, World!"
End Sub 

Aqui:

  • Sub é a palavra-chave para uma sub-rotina, que é um bloco de código que executa uma tarefa específica. No VBA, uma sub-rotina não retorna um valor.

  • ShowMessage é o nome da sub-rotina. Você pode dar o nome que quiser, desde que ele siga as convenções de nomenclatura do VBA (por exemplo, sem espaços, não pode começar com um número).

  • () são usados aqui para definir os parâmetros da sub-rotina. Como não são necessários parâmetros para essa tarefa, os parênteses estão vazios.

  • MsgBox é uma função integrada do VBA que exibe uma caixa de mensagem na tela.

  • End Sub indica o fim da sub-rotina. Tudo entre Sub e End Sub é o código que será executado quando a sub-rotina for chamada.

  • As cadeias de texto no VBA são colocadas entre aspas duplas. Aqui, queremos que a string Hello, World! apareça dentro da caixa de mensagem.

Como escrever uma macro VBA em um painel de código no Excel

Escrevendo uma macro. Imagem do autor.

  • Agora, é hora de executar o código. Use a tecla de atalho F5. Se você quiser fazer isso manualmente, acesse aguia Developer e selecione Macros. Atingir Executar.

Selecione a opção Macros na guia Desenvolvedor e execute a Macro no Excel

Selecione a opção Macros na guia Desenvolvedor. Imagem do autor.

Agora você pode ver a caixa de mensagem aparecer na planilha do Excel.

caixa de mensagem no Excel

Caixa de mensagem. Imagem do autor.

Entendendo os objetos no VBA 

No VBA, os objetos permitem que você controle diferentes elementos no Excel e automatize tarefas para obter fluxos de trabalho mais eficientes. Há três objetos principais: Workbook, Worksheet e Range. Vamos entender cada um deles com um exemplo prático.

O objetoWorkbook é qualquer arquivo do Excel que esteja aberto no momento. Ele nos permite executar ações como adicionar novas planilhas ou salvar as planilhas existentes na pasta de trabalho. Neste exemplo, quero adicionar uma planilha à planilha aberta no momento e, em seguida, salvá-la. No início, eu tinha Sheet1. Para adicionar outra planilha, escrevo o seguinte código:

Sub AddSheetAndSaveWorkbook()
    ' Adds a new worksheet to the active workbook
   ActiveWorkbook.Sheets.Add
    
    ' Saves the workbook
    ActiveWorkbook.Save
End Sub

Esse código funciona exatamente da mesma forma que o código anterior, mas adicionei comentários aqui. Os comentários começam com ' e não afetam seu código. Nós os adicionamos apenas para nossa conveniência e para tornar o código mais claro. 

Você pode ver que outra planilha, Sheet2, foi criada agora.

Adicionar e salvar uma nova planilha na planilha existente usando VBA no Excel

Adicionar e salvar uma nova planilha na planilha existente usando o VBA. Imagem do autor.

O objeto Worksheet representa a planilha ativa no momento no Excel. Com isso, você pode modificar ou manipular a planilha ativa. Por exemplo, quero alterar o nome da planilha ativa. Para isso, insiro o seguinte código:

Sub RenameActiveSheet()
    ' Renames the active sheet to "Sales Report".
    ActiveSheet.Name = "Sales Report"
End Sub

Código para alterar o nome da planilha usando VBA no Excel

Alterar o nome da planilha usando o VBA. Imagem do autor.

Agora, Sheet1 foi renomeado para Sales Report.

Renomear a planilha usando VBA no Excel

Renomear a planilha do Excel usando VBA. Imagem do autor.

O objeto Range refere-se a um grupo específico de células ou a uma única célula que podemos manipular conforme necessário.  No exemplo a seguir, seleciono um intervalo de células de F3 a I3 e altero a cor do plano de fundo. Para isso, escrevo o seguinte código:

Sub FormatRange()
    ' Selects the range from A1 to C6
    Range("F3:I3"). Select
    
    ' Changes the background color of the selected range to Green
    Selection.Interior.Color = RGB(101, 255, 143)
End Sub

Código para alterar a cor do intervalo selecionado usando VBA no Excel

Selecionando o intervalo e alterando a cor usando o VBA. Imagem do autor.

Você pode ver a diferença nos resultados. 

Resultados da alteração da cor do intervalo selecionado usando VBA no Excel

Alterar a cor usando o VBA no Excel. Imagem do autor.

Criação de variáveis no VBA

Como em outras linguagens de programação, as variáveis do VBA armazenam dois tipos de dados principais: números e texto. Para usá-las no VBA, você deve primeiro declarar a variável usando a palavra-chave de acordo com suas preferências, seguida do nome da variável e do tipo de dados.

Keyword variableName As DataType

Aqui: 

  • Keyword Você pode ser Dim, Static, Public, e Private.

  • variableName refere-se ao nome escolhido para essa variável (sem espaços).

  • As é usado para declarar o tipo de variável.

  • DataType refere-se ao tipo de variável, como Integer.

Ao trabalhar com variáveis, você também precisa obedecer a algumas regras:

  • O comprimento deve ser inferior a 255 caracteres.
  • Não são permitidos espaços entre os caracteres.
  • O nome não pode começar com um número.
  • Não use pontos finais no nome.

Tipo de dados numéricos

Os tipos de dados numéricos no VBA são usados para armazenar valores numéricos.

Tipo de dados Armazenado Faixa de valores
Byte 1 byte Armazena números inteiros de 0 a 255
Inteiro 2 bytes Armazena números inteiros no intervalo de -32.768 a 32.767
Long 4 bytes Armazena números inteiros maiores, variando de -2.147.483.648 a 2.147.483.647
Individual 4 bytes Armazena números decimais com precisão única
Duplo 8 bytes Armazena números decimais com precisão dupla
Moeda 8 bytes Armazena números com casas decimais fixas
Variante (texto) Comprimento do texto + 22 bytes 0 a 2 bilhões de caracteres

Tipo de dados não numéricos

Os tipos de dados não numéricos no VBA armazenam valores que não são números.

Tipo de dados Armazenado Faixa de valores
Cadeia de caracteres Comprimento da cadeia de caracteres Armazena texto
Data 8 bytes Armazena data e hora
Booleano 2 bytes Lojas Verdadeiro ou Falso
Variante 16 bytes Armazena qualquer tipo de dados e é usado quando o tipo não é conhecido antecipadamente

Automatização de tarefas com macros VBA do Excel

As macros são essencialmente uma série de instruções criadas no VBA para executar tarefas repetitivas. Usando uma macro, você pode registrar uma série de ações, como formatar células, copiar dados ou realizar cálculos. Depois de salvar a macro, podemos reaplicar essas ações com um único clique. Isso economiza tempo, especialmente quando você trabalha com grandes conjuntos de dados ou tarefas.

Por exemplo, se você costuma formatar seus relatórios da mesma maneira, pode gravar uma macro que aplique todas as etapas de formatação necessárias, em vez de fazer isso manualmente todas as vezes. Posteriormente, você pode executar essa macro para formatar novos dados. Mostramos alguns exemplos básicos, mas imagine que você possa realizar mais ações pequenas com apenas um clique. Mesmo que não tenha experiência em codificação, você pode automatizar as tarefas de rotina para otimizar o fluxo de trabalho e reduzir as chances de erros que podem ocorrer ao executar ações repetitivas manualmente.

Gravação de uma macro do Excel 

Vamos ver como você pode gravar uma macro para fazer algumas alterações de formatação:

  • Vá para a seção Desenvolvedor > você pode gravar Gravar macro e você pode clicar no botão Gravar macro.
  • Será exibida uma caixa de diálogo. Dê um nome à sua macro, como fizem FormatCells.
  • Atribua um atalho de teclado, se desejar. Eu o atribuí a Ctrl+S.
  • Clique em OK para iniciar a gravação.

Agora que a macro começa a gravar, execute as ações que você deseja automatizar. Para este exemplo, estou registrando algumas alterações de formatação em uma tabela simples. Depois de concluí-la, volte para a guia Developer e clique no botãoStop Recording. Abaixo, você pode ver a macro em ação.

Gravação de uma macro usando VBA no Excel. Gif do autor.

Agora, se você tiver outro conjunto de dados em outra planilha e quiser a mesma formatação nesse conjunto de dados também, em vez de formatar tudo novamente, pressione a tecla de atalho que você criou (no meu caso, é Ctrl+S). Caso contrário, acesse sheet2 > guia Desenvolvedor > Macros > Executar para fazer isso manualmente.

Usando a macro do Excel. Gif do autor.

Edição de macros do Excel 

Depois de gravar uma macro, você pode até mesmo ajustar ou personalizar suas ações. Veja como: 

  • Vá para a seção Desenvolvedor e clique em Visual Basics.
  • O editor VBA será exibido. Agora, noProject Explorer do site , procure a pasta de trabalho em que a macro está armazenada .
  • Expanda a pastaModules e, em seguida, clique duas vezes no módulo que contém a macro. A janela de código exibirá o código VBA da macro que você gravou.

Ilustração do código executado ao gravar uma macro no Excel

Código da macro registrada no Excel. Imagem do autor.

Cada linha de código mostra a ação que você executou durante a gravação. A partir daí, você pode modificar o código gravado para personalizar a macro de acordo com sua escolha. No meu caso, defini o endereço Selection.Font.Bold como False para remover a formatação em negrito. Quando as edições estiverem concluídas, salve as alterações clicando no botão Salvar ou pressione Ctrl+Se execute o código para aplicar as alterações. Personalizando a macro em VBA no Excel

Personalização da macro VBA do Excel. Imagem do autor.

Depois de executar a macro, você pode ver os resultados: as colunas anteriormente em negrito não estão mais em negrito. 

Resultados da macro editada manualmente no Excel VBA

Usando uma macro no Excel. Imagem do autor

Escrever macros personalizadas do Excel 

Pode haver algumas tarefas avançadas em que você não pode gravar uma macro. Nesses casos, você precisa escrever uma macro do zero. Por exemplo, quero copiar os dados de uma planilha para outra. Veja como eu escrevo uma macro personalizada:

  • Abra o editor VBA manualmente na primeira planilha ou pressione Alt+F11.
  • Insira um novo módulo.
  • Escreva o código a seguir no painel de código.
Sub CopyData()
Sheets("Sheet1").Range("B1:E21").Copy Destination:=Sheets("Sheet2").Range("B1")
End Sub
  • Salvar a macro e pressione Executar.

Agora, você pode ver que os dados da Sheet1 foram foram copiados para a Planilha2.

Guia passo a passo para você escrever uma macro personalizada em VBA no Excel

Escrever uma macro personalizada usando o VBA. Gif do autor.

Considerações finais 

Desde a automatização de tarefas repetitivas até a criação de macros complexas, o VBA abre um mundo de possibilidades no Excel. À medida que você se sentir mais confortável com os conceitos básicos, pratique a escrita de código e explore gradualmente os recursos mais avançados do VBA. Lembre-se de que o segredo para dominar o VBA - ou qualquer linguagem de programação - é a prática consistente e a disposição para experimentar. Para aprimorar ainda mais suas habilidades, considere explorar esses recursos adicionais. Os cursos Análise de dados no Excel e Aprenda Excel são excelentes para você aprender mais sobre os recursos do Excel. 

Se você quiser expandir seus conhecimentos de codificação para além do VBA, o guia How to Become a Programmer in 2024 oferece um roteiro. Se você tiver interesse na área, dê uma olhada. Além disso, o curso Modelagem Financeira em Excel é perfeito para os interessados em criar modelos financeiros detalhados.

Aprenda os fundamentos do Excel

Adquira habilidades para usar o Excel de forma eficaz - não é necessário ter experiência.

Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Sou um estrategista de conteúdo que adora simplificar tópicos complexos. Ajudei empresas como Splunk, Hackernoon e Tiiny Host a criar conteúdo envolvente e informativo para seus públicos.

Perguntas frequentes sobre VBA no Excel

Qual é a finalidade da instrução Explicit no VBA?

Explícito ajuda a garantir que todas as variáveis sejam declaradas explicitamente antes do uso, reduzindo bugs e tornando seu código mais fácil de manter.

Como faço para proteger meu código VBA com senha?

Você pode proteger seu código VBA acess andoo editor VBA > Ferramentas > VBAProject Properties > guia Proteção. Verifique a opção Bloquear projeto para visualização e defina uma senha.

Qual é a diferença entre ActiveWorkbook e ThisWorkbook no VBA?

ActiveWorkbook refere-se à pasta de trabalho atualmente em foco, que pode não conter o código VBA. Thisworkbook refere-se à pasta de trabalho em que o código VBA reside, independentemente de qual pasta de trabalho esteja ativa.

O que são UserForms no VBA e como eles podem ser usados?

UserForms são caixas de diálogo personalizadas no VBA que permitem que os usuários insiram dados. Eles podem ser usados para criar formulários interativos para entrada de dados, seleção ou interação com o usuário que exija uma interface personalizada.

Temas

Aprenda Excel e VBA com a DataCamp

Certificação disponível

curso

Modelagem financeira no Excel

3 hr
11.4K
Aprenda sobre modelagem financeira no Excel, incluindo fluxo de caixa, análise de cenários, valor temporal e orçamento de capital.
Ver DetalhesRight Arrow
Iniciar curso

programa

Fundamentos do Excel

16 horas hr
Adquira as habilidades essenciais que você precisa para usar o Excel, desde a preparação de dados até a elaboração de fórmulas e a criação de visualizações. Não é necessário ter experiência prévia.
Ver maisRight Arrow
Relacionado

tutorial

As 15 fórmulas básicas do Excel que todos precisam saber

Aprenda a adicionar fórmulas aritméticas, de cadeia de caracteres, de séries temporais e complexas no Microsoft Excel.
Abid Ali Awan's photo

Abid Ali Awan

15 min

tutorial

Tutorial do Python Excel: O guia definitivo

Saiba como ler e importar arquivos do Excel em Python, gravar dados nessas planilhas e encontrar os melhores pacotes para fazer isso.
Natassha Selvaraj's photo

Natassha Selvaraj

30 min

tutorial

Tutorial do Excel Regex: Dominando a correspondência de padrões com expressões regulares

Descubra o poder das Expressões Regulares (RegEx) para correspondência de padrões no Excel. Nosso guia abrangente revela como padronizar dados, extrair palavras-chave e realizar manipulações avançadas de texto.
Chloe Lubin's photo

Chloe Lubin

12 min

tutorial

Tutorial do Power BI para iniciantes

Aprenda os conceitos básicos do Power BI e como criar um relatório básico com este tutorial passo a passo.
DataCamp Team's photo

DataCamp Team

16 min

tutorial

Tutorial de execução de scripts Python no Power BI

Descubra as diferentes maneiras de usar o Python para otimizar a análise, a visualização e a modelagem de dados no Power BI.
Joleen Bothma's photo

Joleen Bothma

9 min

tutorial

Gráficos de colunas agrupadas no Excel: Como criá-los e personalizá-los

Este tutorial discute os gráficos de colunas agrupadas, por que o Excel é bom para criá-los e como criar e personalizar gráficos de colunas agrupadas no Excel.
Elena Kosourova's photo

Elena Kosourova

24 min

Ver maisVer mais