⚡ Excel com VBA: Curso Completo de Programação em Planilhas (2026)
📌 O que é VBA?
VBA (Visual Basic for Applications) é a linguagem de programação embutida no Excel (e em outros aplicativos do Office). Com ela, você pode:
- Gravar e editar macros para automatizar tarefas repetitivas
- Criar funções personalizadas (UDFs) que não existem no Excel
- Desenvolver formulários interativos com botões, caixas de texto e menus
- Manipular planilhas, células, gráficos programaticamente
- Integrar o Excel com outros aplicativos (Word, Outlook, PowerPoint)
- Construir sistemas completos dentro do Excel
⚙️ PASSO 1: Habilitar a Guia Desenvolvedor
Antes de começar, você precisa ativar a guia "Desenvolvedor" no Excel:
- Vá em Arquivo > Opções
- Selecione Personalizar Faixa de Opções
- Marque a caixa Desenvolvedor
- Clique em OK
Agora você verá a guia "Desenvolvedor" na faixa de opções.
📼 PASSO 2: Gravando a primeira macro
Vamos gravar uma macro simples que formata células:
- Na guia Desenvolvedor, clique em Gravar Macro
- Dê um nome (ex: "FormatarTitulo") e clique OK
- Faça algumas ações: selecione células, aplique negrito, cor de fundo
- Clique em Parar Gravação
✅ Pronto! O Excel gravou todas as suas ações em código VBA.
💻 PASSO 3: Editor VBA (Visual Basic Editor)
Para ver e editar o código da sua macro:
- Pressione Alt + F11 para abrir o Editor VBA
- No painel esquerdo (Project Explorer), encontre seu módulo
- Duplo clique no módulo para ver o código
Exemplo de código gerado:
' FormatarTitulo Macro
Range("A1").Select
Selection.Font.Bold = True
With Selection.Interior
.Color = 65535 ' Amarelo
.Pattern = xlSolid
End With
End Sub
📊 PASSO 4: Variáveis em VBA
Variáveis armazenam dados temporariamente:
Dim nome As String
Dim idade As Integer
Dim salario As Double
Dim dataNasc As Date
nome = "João Silva"
idade = 30
salario = 4567.89
dataNasc = #15/03/1996#
MsgBox "Nome: " & nome & vbCrLf & "Idade: " & idade
End Sub
Principais tipos: String (texto), Integer (inteiro), Long (inteiro grande), Double (decimal), Boolean (Verdadeiro/Falso), Date (data), Variant (qualquer tipo).
🔀 PASSO 5: Estruturas Condicionais (If...Then...Else)
Tome decisões no código com If:
Dim nota As Double
nota = Range("B2").Value
If nota >= 7 Then
MsgBox "Aprovado! Parabéns."
ElseIf nota >= 5 Then
MsgBox "Recuperação. Estude mais!"
Else
MsgBox "Reprovado."
End If
End Sub
Também é possível usar Select Case para múltiplas condições.
🔄 PASSO 6: Loops (For, While)
Repita ações automaticamente:
For...Next (número definido de repetições):
Dim i As Integer
For i = 1 To 10
Cells(i, 1).Value = i ' Preenche A1 até A10
Next i
End Sub
For Each (percorrer objetos):
Dim celula As Range
For Each celula In Range("A1:A10")
If celula.Value > 100 Then celula.Font.Bold = True
Next celula
End Sub
📋 PASSO 7: Formulários (UserForms)
Formulários permitem criar interfaces profissionais:
- No Editor VBA, clique com botão direito > Inserir > UserForm
- Adicione controles: caixas de texto, botões, rótulos (da caixa de ferramentas)
- Programe os eventos (ex: clique do botão)
- Exiba o formulário com:
UserForm1.Show
🧮 PASSO 8: Funções Personalizadas (UDF)
Crie funções que podem ser usadas como fórmulas no Excel:
If vendas > 10000 Then
CalcularComissao = vendas * 0.1
Else
CalcularComissao = vendas * 0.05
End If
End Function
Na planilha, use: =CalcularComissao(A2)
💡 Dicas Ninja (VBA Avançado)
⚡ Desativar atualização de tela
Application.ScreenUpdating = False acelera macros em até 10x.
🔒 Proteger código com senha
No Editor VBA: Ferramentas > Propriedades do Projeto > Proteção.
📁 Trabalhar com arquivos externos
Use Workbooks.Open para abrir outros arquivos.
📧 Enviar e-mail pelo Excel
Integração com Outlook via VBA.
⚠️ Erros comuns em VBA (e soluções)
| Erro | Solução |
|---|---|
| "Erro de compilação: variável não definida" | Use Option Explicit no topo do módulo e declare todas as variáveis. |
| "Erro em tempo de execução '1004'" | Geralmente problema com seleção de intervalo. Verifique se a planilha está ativa. |
| Macro muito lenta | Desative ScreenUpdating e EnableEvents. |
| Macro não funciona em outro computador | Verifique configurações de segurança (Habilitar macros). |
❓ Perguntas Frequentes sobre Excel VBA
📌 Preciso saber programação para aprender VBA?
É recomendável ter lógica básica, mas o VBA é amigável para iniciantes. O curso do Senac ensina desde o zero.
📌 O VBA ainda é útil em 2026?
Sim! Milhares de empresas ainda usam macros VBA diariamente. É uma habilidade muito valorizada.
📌 Qual a diferença entre macro e VBA?
Macro é a ação gravada; VBA é a linguagem por trás. Você pode gravar macros e depois editá-las em VBA.
📧 Newsletter: Dicas de VBA toda semana
Receba macros prontas, tutoriais e novidades do mundo Excel
💬 Depoimentos de alunos
"Fiz o curso de Excel com VBA no Senac e mudei de patamar. Hoje automatizo relatórios que levavam horas."
"Professor excelente, estrutura incrível. Recomendo o curso do Senac para quem quer aprender VBA de verdade."