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
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.
As macros são especialmente úteis quando você precisa repetir as mesmas ações com frequência. Estes são os usos mais comuns:
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:
2Inicie a gravação
3Realize as ações que você deseja automatizar
Agora o Excel está gravando tudo o que você fizer. Por exemplo:
4Pare a gravação
Há várias formas de executar uma macro já criada:
Se você atribuiu um atalho ao criar a macro (ex: Ctrl+Shift+F), simplesmente pressione-o.
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
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
Sub NomeMacro()
Sub MinhaMacro()
End Sub
' Comentário
' Isto é um comentário
Range("A1")
Range("A1:B10")
Cells(linha, coluna)
Cells(1, 1)
Aqui estão macros prontas para copiar e usar:
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
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
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
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
1Configurar o nível de segurança
Application.ScreenUpdating = False
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.
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.
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 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.
Você deve salvá-lo como .xlsm (Livro do Excel habilitado para macros). Se você salvar como .xlsx normal, as macros serão perdidas.
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.
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á: