Você está na página 1de 15

USO DE MACROS NO EXCEL

1. Introduo
Existem situaes onde no conseguimos resolver um problema proposto, simplesmente
utilizando os comandos e frmulas do Excel. Nessas situaes temos que fazer o uso de
recursos como Macros e rogramao. ! linguagem de programao do Excel " o #$!
% #isual $asic for !pplications. & #$! " a linguagem de programao para todos os
aplicativos do Microsoft &ffice' (ord, Excel, !ccess e o)er oint.
#eremos a seguir o que " uma Macro, para que serve, quando devemos usar Macros,
como criar e alterar Macros. Em seguida aprenderemos os fundamentos b*sicos da
linguagem #$!.
#eremos os conceitos tericos da linguagem #$!, exemplos de aplicao do #$! para
a soluo de problemas pr*ticos, os quais no poderiam ser solucionados sem o uso de
programao.
O que so Macros?
+aso voc, execute uma tarefa v*rias vezes no Microsoft Excel, " poss-vel automatiz*%la
com uma macro. .ma macro " uma seq/,ncia de comandos e funes armazenados em
um mdulo do #isual $asic for !pplications % #$! e pode ser executada sempre que
voc, precisar executar a tarefa. 0uando voc, grava uma macro, o Excel armazena
informaes sobre cada etapa realizada 1 medida que voc, executa uma seq/,ncia de
comandos. Em seguida, voc, executa a macro para repetir, ou 2reproduzir2, os
comandos.
or exemplo, vamos supor que, seguidamente, voc, precisa formatar uma c"lula com
Negrito, cor de fonte #ermel3a, 4t*lico, 5onte #erdana de 6aman3o 78 com quebra
autom*tica de lin3a. !o inv"s de ter que executar todos os comandos de formatao em
cada c"lula, voc, pode criar uma Macro que aplica todos os comandos de formatao.
!ps criada a Macro, cada vez que voc, tiver que aplicar o con9unto de comandos de
formatao, basta executar a Macro, o que normalmente " feito atrav"s da associao de
uma combinao de teclas com a Macro, como por exemplo +trl:;. No nosso exemplo,
cada vez que voc, quiser formatar uma c"lula com os formatos descritos, basta clicar na
c"lula e pressionar +trl:;. $em mais f*cil do que aplicar cada comando
individualmente.
Voc !ode "ra#ar u$a $acro !ara rea%&'ar u$a tare(a e$ u$a eta!a
!ntes de gravar uma macro, plane9e as etapas e os comandos que voc, dese9a que a
macro execute. <e cometer um erro durante a gravao da macro, as correes feitas
tamb"m so gravadas. !o gravar macros, o #$! armazena cada macro em um novo
mdulo anexado a uma pasta de trabal3o.
or exemplo, se voc, insere com freq/,ncia seq/,ncias de caracteres de texto extensas
nas c"lulas, voc, pode gravar uma macro para formatar essas c"lulas de maneira que o
texto retorne automaticamente. <elecione a c"lula em que dese9a inserir o retorno
autom*tico de texto e inicie a gravao. +lique em +"lulas no menu 5ormatar, clique na
guia !lin3amento, marque a caixa de seleo =etorno autom*tico de texto, clique em
&> e, em seguida, clique em arar gravao .
Co$o )ornar u$a $acro (*c&% de ser e+ecutada
#oc, pode executar uma macro escol3endo%a de uma lista na caixa de di*logo Macro.
ara que uma macro se9a executada sempre que voc, clicar em um boto espec-fico ou
pressionar determinada combinao de teclas, voc, pode atribuir a macro a um boto da
barra de ferramentas, um atal3o no teclado ou um ob9eto gr*fico em uma planil3a.
Co$o E+&,&r e a%terar $acros
?epois de gravar uma macro, voc, poder* exibir o cdigo da macro com o Editor do
#$! para corrigir erros ou alterar a funo da macro. & Editor do #$! " um programa
criado para facilitar a escrita e a edio de cdigo de macro para principiantes e fornece
bastante !9uda on%line. #oc, no precisa aprender a programar ou a usar a linguagem do
#isual $asic para fazer alteraes simples nas suas macros.
Na 5igura a seguir temos um exemplo de cdigo associado com uma Macro. Esse " um
exemplo de cdigo #$!'
Co$o "erenc&ar $acros co$ o Ed&tor do V-A
#oc, pode editar macros, copiar macros de um mdulo para outro, copiar macros entre
pastas de trabal3o diferentes, renomear os mdulos que armazenam as macros ou
renomear as macros. or exemplo, se voc, quiser que a macro de retorno autom*tico de
texto, do exemplo anterior, tamb"m deixe o texto em negrito, voc, poder* gravar outra
macro para aplicar negrito a uma c"lula e copiar as instrues dessa macro para a macro
de retorno autom*tico de texto.
Se.urana da $acro/ & Microsoft Excel fornece proteo contra v-rus que podem ser
transmitidos atrav"s das macros. <e voc, compartil3a macros com outros usu*rios, voc,
pode certific*%las com uma assinatura digital de forma que os outros usu*rios possam
verificar que as macros so de origem confi*vel. <empre que voc, abrir uma pasta de
trabal3o que conten3a macros, poder* verificar a origem das macros antes de ativ*%las.
0ro.ra$ao no E+ce% 1 A %&n.ua.e$ V-A
!s Macros so uma excelente soluo quando queremos automatizar uma tarefa que "
realizada atrav"s de uma s"rie de cliques de mouse ou digitaes no teclado. or"m
existem situaes mais complexas, que envolvem c*lculos ou uma lgica mais apurada,
onde no " poss-vel encontrar a soluo do problema, simplesmente usando os
comandos ou frmulas prontas do Excel.
Nessas situaes temos que fazer uso de programao. .m programa @ou mdulo como
" c3amado no ExcelA " uma seq/,ncia de comandos #$!, onde cada comando executa
um passo espec-fico, necess*rio 1 resoluo do problema.
Nota/ ara um mel3or aproveitamento e entendimento do #$! " importante que o
leitor 9* ten3a uma noo b*sica de ;gica de rogramao. #oc, encontra um
excelente curso de ;gica de rogramao no seguinte endereo' ))).)ebaula.com.br
. & curso " gratuito, " necess*rio apenas fazer um cadastro no site, cadastro esse que
tamb"m " gratuito.
or exemplo, vamos supor que voc, precise fazer a verificao do +5 que " digitado
em uma c"lula. & c*lculo do ?# do +5, o qual " de dom-nio pBblico, envolve uma
s"rie de operaes aritm"ticas. ara implementar uma funo que faz a verificao do
?# do +5, voc, ter* que fazer uso de programao.
2. O que so Macros?
+onforme descrito anteriormente, uma macro " uma seq/,ncia de comandos @cliques de
mouse ou toques de tecladoA que so gravados em um Mdulo #$! e podem ser
executados, sempre que necess*rio. ! grande vantagem de gravarmos uma seq/,ncia de
comandos " que poderemos utiliz*%la sempre que necess*rio. ara isso basta executar a
macro na qual foi gravada a seq/,ncia de comandos.
!s Macros so uma excelente opo para automatizar tarefas repetitivas. +om o uso de
Macros temos um gan3o de produtividade consider*vel, ao evitar que ten3amos que
executar manualmente, os diversos passos de uma tarefa, passos estes que podem ser
automatizados atrav"s do uso de uma macro.
Existem duas maneiras distintas para a criao de uma macro'
0ode$os usar o .ra#ador de Macros/ Nesse caso o Excel grava cada uma das
aes que faro parte da Macro e transforma essas aes nos comandos #$!
equivalentes. 0uando a macro for executada, os comandos #$! " que sero
efetivamente executados. +ada comando #$! corresponde a uma ao efetiva
da macro.
Cr&ar a Macro usando V-A/ ! partir do momento em que voc, domina a
linguagem #$!, poder* criar a macro digitando os comandos #$! necess*rios.
4sso " feito usando o Editor de #$!.
Me%3or do que de(&n&4es 5 a !r*t&ca66
Mel3or do que uma s"rie de definies " ver uma Macro em ao. #amos a um exemplo
simples, onde criaremos uma Macro. Em seguida vamos execut*%la .
E+e$!%o 1/ +riar uma macro usando o Cravador de Macros. ! macro dever* formatar a
c"lula atual com Negrito, cor de fonte #ermel3a, com fundo cinza. Cravar a macro com
o nome de 5ormata#erm+inza.
7. !bra o Excel.
D. !bra a lanil3a ExercicioE7.xls.
8. +lique na c"lula !F.
F. !gora vamos iniciar a gravao da Macro.
G. <elecione o comando 5erramentas %H Macro %H Cravar nova macro.
I. <er* exibida a 9anela Cravar Macro.
J. No campo Nome da macro digite' 5ormata#erm+inza.
K. No campo 6ecla de atal3o digite ;. &bserve que o Excel troca para +trl:<3ift:;. 4sso
acontece porque a combinao +trl:; 9* deve estar associada com algum comando do
Excel. +om isso estamos associando a combinao +trl:<3ift:; com a macro
5ormata#erm+inza, ou se9a, cada vez que quisermos executar essa macro basta
pressionar +trl:<3ift:;.
L. & campo descrio " simplesmente uma descrio da funcionalidade da macro. ?igite
o texto indicado na figura abaixo'
De(&n&o do no$e e da tec%a de ata%3o da Macro.
7E. +lique em &>. ! gravao da Macro ser* iniciada. 6odos os comandos que voc,
executar, durante a gravao da Macro, faro parte da Macro.
77. .ma nova barra @ A " exibida na planil3a do Excel. Essa barra " utilizada
para parar a gravao da Macro. !gora devemos escol3er os comandos que faro parte
da macro. !ps ter executado os comandos que faro parte da macro, basta clicar no
boto @ A para encerrar a gravao da Macro.
7D. +lique no boto @ A para aplicar Negrito.
78. Na lista de +ores da fonte @ A selecione #ermel3o.
7F. Na lista de +ores de fundo @ A selecione +inza.
7G. +lique no boto @ A para encerrar a gravao da Macro.
7I. !gora a macro 5ormata#erm+inza foi criada e podemos utiliz*%la sempre que
necess*rio.
0ara e+ecutar a $acro 7or$ataVer$C&n'a (aa o se.u&nte/
7. +lique na +"lula $J.
D. ressione +trl:<3ift:;.
8. ! macro 5ormata#erm+inza " executada e as formataes definidas pela macro
@Negrito, fonte #ermel3a e fundo +inzaA so automaticamente aplicadas na +"lula $J.
#e9a que com um simples comando de teclado, executo uma s"rie de comandos @nesse
exemplo' tr,s comandos de formataoA. Esse exemplo nos d* uma pequena id"ia do
poder e facilidade do uso das macros.
F. 6amb"m " poss-vel executar a macro usando o comando 5erramentas %H Macro %H
Macros.
G. +lique na c"lula $G.
I. <elecione o comando 5erramentas %H Macro %H Macros.
J. <er* exibida a 9anela Macro, onde so listadas todas as macros existentes na pasta de
trabal3o atual @no arquivo carregado no ExcelA, conforme indicado na figura a seguir'
A 8ane%a Macro.
K. +lique na Macro 5ormata#erm+inza para selecion*%la.
L. +lique no boto Executar.
7E. ! Macro ser* executada e as respectivas formataes sero aplicadas 1 c"lula $G.
77. ! sua planil3a deve estar conforme indicado na figura abaixo'
7or$ata4es a!%&cadas co$ a $acro 7or$ataVer$C&n'a.
3. Con3ecendo do que 5 (e&ta u$a Macro
No item anterior podemos ver uma macro em ao. +riamos uma macro c3amada
5ormata#erm+inza. Essa macro " composta por tr,s comandos de formatao. +ada vez
que a macro " executada, os tr,s comandos de formatao so novamente executados e
aplicados 1 c"lula onde est* o cursor. !t" aqui tudo bem. Nen3uma novidade. !
pergunta que pode surgir "'
Co$o 5 que o E+ce% (a' &sso?
&u de outra forma'
Do que 5 (e&ta u$a $acro?
+onforme veremos neste item, uma macro " gravada no Excel como uma seq/,ncia de
comandos #$!. or exemplo, ao clicarmos no boto @ A, para a aplicao de negrito,
o Excel gera um comando #$! que faz a formatao em negrito. Neste item
aprenderemos a acessar o cdigo #$! gerado pelo Excel @embora ainda no se9amos
capazes de entender esse cdigoA.
ara acessar os comandos #$! associados com uma macro, siga os seguintes passos'
7. #oc, deve estar com a planil3a Exerc-cio E7.xls aberta. <e no estiver, abra%a.
D. <elecione o comando 5erramentas %H Macro %H Macros.
8. <er* exibida a 9anela Macro.
F. +lique na macro 5ormata#erm+inza para selecion*%la.
G. +lique no boto Editar.
I. & Editor do #$! ser* carregado e sero exibidas as seguintes lin3as de cdigo'
Sub FormataVermCinza()
'
' FormataVermCinza Macro
' Macro que faz a formatao em fonte Vermelha, Negrito e
' fundo Cinza
'
' !talho do teclado" Ctrl#Shift#$
'
SelectionFont%old & 'rue
SelectionFontColor(nde) & *
+ith Selection(nterior
Color(nde) & ,-
.attern & )lSolid
/nd +ith
/nd Sub
Esses so os comandos #$! @que por enquanto no entendemos o que significamA que
formam a macro 5ormata#erm+inza. !penas para adiantar um pouco o assunto, a seguir
ser* descrito o que faz cada um dos principais comandos dessa Macro'
Se%ect&on.7ont.-o%d 9 )rue
Esse comando aplica a formatao em Negrito para a c"lula onde est* o cursor @ou no
con9unto de c"lulas selecionadasA, quando a macro " executada.
Se%ect&on.7ont.Co%orInde+ 9 :
Esse comando aplica cor de fonte #ermel3a para a c"lula onde est* o cursor @ou no
con9unto de c"lulas selecionadasA, quando a macro " executada.
;&t3 Se%ect&on.Inter&or
.Co%orInde+ 9 1<
.0attern 9 +%So%&d
End ;&t3
Esses comandos aplicam a cor de fundo cinza, na c"lula onde est* o cursor @ou no
con9unto de c"lulas selecionadasA, quando a macro " executada.
Esses so comandos da linguagem #$!. +om o uso do #$! temos acesso a todos os
comandos e funes do Microsoft Excel. 6udo o que voc, faz usando o teclado e o
mouse, tamb"m " poss-vel de ser feito com o uso do #$!, por"m de uma maneira
automatizada. & uso de macros " especialmente indicado naquelas situaes em que
temos um con9unto de comandos que precisam ser executados, repetidamente, em
diferentes situaes. Nesses casos " muito mais pr*tico criar uma macro composta pelo
con9unto de comandos e, cada vez que os comandos precisarem ser executados, executar
a macro.
Na figura abaixo temos uma viso do Editor do #isual $asic.
O Ed&tor de V-A
J. <elecione o comando !rquivo %H 5ec3ar e #oltar para o Microsoft Excel.
K. #oc, estar* de volta 1 planil3a Exerc-cio E7.xls.
L. <alve e fec3e a planil3a.
=. O!era4es co$ Macros
Neste item aprenderemos a renomear, excluir e fazer outras alteraes em macros.
6amb"m aprenderemos a alterar outras opes associadas com a Macro, tal como o
comando de teclado para executar a macro.
Existem algumas operaes que podem ser feitas com uma macro, aps a sua criao. !
mais bvia @e o motivo pelo qual uma macro " criadaA " para executar a macro. !l"m da
execuo " poss-vel executar outras operaes com uma macro, conforme descrito a
seguir'
ara renomear uma macro siga os seguintes passos'
7. !bra o arquivo onde est* a macro a ser renomeada.
D. <elecione o comando 5erramentas %H Macro %H Macros.
8. <er* exibida a 9anela Macro.
F. +lique na macro a ser renomeada para selecion*%la.
G. +lique no boto Editar.
I. <er* aberto o editor do #$!. & nome da macro vem logo aps o comando <ub da
primeira lin3a, conforme destacado na figura abaixo'
Reno$eando u$a Macro.
J. ara renomear a macro basta alterar o nome aps o comando <ub e depois clicar no
boto @ A para salvar as alteraes.
K. Em seguida " s fec3ar o Editor de #$!.
0ara e+c%u&r u$a $acro s&.a os se.u&ntes !assos/
7. !bra o arquivo onde est* a macro a ser exclu-da.
D. <elecione o comando 5erramentas %H Macro %H Macros.
8. <er* exibida a 9anela Macro.
F. +lique na macro a ser exclu-da para selecion*%la.
G. +lique no boto Excluir.
I. & Excel emite um aviso solicitando que voc, confirme a excluso, conforme indicado
na figura abaixo'
Con(&r$ando a e+c%uso da $acro.
J. +lique em <im para confirmar a excluso ou em No para cancelar a excluso da
macro.
0ara a%terar a tec%a de ata%3o e o co$ent*r&o assoc&ado co$ u$a $acro> s&.a os
se.u&ntes !assos/
7. !bra o arquivo onde est* a macro a ser alterada.
D. <elecione o comando 5erramentas %H Macro %H Macros.
8. <er* exibida a 9anela Macro.
F. +lique na macro a ser alterada para selecion*%la.
G. +lique no boto &pes...
I. <er* exibida a 9anela &pes de Macro, onde voc, pode alterar a tecla de atal3o e o
coment*rio associado com a macro, conforme indicado na figura a seguir'
Con(&r$ando a e+c%uso da $acro.
J. 5aa as alteraes dese9adas e clique em &>.
<. Assoc&ando ,ot4es co$ $acros
Neste item criaremos mais uma macro de exemplo. !l"m da criao da macro
aprenderemos a criar um novo boto, na $arra de 5erramentas e a associar esse boto
com a macro. ?essa forma toda vez que precisarmos executar a macro, bastar* clicar no
boto associado com a macro.
E+e$!%o 2/ +riar uma macro usando o Cravador de Macros. ! macro dever* formatar
as c"lulas selecionadas com formato +ont*bil, com duas casas decimais, cor de fonte
#ermel3a e 4t*lico. Cravar a macro com o nome de 7or$ataCont*,&% . +riar um boto
de comando na $arra de 5erramentas padro e associar esse boto com a macro
5ormata+ont*bil.
7. !bra o Excel.
D. !bra a lanil3a Exerc-cioED.xls.
8. +lique na c"lula 5D.
F. !gora vamos iniciar a gravao da Macro.
G. <elecione o comando 7erra$entas 1? Macro 1? "ra#ar no#a $acro .
I. <er* exibida a 9anela Cravar Macro.
J. No campo Nome da macro digite' 5ormata+ont*bil.
K. Na lista !rmazenar macro em, selecione a opo Esta !asta de tra,a%3o .
L. & campo ?escrio " simplesmente uma descrio da funcionalidade da macro.
?igite o texto indicado na figura a seguir'
De(&n&o do no$e e da descr&o da $acro 7or$ataCont*,&%.
7E. +lique em &>. ! gravao da Macro ser* iniciada. 6odos os comandos que voc,
executar, durante a gravao da Macro, faro parte da Macro.
77. .ma nova barra @ A " exibida na planil3a do Excel. Essa barra " utilizada
para parar a gravao da Macro. !gora devemos escol3er os comandos que faro parte
da macro. !ps ter executado os comandos que faro parte da macro, basta clicar no
boto @ A para encerrar a gravao da Macro.
7D. +lique no boto @ AA para aplicar 4t*lico.
78. Na lista de +ores da fonte @ A selecione #ermel3o.
7F. <elecione o comando 5ormatar %H +"lulas. +lique na opo +ont*bil e selecione
duas casas decimais, conforme indicado na figura a seguir'
7or$atao Cont*,&% co$ duas casas dec&$a&s.
7G. +lique em &>.
7I. +lique no boto @ A para encerrar a gravao da Macro.
7J. !gora a macro 5ormata+ont*bil foi criada e podemos utiliz*%la sempre que
necess*rio.
!gora vamos aprender como associar um boto com a macro 5ormata+ont*bil.
0ara assoc&ar u$ ,oto co$ u$a $acro s&.a os se.u&ntes !assos/
7. +lique com o boto direito do mouse em uma das barras de ferramentas do Excel. or
exemplo, clique com o boto direito do mouse na *rea cinza, ao lado do boto @ A.
D. No menu que " exibido clique na opo ersonalizar.
8. <er* exibida a 9anela ersonalizar.
F. +lique na guia +omandos.
G. Na lista de +ategorias que " exibida d, um clique na opo Macros conforme
indicado na figura a seguir'
A o!o Macros da .u&a Co$andos.
I. +lique no boto @ A e arraste%o para a barra de ferramentas padro, ao lado esquerdo
do boto @ A, conforme indicado na figura abaixo'
Arrastando o ,oto que ser* assoc&ado co$ a Macro.
J. ! 9anela ersonalizar ser* fec3ada e o boto @ A ser* adicionado 1 barra de
ferramentas padro.
K. ?, um clique no boto @ A.
L. <er* exibida a 9anela !tribuir macros. Nessa 9anela voc, pode selecionar a macro que
ser* associada com o boto, isto ", a macro que ser* executada quando voc, clicar no
boto.
7E. +lique na macro 5ormata+ont*bil para selecion*%la, conforme indicado na figura a
seguir.
77. +lique em &>.
7D. ronto, agora o boto @ A est* associado com a macro 5ormata+ont*bil.
Assoc&ando a $acro 7or$ataCont*,&% co$ o ,oto.
78. #amos testar se o boto est* funcionando.
7F. +lique na c"lula 57E.
7G. +lique no boto @ A.
7I. &bserve que a macro " executada e as respectivas formataes so aplicadas 1 c"lula
57E. 4sso comprova que o boto @ A est* associado 1 macro 5ormata+ont*bil.
7J. <alve e fec3e a planil3a.

Você também pode gostar