Como gravar Macros no Excel – um guia passo a passo

Quer saber como gravar macros no Excel? Então você está no lugar certo!

Mesmo que você seja um iniciante no mundo do Excel VBA, você pode facilmente gravar uma macro e automatizar um pouco do seu trabalho com suas planilhas.

Neste guia, separamos tudo o que você precisa saber para começar a gravar e usar macros no Excel. Portanto, se você tem interesse em aprender VBA, então continue acompanhando este artigo.

 

Como gravar Macros no Excel: Um guia passo a passo

Já está interessado(a) no que vem por aí? Então compartilhe com sua rede de amigos para que mais pessoas possam aprender como gravar macros no Excel:

Facebook

Twitter

Google+

LinkedIn

Afinal, o que é uma Macro?

Antes de aprender como gravar Macros no Excel, é preciso saber o que de fato é uma macro. E se você é um iniciante em VBA, deixe-nos primeiro dizer o que é uma macro – afinal, iremos usar este termo em todo o tutorial e ao longo de outros artigos aqui no site.

Uma macro é um código escrito na linguagem de programação VBA (Visual Basic for Applications) que pode ser usada para eliminar a necessidade de repetir as etapas de tarefas comumente executadas repetidas vezes.

Essas tarefas repetitivas podem ser cálculos complexos que exigem o uso de fórmulas ou podem ser simples tarefas como adicionar formatação de números a novos dados ou aplicar bordas em determinadas células.

Outros exemplos de tarefas repetitivas onde macros podem ser usadas, são:

  • Adicionar ou remover linhas e colunas;
  • Proteger ou desproteger planilhas;
  • Selecionar um intervalo de células;
  • Adicionar a data atual em uma célula, entre outros.



Como funciona uma Macro?

Antes de aprender como gravar Macros no Excel, também é fundamental saber como elas funcionam.

Quando se grava uma macro, o Excel observa atentamente as etapas que você está realizando e anota em uma linguagem que ele entende – que é o VBA. E como o Excel é um bom anotador, ele cria um código muito detalhado (como veremos mais adiante neste tutorial).

Agora, quando você parar a gravação, salvar a macro e executá-la, o Excel simplesmente executará todos os passos que você fez quando gravou a macro. Isso significa que, mesmo que você não saiba nada sobre o VBA, poderá automatizar algumas tarefas apenas permitindo que o Excel registre suas etapas uma vez e as reutilize posteriormente.

Observação: Muitas vezes, você encontrará pessoas (inclusive nós aqui no Excel Easy) se referindo a um código VBA como uma macro – seja gerado usando um gravador de macro ou escrito manualmente.


Habilitando a guia Desenvolvedor

O primeiro passo para gravar uma macro é habilitar a guia Desenvolvedor na faixa de opções.

*Se você já possui a guia Desenvolvedor habilitada na faixa de opções, vá para a próxima etapa, caso contrário, siga os passos abaixo:

  • Acesse a guia Arquivo e escolha Opções.
  • Será aberta uma nova janela. Escolha Personalizar faixa de Opções:Habilitar Guia Desenvolvedor no Excel
  • Na área Guias Principais note que a opção Desenvolvedor estará desabilitada. Selecione esta opção e clique em OK.
  • Pronto! A guia passará a ser mostrada na faixa de opções.

guia desenvolvedor


Como gravar Macros no Excel?

Agora que temos tudo pronto, vamos aprender como gravar Macros no Excel.

Vamos gravar uma macro muito simples – uma que seleciona uma célula e insere o texto ‘Excel’ nela. Iremos usar o texto ‘Excel’ durante a gravação dessa macro, mas sinta-se à vontade para inserir seu nome ou qualquer outro texto que desejar.

Aqui estão os passos para gravar esta macro:

1. Clique na guia Desenvolvedor.
2. No grupo ‘Código’, clique no botão ‘Gravar Macro‘.

Como gravar uma Macro

3. Na caixa de diálogo Gravar Macro, insira um nome para sua macro. Neste exemplo usaremos o nome InserirTexto. Existem algumas condições de nomenclatura que você precisa seguir ao nomear uma macro. Por exemplo, você não pode usar espaços no meio das palavras. Se preferir, use sublinhado para separar duas palavras como, por exemplo Inserir_Texto.

Gravando uma macro

4. (Etapa opcional) Caso prefira, você também pode atribuir um atalho de teclado. Nesse caso, usaremos o atalho CTRL + Shift + N. *Lembre-se de que o atalho atribuído aqui deixará de executar a sua função original, ou seja, em vez disso, toda vez que você usá-lo, ele executará a macro.

Criar atalho para macro

5. Na opção “Armazenar macro em“, verifique se “Esta pasta de trabalho” está selecionada. Esta etapa garante que a macro faça parte da pasta de trabalho. Ela estará lá quando você salvar a sua planilha e reabrir novamente, ou até mesmo se você compartilhá-la com alguém.

6. (Etapa opcional) Digite uma descrição. Geralmente essa etapa não é necessária, mas se você é extremamente organizado, então pode querer adicionar uma breve descrição sobre o que é a Macro.

7. Clique em OK. Assim que você clicar em OK, o Excel começará a registrar suas ações. Você pode ver o botão “Parar gravação” na guia Desenvolvedor, que indica que a gravação da macro está em andamento.

8. Selecione a célula A1.

9. Digite o texto Excel (ou qualquer outro texto desejado).

10. Aperte a tecla Enter. Isso selecionará a célula A2.

11. Clique no botão Parar gravação na guia Desenvolvedor.

Para gravação de macro

Pronto!! Você acabou de gravar sua primeira macro no Excel.

Embora essa macro não faça nada útil, ela servirá para compreender como o gravador de macro funciona no Excel.

Agora vamos testar essa macro.


Executando a macro

Siga as etapas abaixo para testar a macro:

1. Exclua o texto na célula A1. Isso será necessário para testar se a macro insere o texto na célula A1 ou não.

2. Selecione qualquer célula – diferente de A1. Isso será necessário para testar se a macro seleciona a célula A1 ou não.

3. Clique na guia Desenvolvedor.

4. No grupo de código, clique no botão Macros.

5. Na caixa de diálogo Macro, clique no nome da macro criada -(InserirTexto neste caso)

6. Clique no botão Executar.

Executar uma macro

Você notará que, assim que você clicar no botão Executar, o texto ‘Excel’ será inserido na célula A1 e a célula A2 será selecionada.

executando uma macro

Tudo isso pode acontecer em uma fração de segundo, mas, na realidade, a macro seguiu os passos exatos que você mostrou quando fez a gravação. Portanto, a macro primeiro seleciona a célula A1, depois insere o texto Excel nela e seleciona a célula A2.

Nota: Você também pode executar a macro usando o atalho de teclado CTRL + Shift + N. Este é o mesmo atalho de teclado que atribuímos à macro ao gravá-la.


O que a gravação de uma macro faz no back-end?

Agora vamos para o back-end do Excel, ou seja, o Editor VBA – e ver o que realmente faz uma macro.

Aqui estão os passos para abrir o Editor VB no Excel:

1. Acesse a guia Desenvolvedor.

2. No grupo de código, clique no botão Visual Basic.

Visual Basic no Excel

Você também pode usar o atalho de teclado ALT + F11 (segure a tecla ALT e pressione F11), em vez das duas etapas acima. Este comando também abrirá o mesmo editor VBA.

Agora, se você está vendo o Editor VBA pela primeira vez, não fique confuso. Confira a anatomia abaixo para se familiarizar:

Anatomia do Visual Basic no Excel

  • Barra de Menu: Aqui você tem todas as opções do Editor VBA. Considere isso como a faixa de opções do VBA. Ela contém comandos que você pode usar ao trabalhar com o VBA.
  • Barra de Ferramentas – É como a Barra de Ferramentas de Acesso Rápido do Editor VBA. Ela vem com algumas opções úteis e você pode adicionar mais opções a ela.
  • Janela Explorador de Projetos – Aqui é onde o Excel lista todas as pastas de trabalho e todos os objetos em cada pasta de trabalho. Por exemplo, se tivermos uma pasta de trabalho com 3 planilhas, ela será exibida no Explorador de Projetos. Existem alguns objetos adicionais aqui, como módulos, formulários de usuário e módulos de classe.
  • Janela de código – é onde o código do VBA é criado ou gravado. Existe uma janela de código para cada objeto listado no Explorador de Projetos – como planilhas, pastas de trabalho, módulos, etc. Veremos mais adiante neste tutorial que a macro gravada vai para a janela de código de um módulo.
  • Janela Propriedades – Você pode ver as propriedades de cada objeto nesta janela. Geralmente costuma-se usar essa janela para nomear objetos ou alterar as propriedades ocultas. Caso não consiga visualizar esta janela quando abrir o editor do VBA, clique na guia Exibir e selecione Janela ‘Propriedades’.
  • Janela Imediata – Geralmente pouco usada, mas muito útil para testar algumas instruções ou depurar. Essa janela pode não ser visível por padrão e você poderá exibi-la na guia Exibir e selecionando a opção Janela ‘Verificação Imediata’.




Analisando a Macro no VBA

Quando gravamos a macro InserirTexto, o seguinte aconteceu no Editor do VBA:

  • Um novo módulo foi inserido.
  • Uma macro foi gravada com o nome que especificamos – InserirTexto.
  • O código foi escrito na janela de código do módulo.

Portanto, se você clicar duas vezes no módulo (Módulo 1 neste caso), uma janela de código como mostrada abaixo aparecerá.

Módulo de macro

Aqui está o código que o gravador de macro criou:

Sub InserirTexto()
'
' InserirTexto Macro
'
' Atalho do teclado: Ctrl+Shift+N
'
ActiveCell.FormulaR1C1 = "Excel"
Range("A2").Select
End Sub

No VBA, qualquer linha que segue o  (sinal de apóstrofo) não é executada, pois representa um comentário colocado apenas para fins informativos. Se você remover as primeiras cinco linhas desse código, a macro ainda funcionará conforme o esperado.

Agora, vamos rapidamente conferir o que cada linha do código faz:

O código começa com Sub seguido pelo nome da macro e parênteses vazios. Sub é a abreviatura de Subroutine (Sub-rotina). Cada sub-rotina (também chamada Procedure) no VBA começa com Sub e termina com End Sub.

  • Range(“A1”).Select – Esta linha seleciona a célula A1.
  • ActiveCell.FormulaR1C1 = “Excel” – esta linha entra no texto Excel na célula ativa. Desde que selecionamos A1 como o primeiro passo, ela se torna nossa célula ativa.
  • Range(“A2”).Select – Seleciona a célula A2. Isso acontece quando pressionamos a tecla Enter depois de inserir o texto, cujo resultado foi selecionar a célula A2.

Tenha em mente que o código escrito por um gravador de macro não é de forma alguma um código eficiente. O gravador de macro, por vezes, adiciona um monte de códigos desnecessários. Mas isso não significa que não seja útil. Para alguém que está começando a aprender VBA, um gravador de macro pode ser uma ótima maneira de analisar como as coisas funcionam.


O que um gravador de macro não pode fazer

Outro detalhe importante na hora de aprender como gravar Macros no Excel é simplesmente compreender as limitações do gravador de Macros.

O Gravador de macro é excelente em gravar e repetir seus comandos, no entanto, ele pode falhar quando você precisar de algo a mais como, por exemplo:

  • Você não pode executar um código sem selecionar o objeto: Se você quiser que o gravador de macro vá para a próxima planilha e realce todas as células preenchidas na coluna A, sem sair da planilha atual, não será possível fazer isso. Isso porque se você for gravar uma macro para essa tarefa, será impossível fazer isso (sem sair da planilha atual). E se você não puder fazer isso sozinho, como o gravador de macro capturará suas ações? Nesses casos, você precisará criar um código manualmente.
  • Você não pode criar uma função personalizada com um gravador de macro. Com o VBA, você pode criar funções personalizadas que você pode usar na planilha como funções comuns. No entanto, você só pode criá-las escrevendo o código manualmente.
  • Você não pode criar loops com um gravador de macro. Quando você insere o código manualmente, pode aproveitar o poder dos loops no VBA (por exemplo: For Next, For Each Next, Do While, Do until). Mas você não pode fazer isso através do gravador de macros no Excel.
  • Você não pode analisar condições: Você pode verificar as condições dentro do código usando o gravador de macros. Se você escrever um código VBA manualmente, você pode usar as instruções IF Then Else para analisar uma condição e executar um código se verdadeiro (ou outro código, se falso).
  • Você não pode passar argumentos em um procedimento de macro: Quando você grava uma macro, ela nunca terá nenhum argumento. Uma sub-rotina pode receber argumentos de entrada que podem ser usados ​​dentro da macro para executar uma tarefa. Durante a gravação de uma macro, isso não pode ser feito, pois as macros gravadas são independentes e não estão conectadas a nenhuma outra macro existente.



Extensões de arquivo habilitadas para macro

Agora que você já sabe como gravar Macros no Excel, é fundamental que aprenda como salvar suas planilhas de maneira correta.

Quando você grava uma macro ou cria manualmente o código VBA no Excel, é necessário salvar o arquivo com uma extensão de arquivo habilitada para macro (.xlsm).

Antes do Excel 2007, existia um único formato de arquivo que costumava bastar – .xls. Mas a partir de 2007, o .xlsx foi introduzido como a extensão de arquivo padrão. Contudo, os arquivos salvos como .xlsx não podem conter uma macro. Deste modo, se você tiver um arquivo com a extensão .xlsx e criar uma macro e salvá-la, o Excel o avisará para salvá-la no formato habilitado para macro e mostrará uma caixa de diálogo (como mostrado abaixo):

Salvar macro no Excel

Se você selecionar Não, o Excel permite salvá-lo em um formato habilitado para macro. Mas se você clicar em Sim, o Excel removerá automaticamente todo o código da pasta de trabalho e o salvará como uma pasta de trabalho .xlsx.

Portanto, se você tiver uma macro em sua pasta de trabalho, precisará salvá-la no formato .xlsm para manter essa macro.


Diferentes maneiras de executar uma macro no Excel

Se você já aprendeu como gravar Macros no Excel, saiba que existem diferentes maneiras de executá-las em suas planilhas. Até agora, vimos apenas uma maneira de executar uma macro no Excel – que está usando a caixa de diálogo Macro.

Mas há várias maneiras de fazer isso. São elas:

1. Executar uma macro da faixa de opções (guia Desenvolvedor)
2. Usando um atalho de teclado (que você deve atribuir)
3. Atribuir a macro a uma forma
4. Atribuir a macro a um botão
5. Executar uma macro do editor do VB
6. Executar uma macro automaticamente na abertura da planilha.


Conclusão

Se você chegou até aqui, parabéns! Você já sabe como gravar Macros no Excel.

Conforme já mencionado, o gravador de macro é uma ferramenta útil para qualquer usuário que trabalhe com o VBA no Excel.

Ao usar o gravador de macros no Excel algumas vezes, você notará que ele gera muito código desnecessário. No entanto, essa ferramenta ainda é muito útil e oferece uma grande ajuda sobre onde começar. Por exemplo, se você precisa filtrar uma coluna de células usando o VBA e não tiver ideia de como criar o código, então você pode rapidamente gravar uma macro com essas etapas e posteriormente verificar o código.

Esperamos que este artigo tenha te fornecido uma ampla visão sobre o que são e como gravar Macros no Excel para tornar suas tarefas mais eficientes.

Leitura recomendada:

E então, o que achou das dicas a respeito de como gravar Macros no Excel? Deixe o seu comentário abaixo, gostaríamos muito de conhecer a sua opinião! Para conferir mais dicas de Excel, continue acompanhando o Excel Easy!