Macros para Excel com VBA | Aprender21


As macros no Excel são sequências de comandos que automatizam tarefas repetitivas. Você pode gravar uma macro sem programar ou editá-la com VBA (Visual Basic for Applications) para criar automações mais avançadas. Neste guia, você aprenderá passo a passo como criar, editar e executar macros de forma segura.

Atualizado: Dezembro 2025

O que são macros no Excel?

Uma macro no Excel é um conjunto de instruções gravadas que são executadas automaticamente com um único clique ou atalho de teclado. Pense nela como uma "gravação" dos passos que você faz manualmente no Excel.

Por exemplo, se todos os dias você formata um relatório da mesma maneira (ajustar colunas, aplicar cores, adicionar bordas), você pode gravar esses passos uma vez e depois executá-los automaticamente.

💡 Dado chave: As macros são escritas em uma linguagem chamada VBA (Visual Basic for Applications). Você não precisa saber programar para usar macros básicas, mas conhecer VBA permite criar automações mais poderosas.

Macro vs. VBA: Qual é a diferença?

Conceito O que é Nível requerido
Macro gravada Sequência de ações gravadas com o gravador do Excel Iniciante (sem código)
Macro VBA Código escrito manualmente em Visual Basic Intermediário/Avançado
Função personalizada Função criada com VBA que é usada como fórmula Intermediário

Para que servem as macros?

As macros são especialmente úteis quando você precisa repetir as mesmas ações com frequência. Estes são os usos mais comuns:

Casos de uso frequentes de macros no Excel
Tarefa Sem macro Com macro
Formatar relatório mensal 15-20 minutos cada vez 1 clique (segundos)
Consolidar dados de 10 folhas 30+ minutos manual Automático em segundos
Limpar e organizar dados importados Repetitivo e propenso a erros Consistente toda vez
Gerar relatórios com gráficos Criar manualmente Um botão gera tudo
Enviar emails do Excel Copiar/colar um por um Envio em massa automático

Principais vantagens de usar macros

  • Economia de tempo: Tarefas de horas são reduzidas a segundos
  • Redução de erros: Elimina erros humanos em tarefas repetitivas
  • Consistência: O resultado é igual toda vez que é executado
  • Produtividade: Você se concentra na análise, não no trabalho manual
  • Estandarização: Todos na equipe usam o mesmo processo
Infografia passo a passo para criar macros no Excel com VBA
Infografia: Processo para criar macros no Excel

Como gravar sua primeira macro (sem programar)

A forma mais fácil de criar uma macro é usando o Gravador de Macros do Excel. Você não precisa escrever código, o Excel gera automaticamente.

1Ative a guia Desenvolvedor

Se você não vê a guia "Desenvolvedor" no Excel:

  • Vá em Arquivo → Opções → Personalizar faixa de opções
  • Marque a caixa "Desenvolvedor"
  • Clique em Aceitar

2Inicie a gravação

  • Vá na guia Desenvolvedor → Gravar macro
  • Atribua um nome (sem espaços, ex: "FormatarRelatório")
  • Opcionalmente, atribua um atalho de teclado (ex: Ctrl+Shift+F)
  • Escolha onde salvá-la: "Este livro" ou "Livro de macros pessoal"
  • Clique em Aceitar

3Realize as ações que você deseja automatizar

Agora o Excel está gravando tudo o que você fizer. Por exemplo:

  • Selecione um intervalo de células
  • Aplique formato (negrito, cores, bordas)
  • Ajuste a largura das colunas
  • Crie uma fórmula

4Pare a gravação

  • Vá em Desenvolvedor → Parar gravação
  • Ou clique no quadrado pequeno na barra de status (abaixo à esquerda)
💡 Dica: Antes de gravar, planeje os passos. Se você cometer um erro durante a gravação, o erro também será gravado. É melhor praticar primeiro e depois gravar.

Como executar uma macro

Há várias formas de executar uma macro já criada:

Método 1: Pelo menu Macros

  1. Vá em Desenvolvedor → Macros (ou pressione Alt + F8)
  2. Selecione a macro da lista
  3. Clique em Executar

Método 2: Com atalho de teclado

Se você atribuiu um atalho ao criar a macro (ex: Ctrl+Shift+F), simplesmente pressione-o.

Método 3: Com um botão na planilha

  1. Vá em Desenvolvedor → Inserir → Botão (Controle de formulário)
  2. Desenhe o botão na planilha
  3. Selecione a macro a ser atribuída
  4. Agora, com um clique no botão, a macro é executada

Como editar macros em VBA

Para modificar uma macro ou criar uma mais avançada, você precisa acessar o Editor de VBA:

1Abra o Editor de VBA

Pressione Alt + F11 ou vá em Desenvolvedor → Visual Basic

Editor de código VBA no Microsoft Excel
Editor de Visual Basic para Aplicações (VBA) no Excel

2Localize sua macro

No painel esquerdo, expanda seu livro e procure em Módulos. As macros gravadas costumam estar em "Módulo1".

3Edite o código

Você verá algo como isto:

Sub FormatarRelatório()
'
' FormatarRelatório Macro
' Formata o relatório mensal de vendas
'
    Range("A1:E1").Select
    Selection.Font.Bold = True
    Selection.Interior.Color = RGB(102, 126, 234)
    Selection.Font.Color = RGB(255, 255, 255)
    Columns("A:E").AutoFit
End Sub

Estrutura básica de uma macro VBA

Elemento O que faz Exemplo
Sub NomeMacro() Inicia a macro Sub MinhaMacro()
End Sub Finaliza a macro End Sub
' Comentário Texto explicativo (ignorando) ' Isto é um comentário
Range("A1") Referência a uma célula Range("A1:B10")
Cells(linha, coluna) Célula por número Cells(1, 1) = A1

Exemplos de código VBA úteis

Aqui estão macros prontas para copiar e usar:

Exemplo 1: Formatar cabeçalhos automaticamente

Sub FormatarCabeçalhos()
    ' Seleciona a primeira linha com dados
    Range("A1").CurrentRegion.Rows(1).Select
    
    ' Aplica formato
    With Selection
        .Font.Bold = True
        .Font.Size = 12
        .Interior.Color = RGB(102, 126, 234)
        .Font.Color = RGB(255, 255, 255)
        .HorizontalAlignment = xlCenter
    End With
    
    ' Ajusta largura das colunas
    Cells.EntireColumn.AutoFit
End Sub

Exemplo 2: Remover linhas vazias

Sub RemoverLinhasVazias()
    Dim ultimaLinha As Long
    Dim i As Long
    
    ultimaLinha = Cells(Rows.Count, 1).End(xlUp).Row
    
    ' Percorre de baixo para cima
    For i = ultimaLinha To 1 Step -1
        If WorksheetFunction.CountA(Rows(i)) = 0 Then
            Rows(i).Delete
        End If
    Next i
    
    MsgBox "Linhas vazias removidas", vbInformation
End Sub

Exemplo 3: Criar função personalizada (para usar como fórmula)

Function CalcularIVA(monto As Double, Optional taxa As Double = 0.21) As Double
    ' Uso na célula: =CalcularIVA(A1) ou =CalcularIVA(A1, 0.105)
    CalcularIVA = monto * taxa
End Function

Exemplo 4: Salvar cada folha como arquivo separado

Sub ExportarFolhasComoArquivos()
    Dim ws As Worksheet
    Dim caminho As String
    
    caminho = ThisWorkbook.Path & "\"
    
    For Each ws In ThisWorkbook.Worksheets
        ws.Copy
        ActiveWorkbook.SaveAs caminho & ws.Name & ".xlsx"
        ActiveWorkbook.Close False
    Next ws
    
    MsgBox "Folhas exportadas para: " & caminho, vbInformation
End Sub

Segurança: habilitar macros de forma segura

⚠️ Aviso: As macros podem conter código malicioso. Apenas habilite macros de arquivos de fontes confiáveis.

Como habilitar macros no Excel

1Configurar o nível de segurança

  1. Vá em Arquivo → Opções → Centro de confiança
  2. Clique em Configuração do Centro de confiança
  3. Selecione Configuração de macros

Níveis de segurança disponíveis

Opção O que faz Recomendado para
Desabilitar todas Nenhuma macro é executada Máxima segurança
Desabilitar com notificação Pergunta antes de habilitar ✅ Uso geral (recomendado)
Desabilitar exceto assinadas Somente executa macros com assinatura digital Ambientes corporativos
Habilitar todas Executa qualquer macro automaticamente ⚠️ Não recomendado

Boas práticas de segurança

  • ✅ Use "Desabilitar com notificação" como configuração padrão
  • ✅ Apenas habilite macros de arquivos que você criou ou de fontes confiáveis
  • ✅ Salve arquivos com macros no formato .xlsm (não .xlsx)
  • ✅ Revise o código (Alt+F11) antes de habilitar macros desconhecidas
  • ❌ Nunca habilite macros de emails de remetentes desconhecidos

Erros comuns e como evitá-los

Erro Causa Solução
"Não é possível executar a macro" Macros desabilitadas Habilitar no Centro de confiança
"Subíndice fora do intervalo" Referência a folha ou célula inexistente Verificar nomes de folhas/range
"Erro de tipo" Tipo de dado incorreto Verificar se as células têm o formato esperado
A macro não faz nada Você salvou como .xlsx em vez de .xlsm Salvar como "Livro habilitado para macros"
Macro muito lenta Atualizações de tela ativas Adicionar Application.ScreenUpdating = False

Perguntas frequentes sobre macros no Excel

O que é uma macro no Excel?

Uma macro é um conjunto de instruções automatizadas que executam tarefas repetitivas no Excel. Pode ser tão simples quanto formatar células ou tão complexa quanto processar milhares de registros e gerar relatórios automáticos.

Preciso saber programar para usar macros?

Não para macros básicas. O Gravador de Macros do Excel permite que você crie automações sem escrever código. No entanto, aprender VBA permitirá que você crie macros mais poderosas e personalizadas.

Como habilito as macros no Excel?

Vá em Arquivo → Opções → Centro de confiança → Configuração do Centro de confiança → Configuração de macros. Selecione "Desabilitar todas as macros com notificação" para que o Excel pergunte antes de habilitá-las.

As macros são perigosas?

As macros em si não são perigosas, mas podem conter código malicioso se provirem de fontes não confiáveis. Por isso, o Excel as desabilita por padrão. Apenas habilite macros de arquivos que você criou ou de fontes verificadas.

Em que formato devo salvar um arquivo com macros?

Você deve salvá-lo como .xlsm (Livro do Excel habilitado para macros). Se você salvar como .xlsx normal, as macros serão perdidas.

Posso usar macros no Excel Online ou Google Sheets?

O Excel Online tem suporte limitado para macros. O Google Sheets usa uma linguagem diferente chamada Google Apps Script. As macros VBA do Excel de desktop não são compatíveis diretamente.

Aprenda mais: Curso de Macros com VBA

Se você quer dominar as macros e VBA para automatizar seu trabalho no Excel, recomendamos o Curso de Macros para Office - VBA da Aprender21.

Neste curso você aprenderá:

  • Fundamentos de programação VBA desde o zero
  • Criar macros profissionais para Excel, Word e PowerPoint
  • Automatizar relatórios e processos de negócios
  • Boas práticas e depuração de código
  • Projeto final com casos reais de automação

Artigos relacionados





Convidamos você a conhecer o
Curso de Macros para Office - VBA
da Aprender21 certificado pela ITSS e UTN