Guia do Excel

Como Gravar Macro no Excel

Como Gravar Macro no Excel.

MR
Marcos Rieper

Especialista em Excel

Atualizado em 08 de julho de 2026 Publicado em 28 de julho de 2010 4 min de leitura

COMO GRAVAR MACRO NO EXCEL

Suponha que você receba um arquivo texto com as informações das vendas diariamente, e tenha que gerar um relatório no Excel com estas informações.

Com a gravação de macros você poderá fazer com que automaticamente todas as ações necessárias para gerar o relatório sejam executadas.

Neste artigo, faremos uma macro para gerar um relatório a partir de um arquivo texto, o que é razoavelmente simples, mas você aprenderá também a abrir o código gravado e fazer pelo menos uma alteração altamente pertinente, para o sucesso da macro.

Gravar a macro:

  • Primeiro baixe o arquivo texto que utilizaremos no exemplo, download.
  • Abra o arquivo texto no Excel, clicando sobre ele e pressionando CTRL+SHIFT+ENTER, o arquivo será aberto linha por linha no Excel, sem abrir o assistente de importação.
Arquivo Texto
Arquivo Texto - Clique para ampliar
  • Agora clique na aba Desenvolvedor e clique no botão Gravar Macro, nesta tela coloque o Nome da Macro: que serve para identificar a mesma, na tecla de atalho digite uma letra de sua preferência.
  • No campo Armazenar Macro em, selecione Pasta de trabalho pessoal de macros, para que fique disponível em qualquer planilha, caso você escolha outra opção esta macro não será global, ficando limitada a planilha.
Gravar Macro
Gravar Macro - Clique para ampliar
  • Clique em OK.
  • A partir deste momento tudo o que estiver sendo feito será gravado pelo Excel, por isso você deve tomar cuidado.
  • Para saber que está sendo gravado note o campo que mudou de Gravar Macro para Parar Gravação na barra.

Formatando o relatório:

  • Clique na coluna A e depois em Dados->Texto para colunas.
  • Na tela que segue, clique em Delimitado, Avançar, marque o delimitador Vírgula, depois no botão Avançar e em seguida Concluir.
Arquivo separado em colunas
Arquivo separado em colunas
  • Formate o cabeçalho como negrito.
  • Na última linha digite Total na célula A12, na célula F12 digite =CONT.VALORES(F2:F11) e na célula G12 digite SOMA(G2:G11).
Relatório Pronto
Relatório Pronto
  • Na guia Desenvolvedor, clique em Parar Gravação.

Analisando o Código VBA e Melhorando:

  • Caso seja a primeira vez que você tenha gravado macros na Pasta de Trabalho Pessoal de Macros, será necessário que você feche o Excel, e quando ele solicitar salvar alterações você clique em Sim.
  • Abra o Excel novamente, clique na aba Desenvolvedor e no botão Visual Basic.
  • Na guia projeto selecione o projeto VBAProject (PERSONAL.XLSB), clique na pasta Módulos e selecione o Módulo1.
  • A parte de código abrirá o conteúdo do Módulo1, localize a Sub Relatorio_Vendas().
  • Localize o código aonde se inicia a gravação dos totais e inclua o código abaixo:
    '<alteração>
    'Cria a variável iTotalLinhas, seleciona a última célula, passa a quantidade de linhas total para + 1
    'para o TotalLinhas
    Dim iTotalLinhas As Integer
    Selection.End(xlDown).Select
    iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row + 1
    '</alteração>
  • O código acima localiza a última célula preenchida, de modo que se a quantidade de registros do arquivo texto mude, a linha Total seja sempre a última.
  • Agora é necessário localizar no código abaixo das linhas incluídas, as células que se remetem á linha 12, pois esta foi a última incluída.
  • Altere o código conforme abaixo:
    '
    'Altera para pegar sempre a última linha
    Range("A" & iTotalLinhas).Select
    ActiveCell.FormulaR1C1 = "Total"
    Range("G" & iTotalLinhas).Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-10]C:R[-1]C)"
    Range("F" & iTotalLinhas).Select
    ActiveCell.FormulaR1C1 = "=COUNTA(R[-10]C:R[-1]C)"
    Range("A" & iTotalLinhas & ":G" & iTotalLinhas).Select
    Range("G" & iTotalLinhas).Activate
    Selection.Font.Bold = True
    Range("G2:G" & iTotalLinhas).Select
    Selection.Style = "Comma"
    Range("A1").Select
    '
  • Este código acima irá variar conforme a forma com que a macro foi gravada.

O resultado final destas alterações é uma macro que irá realizar a abertura dos dados, formatação e totalização automaticamente sempre que as teclas de atalho forem pressionadas, ou a que a macro for acionada manualmente.

Faça o download do código fonte e do arquivo texto para análise e testes.

É isso pessoal, enviem dúvidas e sugestões ao blog.

Rieper

See this post in english: http://think-excel.com/text-import-wizard-excel-macro-separate-text-file-using-excel-macro/

Material gratuito

Planilha de Controle Financeiro no Excel

Tenha um controle bonito e completo do seu financeiro.

  • Categorias e subcategorias já configuradas
  • Planilhas separadas por tabela (configuração, lançamentos, resumo)
  • Personalize com suas próprias categorias e ícones

Baixe grátis — receba o link no seu e-mail

Este conteúdo foi útil?

Continue lendo