VBA (Visual Basic for Applications) é a linguagem de programação embutida no Excel que permite automatizar qualquer coisa que você faz manualmente. E o melhor ponto de partida não é escrever código — é gravar uma macro e ler o que o Excel escreveu.

Habilitando a guia Desenvolvedor

A guia Desenvolvedor está oculta por padrão. Para ativá-la: Arquivo → Opções → Personalizar Faixa de Opções → marque "Desenvolvedor". Confirme e a guia aparece.

Gravando sua primeira macro

  1. Vá em Desenvolvedor → Gravar Macro.
  2. Dê um nome (sem espaços), um atalho opcional e escolha onde salvar (esta pasta de trabalho ou pasta pessoal de macros).
  3. Clique em OK. A gravação começa.
  4. Execute as ações que quer automatizar — formatação, filtros, copiar/colar, qualquer coisa.
  5. Clique em Parar Gravação.

Lendo e entendendo o código gravado

Após gravar, vá em Desenvolvedor → Visual Basic (ou Alt+F11). No painel esquerdo, expanda "Módulos" e dê duplo-clique no módulo criado. Você verá o código VBA gerado.

Exemplo típico de uma macro de formatação:

Sub FormataRelatório()
    Range("A1:E1").Select
    Selection.Font.Bold = True
    Selection.Interior.Color = RGB(26, 58, 110)
    Selection.Font.Color = RGB(255, 255, 255)
End Sub

O código é legível: Range("A1:E1") seleciona o intervalo, .Font.Bold = True aplica negrito, .Interior.Color define a cor de fundo.

Executando uma macro

Editando o código: os ajustes mais úteis

Remover o .Select desnecessário

O gravador gera muito .Select + Selection.. Você pode simplificar diretamente:

' Em vez de:
Range("A1:E1").Select
Selection.Font.Bold = True

' Escreva:
Range("A1:E1").Font.Bold = True

Usar variáveis para tornar a macro dinâmica

Dim UltimaLinha As Long
UltimaLinha = Cells(Rows.Count, "A").End(xlUp).Row
Range("A2:A" & UltimaLinha).Font.Bold = True

Agora a macro aplica negrito até a última linha preenchida — sem precisar codificar um número fixo.

Perguntas frequentes

Arquivos com macros precisam ser salvos em formato diferente?

Sim. Salve como .xlsm (Pasta de Trabalho Habilitada para Macro). O formato .xlsx não suporta macros e o Excel as remove ao salvar nesse formato.

Macros são perigosas? Devo habilitar macros de arquivos de terceiros?

Macros de fontes desconhecidas podem ser maliciosas. Nunca habilite macros em arquivos que você não criou ou não veio de uma fonte confiável. O Excel desabilita macros por padrão exatamente por isso.