Macros do Excel para Iniciantes
O Que as Macros Podem Fazer por Você
Uma macro é essencialmente uma gravação das suas ações no Excel que você pode reproduzir a qualquer momento. Se você se vê repetindo a mesma sequência de operações várias vezes — formatar este relatório, limpar aquela exportação de dados, criar este gráfico — você encontrou um candidato à automação. As macros transformam tarefas repetitivas em operações de um clique, economizando horas toda semana.
Você não precisa ser programador. O Gravador de Macros do Excel captura suas teclas e cliques do mouse, traduzindo-os automaticamente em código VBA (Visual Basic for Applications). Depois de gravada, você executa a macro por meio de um botão, atalho de teclado ou evento da pasta de trabalho.
Passo a Passo: Grave Sua Primeira Macro
Cenário: Toda segunda-feira você recebe um relatório de vendas bruto que precisa da mesma formatação: cabeçalhos em negrito, formato de moeda na coluna de receita, ajuste automático de largura das colunas, congelar linha superior e adicionar uma linha de totais. Automatize isso.
Passo 1 — Habilite a guia Desenvolvedor
- Clique com o botão direito em qualquer lugar da Faixa de Opções > Personalizar a Faixa de Opções.
- No painel direito, marque Desenvolvedor. Clique em OK.
- A guia Desenvolvedor agora aparece na Faixa de Opções — este é o seu centro de controle de macros.
Passo 2 — Planeje e pratique antes de gravar
- O Gravador de Macros captura cada clique e tecla pressionada — incluindo erros. Pratique sua sequência exata primeiro sem gravar.
- Para formatar um relatório, sua sequência pode ser: selecionar tudo (Ctrl+A), cabeçalhos em negrito (Ctrl+B), formatar coluna de receita como moeda (Ctrl+Shift+$), ajustar colunas automaticamente (selecionar tudo > clique duplo na borda da coluna), congelar linha superior (Exibir > Congelar Painéis > Congelar Linha Superior).
- Pratique cada operação. Use atalhos de teclado sempre que possível — eles produzem código VBA mais limpo do que cliques do mouse.
Passo 3 — Grave a macro
- Desenvolvedor > Gravar Macro.
- Nome da macro:
FormatWeeklyReport(sem espaços, descritivo). - Tecla de atalho: Ctrl+Shift+R (sempre use Ctrl+Shift para evitar substituir atalhos internos como Ctrl+C).
- Armazenar macro em: Pasta de Trabalho Pessoal de Macros se for usar em todos os arquivos, ou Esta Pasta de Trabalho se for apenas para este arquivo.
- Descrição: "Cabeçalhos em negrito, receita em formato de moeda, ajuste automático de colunas, congelar linha superior, adicionar totais."
- Clique em OK. A gravação começa — a barra de status mostra um botão de parar.
Passo 4 — Execute cada ação de formatação com cuidado
- Pressione Ctrl+A para selecionar todos os dados.
- Aplique negrito aos cabeçalhos: selecione a linha 1, Ctrl+B.
- Formate a coluna de receita: selecione a coluna C, Ctrl+Shift+$ (formato de moeda).
- Ajuste automático de colunas: pressione Ctrl+A e depois dê um clique duplo em qualquer borda de coluna no cabeçalho.
- Congele a linha superior: Exibir > Congelar Painéis > Congelar Linha Superior.
- Adicione linha de totais: selecione a última linha vazia abaixo dos dados, digite
=SUM(C2:C100), formate como negrito e moeda. - Clique em Desenvolvedor > Parar Gravação (ou clique no botão quadrado de parar na barra de status).
Passo 5 — Teste em uma cópia nova
- Crie uma cópia do relatório bruto da próxima semana (sempre teste macros em cópias primeiro — não há Desfazer para macros).
- Pressione Ctrl+Shift+R (seu atalho atribuído).
- Observe o Excel executar todas as etapas de formatação em menos de um segundo. Sua tarefa semanal de 5 minutos agora é instantânea.
- Se algo der errado: Desenvolvedor > Macros > selecione sua macro > Editar, para visualizar e modificar o código VBA.
Técnicas Principais
Técnica 1 — Use referências relativas para macros flexíveis
Por padrão, as macros gravam referências absolutas de células (sempre selecionam B2). Para macros que devem funcionar a partir de onde seu cursor estiver:
- Desenvolvedor > Usar Referências Relativas (ative antes de gravar).
- Agora, se você "descer 3 células e digitar SOMA", a macro repete esse movimento relativo independentemente da célula inicial — perfeito para macros aplicadas a posições diferentes.
Técnica 2 — Adicione um botão à sua planilha
- Desenvolvedor > Inserir > Botão (Controle de Formulário). Desenhe um retângulo na sua planilha.
- A caixa de diálogo Atribuir Macro aparece — selecione sua macro e clique em OK.
- Clique com o botão direito no botão > Editar Texto para rotulá-lo como "Formatar Relatório."
- Os botões tornam as macros detectáveis para qualquer pessoa que abrir a pasta de trabalho — sem necessidade de lembrar atalhos de teclado.
Erros Comuns
- Gravar ações desnecessárias. O gravador captura rolagem, seleções acidentais de células e alterações de formatação não intencionais. Revise o código gravado (Alt+F11) e remova linhas sem sentido.
- Não desabilitar a atualização de tela. Assistir a macro piscar em cada seleção de célula é lento e distrai. Adicione
Application.ScreenUpdating = Falseno início eApplication.ScreenUpdating = Trueno final para uma melhoria de velocidade de 5 a 10 vezes. - Segurança de macro bloqueando seu trabalho. O Excel bloqueia macros de fontes não confiáveis por padrão. Salve pastas de trabalho habilitadas para macro como .xlsm. Ao compartilhar, diga aos destinatários para Habilitar Conteúdo quando o aviso de segurança aparecer.
- Não há Desfazer disponível. As macros limpam a pilha de Desfazer. Sempre teste em uma cópia dos dados primeiro.
Dicas Avançadas
- Edite o código gravado para eficiência: As macros gravadas usam muito
SelecteActivate(lento). Edite para manipulação direta de objetos: mudeRange("A1").Select: Selection.CopyparaRange("A1").Copy Destination:=Range("B1"). - Eventos da pasta de trabalho para acionamento automático: Use
Workbook_Open()para executar uma macro quando um arquivo for aberto, ouWorksheet_Change()para reagir a edições de células. Isso elimina completamente a execução manual de macros. - Funções personalizadas com VBA: Escreva uma função VBA como
Function Commission(Sales) As Double: Commission = Sales * 0.1: End Function, depois use-a nas planilhas como=Commission(A2). Expanda a biblioteca de fórmulas do Excel com sua lógica de negócios.