Como Gravar Macro no Excel

MR
Marcos Rieper

Especialista em Excel

28 de julho de 2010 Atualizado 08 de julho de 2026 4 min de leitura
Relatório Pronto

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/

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado