Bem, agora que já temos a aba de desenvolvedor habilitada no Excel, podemos iniciar a gravação de macros. Não se assuste é extremamente simples.
O Excel oferece duas formas de crias macros para automatizar rotinas. A primeira delas é por meio do gravador de macros representado pelo botão “Gravar Macro” na imagem ao lado. Já a segunda é por meio do VBE, no qual você entra com o código VBA diretamente no módulo de automatização. Calma que eu explico melhor.
GRAVANDO A MACRO
Vamos começar pelo método mais simples que é o Gravador de Macro. Quando você clica no botão “Gravar Macro”, basicamente falando, ele vai registrar em código VBA quase todos os procedimentos que você fizer no Excel, mas antes ele vai abrir uma caixa de diálogo para que você defina algumas informações da macro que será criada. Vamos olhar:
- Nome da macro: você pode colocar o nome que desejar, desde de que não use espaço ou caracteres especiais;
- Tecla de atalho: Sabe quando você clica em Ctrl + c para copiar algo? Aqui a lógica é a mesma. Você define uma tecla de atalho para executar sua macro sem precisar navegar até a aba do desenvolvedor;
- Armazernar macro em : geralmente as macros são salvas na pasta de trabalho ativa;
- Descrição: de forma sucinta, você coloca o que a sua macro faz.
Faça os procedimentos abaixo para analisarmos juntos o código criado na gravação da macro.
-
Na caixa de diálogo do Gravador de Macro que abrir na sequência, imagem acima, clique direto em OK:
-
Quando clicar em OK, o botão “Gravar Macro” vai mudar o texto para “Parar gravação”, mas não clique ainda;
-
-
Selecione a “Planilha1” da sua pasta de trabalho;
- Em seguida, selecione a célula “A1” e digite “Excel Black Belt”;
- Agora clique em “Parar gravação”.
Pronto. Você acabou de gravar a sua primeira Macro que escreve “Excel Black Belt” na célula A1 da planilha de nome “Planilha1”. Ah, mais está muito simples. A ideia é essa mesma, ser simples pelo mesmo agora.
Aí você pergunta: mas como eu executo a Macro para ver o resultado do procedimento? Bem, lá na seção “Código” da aba desenvolvedor tem o botão “Macros”. Clique nele.
A caixa de diálogo “Macro” vai aparecer em seguida:
- Lá no passo 2 da lista anterior, você iniciou a gravação de uma Macro com o nome “Macro1” e é exatamente ela que está aparecendo na lista de macros aí ao lado.
- Antes de clicar em executar a Macro, volte lá célula A1, onde você digitou “Excel Black Belt” e apague o que escreveu ou escreva algo diferente.
- Selecione a macro “Macro1” e clique em “Executar” e veja a mágica acontecer.
Esse procedimento que fizemos para gravar a macro de incluir texto na célula A1 é o mesmo para gravação de macros de filtros automatizados, colocar cor em célula, mudar fonte, dentre outros procedimentos. O que muda é a complexidade do código criado em VBA, o qual iremos examinar agora.
EXAMINANDO A MACRO
Chegou o momento tão esperado. A partir de agora vamos entrar no estudo propriamente do VBA, mas se você é novo na área, provavelmente seja, é importante definirmos alguns conceitos para que possamos conversar na mesma língua.
Então, se liga nessas terminologias que vou te apresentar agora. Quando eu me referir a alguma dessas palavras, volte aqui para esclarecer e continue os estudos.
TERMINOLOGIAS | |
CÓDIGO |
Instruções em VBA que são produzidas quando você grava uma macro ou insere as instruções VBA diretamente no VBE. |
MACRO |
Um conjunto de instruções VBA executadas de forma automática. |
MÓDULO |
O local onde fica registrado o código VBA. |
SUB |
Sequência de instruções (rotina, sub-rotina) que contém o código VBA dentro do módulo que fica associado a um nome próprio. |
FUNCTION |
Assim com o Sub a função é uma sequência de instruções em VBA que retorna apenas um valor e também fica associado a um nome próprio. |
OBJETO |
Um elemento do Excel que pode ser manipulado com VBA. Pasta de trabalho, planilhas, intervalos de células, células, gráficos, tabelas, formas, dentre outros, são tipos de objetos. |
VBE |
Plataforma onde são gerenciados os códigos em VBA. |
DEPURAÇÃO |
Processo que varre linha a linha da sequência de instruções a fim de encontrar e reduzir erros num determinado código. |
Temos outros conceitos, mas iremos explicar mais a frente para não confundir você.
Voltando a macro, quando você gravou os procedimentos, o Excel escreveu o seguinte código em VBA (ou algo parecido dependendo da versão que você está utilizando.):
Sub Macro1()
‘
‘ Macro1 Macro
‘
Sheets(“Planilha1”).Select
Range(“A1”).Select
ActiveCell.FormulaR1C1 = “Excel Black Belt”
End Sub
DICA |
Na linguagem VBA os comentários dentro do código são antecedidos do caractere apóstrofo (‘). Ou seja, essas linhas de código que iniciam com o apóstrofo não serão lidas durante a execução do código. Geralmente se escreve uma informação que explique o código faz. |
Usando, portanto, as linhas de comentários, vamos explicar o que o código faz linha a linha. Vou escrever em itálico para facilitar a distinção entre os comentários que estou incluindo agora e os comentários gerados no próprio código. No VBE não aparece em itálico, mas com a cor verde.
‘ Criação da sequência de instruções (Sub) em VBA com o nome “Macro1” necessárias à execução do código
Sub Macro1()
‘
‘ comentário ao código com a definição do nome da Macro na inserido na Caixa de Diálogo Gravador de Macro
‘ Macro1 Macro
‘
‘ Seleção (Select) do objeto planilha (sheets ou worksheets) com o nome “Planilha1”
Sheets(“Planilha1”).Select
‘ Seleção (Select) do objeto intervalo de célula (range ou cells) no local “A1”
Range(“A1”).Select
‘ Atribuição (=) do valor “Excel Black Belt” para a célula ativa (ActiveCell) usando a notação de estilo R1C1 (FormulaR1C1)
ActiveCell.FormulaR1C1 = “Excel Black Belt”
‘ Fim (End) da sequência de instruções (Sub)
End Sub
Já testamos a Macro anteriormente, mas ainda não editamos ela. Ainda está com a mesma estrutura desde sua criação. Todas as macros podem ser editadas depois da sua gravação. No nosso caso de exemplo vamos alterar a macro para que mude o texto a ser inserido na célula “A1” e mude a peso da fonte para negrito. Só que para você fazer isso vou te apresentar o VBE:
Essa é a casa do VBA. É aqui que ele é criado e faz todos os seus impressionantes feitos. Vamos ter um tópico mais a frente para falar mais do VBE, mas por hora quero que você só se preocupe em acessar o editor, que pode ocorrer de duas formas:
- A primeira e mais rápida é por meio do atalho ALT + F11 quando estiver no Excel;
-
Já a segunda é por meio do botão “Visual Basic” na aba de “Desenvolvedor”.
EDITANDO A MACRO
Uma vez que você acessou o VBE localize o objeto “Módulo1” na lista à esquerda da tela. Nesta estão inseridas as instruções VBA do “Sub Macro1”, conforme tela acima.
Para editar o nome “Excel Black Belt” para outro nome qualquer, basta digitar o novo valor no lugar da informação antiga, desde de que fique entre as aspas duplas, as quais indicam que a informação ali refere-se a um tipo de informação de texto. Então ficaria assim:
COMO ESTÁ: ActiveCell.FormulaR1C1 = “Excel Black Belt”
COMO FICA: ActiveCell.FormulaR1C1 = “Um texto qualquer”
Vamos alterar também o peso da fonte para negrito, lembra? Para isso vamos incluir uma nova linha antes do encerramento da Sub. Então fica assim:
COMO ESTÁ: ActiveCell.FormulaR1C1 = “Um texto qualquer”
COMO FICA: ActiveCell.FormulaR1C1 = “Um texto qualquer”
ActiveCell.Font.Bold = True
E o novo código fica com a seguinte estrutura:
Sub Macro1()
‘
‘ Macro1 Macro
‘
Sheets(“Planilha1”).Select
Range(“A1”).Select
ActiveCell.FormulaR1C1 = “Um texto qualquer”
ActiveCell.Font.Bold = True
End Sub
Para executar a macro você tem 4 alternativas:
- Ir pela Caixa de Diálogo Macros da aba de “Desenvolvedor”;
- Clicando no botão de play que fica na seção superior do VBE;
- Clicando na tecla F5 do teclado que o atalho do botão play; ou
- E por último, e a que eu mais utilizo, clicando em F8 no teclado para executar a macro passo a passo (na seção de depuração vou explicar melhor como ela funciona).
Execute a macro com uma das formas acima e terá um resultado igual a esse na célula A1 da planilha “Planilha1”:
Bem por hoje é isso.
No próximo post vou te mostrar como escrever seu primeiro código diretamente no VBE utilizando VBA.
Se curtiu essa postagem, deixa um Oss aí nos comentários.
Siga nossas redes sociais para ficar antenado nas novidades.