# VBA Excel: Aprenda a programar em VBA

Com o *Visual Basic for Applications* (VBA), você consegue automatizar fluxos de trabalho no Excel. Isso economiza tempo e garante que os dados fiquem sempre atualizados.

## O que é Excel VBA?

VBA (*Visual Basic for Applications*) é uma linguagem de script da Microsoft, disponível para todos os usuários Office, para ser usada em aplicações como o Excel. Desenvolvido na década de 1990 para padronizar diferentes linguagens de macro para aplicações, o VBA, no Excel possibilita a **automatização de fluxos de trabalho recorrentes** e o desenvolvimento de ferramentas práticas para o gerenciar de projetos e ajudar na contabilidade.

Como qualquer outro aplicativo Office, o Excel é composto por diferentes objetos, como planilhas, células e tabelas. Os **métodos e propriedades** desses objetos podem ser controlados manualmente ou, quando necessário, programando em VBA. Ao fazer uso do editor VBA, já integrado na aplicação, você pode gerar ações automatizadas. Isso não é tão complicado quando parece, pois os **blocos de código** individuais já são predefinidos. Sua tarefa é apenas combinar esses blocos de forma que estes resultem em uma **solução personalizada**. Essas soluções, também chamadas de [macros do Excel](https://www.ionos.com/digitalguide/online-marketing/online-sales/excel-macros-the-useful-scripts/ "Macros do Excel: Scripts úteis"), facilitam, entre outras coisas, a organização, a formatação e a importação de dados.

## Como abrir o VBA Excel

Antes de começar a programar em VBA, você precisará acessar o Excel VBA. Para isso, basta que você use a **combinação de teclas \[Alt\] + \[F11\]**. Ela fará com que o editor seja aberto automaticamente.

Alternativamente, use a barra de menu do Excel. Clique no item “Desenvolvedor” e selecione “Visual Basic” para abrir o VBA Excel. Caso “Desenvolvedor” não esteja visível, você pode adicionar essa e outras abas à sua barra de menu por meio de “Arquivo” &gt; “Opções” &gt; “Personalizar Faixa de Opções”. Selecione “Desenvolvedor” em “Guias Principais” e confirme.

[![Imagem: Como adicionar o item “Desenvolvedor” no Excel](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/4/e/csm_ferramentas-desenvolvedor-excel_a8e8e8a3c8.webp "Como adicionar o item “Desenvolvedor” no Excel")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/ferramentas-desenvolvedor-excel.png) Em “Personalizar a Faixa de Opções” &gt; “Gias Principais”, selecione Desenvolvedor.  Nota As instruções aqui mostradas funcionam no Excel das versões Office 2016 e mais recentes, bem como no [Microsoft 365](https://www.ionos.com/digitalguide/e-mail/technical-matters/what-is-microsoft-365/ "O que é Microsoft 365").

## Primeiros passos no VBA Excel

Antes começar a programar no Excel com o Visual Basic, você precisará organizar uma estrutura básica. Somente depois você deverá preencher os módulos de código:

**Passo 1:** Depois de abrir o VBA Excel, clique em “Inserir” &gt; “Módulo” para inserir um novo módulo.

[![Imagem: Como inserir um módulo VBA no Excel](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/e/3/csm_excel-vba-inserir-modulo_67bec8a825.webp "Como inserir um módulo VBA no Excel")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/excel-vba-inserir-modulo.png) Clique em Visual Basic e, em seguida, em “Inserir” e “Módulo”. **Passo 2:** Agora, digite “Option Explicit” e “Option Base 1” no campo de entrada, para que entradas dos tipos de procedimento **Subs** e **Functions** sejam permitidas. Subs são programas que consistem somente em comandos, sem valor de retorno. Valores de retorno, por sua vez, são obtidos com a inserção de Functions, adequadas para cálculos matemáticos. As respostas aos códigos são exibidas em forma de janelas de diálogo.

[![Imagem: Campo de entrada VBA no Excel](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/4/3/csm_campo-entrada-excel-vba_e3864ceb72.webp "Campo de entrada VBA no Excel")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/campo-entrada-excel-vba.png) Digite Option Explicit e Option Base 1 no campo de entrada. ### Como usar variáveis no VBA Excel

No VBA Excel, variáveis desempenham a mesma função que em equações matemáticas. No entanto, elas não servem apenas como *placeholders* para valores, mas também para cadeias de caracteres (strings) e objetos. O uso de variáveis é vantajoso sempre que elementos são referenciados mais de uma vez. Na programação em VBA, você deve declarar variáveis com tipos de dados. Para uma declaração explícita, use a seguinte instrução DIM: **Dim \[Variável\] As \[Tipo de Dado\]**.

Exemplo: **Dim datBegin As Date** sinaliza ao VBA que uma variável com o nome “datBegin” deve ser criada com o tipo de dado “Data”.

A depender do conteúdo da variável, você terá de escolher o **tipo de dado certo** no Excel VBA. Aqui está uma visão geral dos tipos de dados mais utilizados e dos respectivos símbolos de declaração de tipo:

- **Variant**: Pode conter qualquer tipo de dado, como valores numéricos, cadeias de caracteres, valores de tempo e datas. Um Variant é automaticamente atribuído se um tipo de dado não for explicitamente declarado. *Símbolo de declaração de tipo: Não definido*.
- **Integer**: Usado para números inteiros com um valor de -32.768 a 32.767. *Símbolo de declaração de tipo: %()*
- **Long**: Usado para números inteiros no intervalo entre -2.147.483.648 e 2.147.483.647. *Símbolo de declaração de tipo: (&amp;)*
- **Double**: Abrange todos os números de ponto flutuante, aproximadamente de ± 1,79 *10^308.* *Símbolo de declaração de tipo: (#)*
- **Boolean**: Refere-se exclusivamente às variáveis True ou False. *Exibido como: True ou False, ou #TRUE# ou #FALSE#*
- **String**: Refere-se a cadeias de caracteres de comprimento variável ou fixo. *Símbolo de declaração de tipo: (**$**)*
- **Date**: Usado para especificar datas e horários. Horários podem ser indicados de 00:00:00 horas (meia-noite) a 23:59:59.9999999 horas. O formato para a data é **M/D/AAAA** ou **AAAA-MM-DD**.

### Os principais comandos do VBA Excel

#### Instrução Do…Loop

```vba
Do
Comandos
Loop [While/Until] Expressão
```

Com o Do…Loop, você determina a execução de comandos que devem ser repetidos várias vezes até que uma condição específica seja atendida. Com “While”, o loop é repetido até que a expressão seja considerada “False”. Com “Until”, o loop é repetido até que a expressão seja considerada “True”.

#### Instrução For…Next

```vba
For
Variável = [ValorInicial] To [ValorFinal] [Step [Valor]]
Comando
Next Variável
```

Com o For Loop, as instruções são executadas repetidamente, por um número específico de vezes. Ele começa quando a variável atinge o valor inicial e aumenta pelo valor definido em “Step” até que o valor final seja alcançado.

#### Instrução If…Then…Else

```vba
If [Expressão1] Then
Comando1
ElseIf [Expressão2] Then
Comando2
Else
Comando3
End If
```

“If” executa um conjunto de instruções que dependem da veracidade de uma expressão. Se a Expressão1 ,no código acima, for verdadeira, o Comando1 será executado automaticamente. Se não for, a Expressão2 será verificada, para que se descubra se ela está correta. Se estiver, o Comando2 será executado. Caso ambas as expressões não estejam corretas, o Comando3 será ativado.

Dica Para você trabalhar com o Excel da forma mais eficiente possível, além de aprender a programar em VBA, aprenda também os [principais atalhos do Excel](https://www.ionos.com/digitalguide/online-marketing/web-analytics/excel-shortcuts/ "Atalhos do Excel"). Ao fazer uso deles, você economizará bastante tempo.

### Exemplo prático de programação no Excel com VBA

A melhor maneira de se aprender a programar em VBA é pela observação de exemplos práticos. O exemplo a seguir é uma **declaração If…Then…Else** simples:

[![Imagem: Exemplo prático de programação Excel VBA](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/d/c/csm_exemplo-excel-vba_cecd6cad00.webp "Exemplo prático de programação Excel VBA")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/exemplo-excel-vba.png) Planilha Excel apresenta valores de exemplo Com a ajuda de uma macro do Excel, determinados que se estabeleça se o **Candidato 142** passou em um teste que chamamos de A2. Para passar com sucesso, ele deve alcançar pelo menos 60 pontos.

[![Imagem: Função no Excel VBA contém instrução If](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/8/a/csm_excel-vba-funcao-com-if-else_bafa6a7e1a.webp "Função no Excel VBA contém instrução If")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/excel-vba-funcao-com-if-else.png) Escreva o código para o teste If e clique no botão play. O código VBA acima “’If Range(“b2”). Valor &gt;= 60 Then Range(“c2”). Valor = “Sim”” especifica a condição que responderia “Sim” ao problema da célula C2. Ao clicar no botão play e em “Executar” na próxima janela, o código em VBA será executado e a célula C2 será preenchida automaticamente:

[![Imagem: Função do Excel para executar uma macro](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/7/e/csm_executar-vba-macro-excel_e5e9f81037.webp "Função do Excel para executar uma macro")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/executar-vba-macro-excel.png) Execute o teste If na caixa de diálogo “Macro”. [![Imagem: Resposta automática é exibida pela célula C2](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/c/5/csm_excel-vba-preechimento-automatico_3662843173.webp "Resposta automática é exibida pela célula C2")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/excel-vba-preechimento-automatico.png) Depois de executar a macro, você verá a resposta automaticamente na célula C2. Esse é um exemplo muito simples, que tem como objetivo dar aos iniciantes uma primeira impressão sobre o VBA Excel. Você pode encontrar muitos outros exemplos práticos na internet, que lhe ajudarão a programar.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/marketing-online/vender-na-internet/vba-excel/](https://www.ionos.com/pt-br/digitalguide/marketing-online/vender-na-internet/vba-excel/) for AI/LLM consumption.