Você está na página 1de 10

Lio 01: Introduo e Contedo do Mdulo 5

Nesse e no prximo mdulo veremos assuntos relacionados a automao de tarefas no


Excel. Existem situaes onde no conseguimos resolver o problema proposto,
simplesmente utilizando os comandos e frmulas do Excel. Nessas situaes temos que
fazer o uso de recursos como Macros e Programao. A linguagem de programao do
Excel o VBA Visual Basic for Applications. O VBA a linguagem de programao
para todos os aplicativos do Microsoft Office: Word, Excel, Access e Power Point.
Nas lies desse mdulo aprenderemos sobre Macros. Veremos o que uma Macro, para
que serve, quando devemos usar Macros, como criar e alterar Macros. Em seguida
aprenderemos os fundamentos bsicos da linguagem VBA.
Nas lies desse mdulo veremos os conceitos tericos da linguagem VBA. Nas lies
do prximo mdulo, veremos exemplos de aplicao do VBA para a soluo de problemas
prticos, os quais no poderiam ser solucionados sem o uso de programao.
O que so Macros??
Nesse tpico apresentaremos uma viso geral sobre Macros. Nas prximas lies
iremos detalhar os vrios aspectos relacionados Macros.
Caso voc execute uma tarefa vrias vezes no Microsoft Excel, possvel
automatiz-la com uma macro. Uma macro uma seqncia de comandos e funes
armazenados em um mdulo do Visual Basic for Applications - VBA e pode ser
executada sempre que voc precisar executar a tarefa. Quando voc grava uma macro,
o Excel armazena informaes sobre cada etapa realizada medida que voc executa
uma seqncia de comandos. Em seguida, voc executa a macro para repetir, ou
"reproduzir", os comandos.
Por exemplo, vamos supor que, seguidamente, voc precisa formatar uma clula com
Negrito, cor de fonte Vermelha, Itlico, Fonte Verdana de Tamanho 13 com quebra
automtica de linha. Ao invs de ter que executar todos os comandos de formatao
em cada clula, voc pode criar uma Macro que aplica todos os comandos de
formatao. Aps criada a Macro, cada vez que voc tiver que aplicar o conjunto de
comandos de formatao, basta executar a Macro, o que normalmente feito atravs
da associao de uma combinao de teclas com a Macro, como por exemplo Ctrl+L. No
nosso exemplo, cada vez que voc quisesse formatar uma clula com os formatos
descritos, bastaria clicar na clula e pressionar Ctrl+L. Bem mais fcil do que
aplicar cada comando individualmente.
Voc pode Gravar uma macro para realizar uma tarefa em uma etapa: Antes de gravar
uma macro, planeje as etapas e os comandos que voc deseja que a macro execute. Se
cometer um erro durante a gravao da macro, as correes feitas tambm so
gravadas. Ao gravar macros, o VBA armazena cada uma em um novo mdulo anexado a uma
pasta de trabalho.
Por exemplo, se voc insere com freqncia seqncias de caracteres de texto
extensas nas clulas, voc pode gravar uma macro para formatar essas clulas de
maneira que o texto retorne automaticamente. Selecione a clula em que deseja
inserir o retorno automtico de texto e inicie a gravao. Clique em Clulas no
menu Formatar, clique na guia Alinhamento, marque a caixa de seleo Retorno
automtico de texto, clique em OK e, em seguida, clique em Parar gravao . Como
gravar uma macro. Nos veremos exemplos detalhados de macros nas prximas lies.
Como Tornar uma macro fcil de ser executada: Voc pode executar uma macro
escolhendo-a de uma lista na caixa de dilogo Macro. Para que uma macro seja
executada sempre que voc clicar em um boto especfico ou pressionar determinada
combinao de teclas, voc pode atribuir a macro a um boto da barra de
ferramentas, um atalho no teclado ou um objeto grfico em uma planilha. Veremos
como fazer essas atribuies nas prximas lies.
Como Exibir e alterar macros: Depois de gravar uma macro, voc poder exibir o
cdigo da macro com o Editor do VBA para corrigir erros ou alterar a funo da
macro. O Editor do VBA um programa criado para facilitar a escrita e a edio de
cdigo de macro para principiantes e fornece bastante Ajuda on-line. Voc no
precisa aprender a programar ou a usar a linguagem do Visual Basic para fazer
alteraes simples nas suas macros. Nas prximas lies veremos como exibir e
editar macros.
Na Figura a seguir temos um exemplo de cdigo associado com uma Macro. Esse um
exemplo de cdigo VBA:
Como Gerenciar suas macros Com o Editor do VBA: Voc pode editar macros, copiar
macros de um mdulo para outro, copiar macros entre pastas de trabalho diferentes,
renomear os mdulos que armazenam as macros ou renomear as macros. Por exemplo, se
voc quisesse que a macro de retorno automtico de texto, do exemplo anterior,
tambm deixasse o texto em negrito, voc poderia gravar outra macro para aplicar
negrito a uma clula e copiar as instrues dessa macro para a macro de retorno
automtico de texto.
Segurana da macro: O Microsoft Excel 2000 fornece proteo contra vrus que podem
ser transmitidos atravs das macros. Se voc compartilha macros com outros
usurios, voc pode certific-las com uma assinatura digital de forma que os outros
usurios possam verificar que as macros so de origem confivel. Sempre que voc
abrir uma pasta de trabalho que contenha macros, poder verificar a origem das
macros antes de ativ-las. Aprenda sobre como evitar vrus de macro.
Programao no Excel A linguagem VBA:
As Macros so uma excelente soluo quando queremos automatizar uma tarefa que
realizada atravs de uma srie de cliques de mouse ou digitaes no teclado. Porm
existem situaes mais complexas, que envolvem clculos ou uma lgica mais apurada,
onde no possvel encontrar a soluo do problema, simplesmente usando os
comandos ou frmulas prontas do Excel.
Nessas situaes temos que fazer uso de programao. Um programa (ou mdulo como
chamado no Excel) uma seqncia de comandos VBA, onde cada comando executa um
passo especfico, necessrio resoluo do problema.
Nota: Para um melhor aproveitamento e entendimento do VBA importante que o amigo
leitor j tenha uma noo bsica de Lgica de Programao. Voc encontra um
excelente curso de Lgica de Programao no seguinte endereo: www.webaula.com.br.
O curso gratuito, apenas necessrio fazer um cadastro no site, cadastro esse
que tambm gratuito.
Por exemplo, vamos supor que voc precisasse fazer a verificao do CPF que
digitado em uma clula. O clculo do DV do CPF, o qual de domnio pblico,
envolve uma srie de operaes aritmticas. Para implementar uma funo que faz a
verificao do DV do CPF, voc ter que fazer uso de programao.
Por isso que, conforme descrito anteriormente, nas lies desse mdulo veremos os
comandos bsicos da linguagem VBA, para aplica-los em alguns exemplos prticos nas
lies dos prximo mdulo.
Nota: Os conceitos vistos nesse e no prximo mdulo, de maneira alguma, esgotam o
assunto programao VBA no Excel. O assunto bastante extenso. No decorrer de
2003, teremos um curso especfico, somente sobre programao VBA e criao de
aplicativos com o Excel.
Lio 02: O que so Macros?
Conforme descrito anteriormente, uma macro uma seqncia de comandos (cliques de
mouse ou toques de teclado) que so gravados em um Mdulo VBA e podem ser
executados, sempre que necessrio. A grande vantagem de gravarmos uma seqncia de
comandos que poderemos utiliza-la sempre que necessrio. Para isso basta executar
a macro na qual foi gravada a seqncia de comandos.
As Macros so uma excelente opo para automatizar tarefas repetitivas. Com o uso
de Macros temos um ganho de produtividade considervel, ao evitar que tenhamos que
executar manualmente, os diversos passos de uma tarefa, passos estes que podem ser
automatizados atravs do uso de uma macro.
Existem duas maneiras distintas para a criao de uma macro:
Podemos usar o gravador de Macros: Nesse caso o Excel grava cada uma
das aes que faro parte da Macro e transforma essas aes nos
comandos VBA equivalentes. Quando a macro for executada, os comandos
VBA que sero efetivamente executados. Cada comando VBA corresponde a
uma ao efetiva da macro.
Criar a Macro usando VBA: A partir do momento em que voc domina a
linguagem VBA, poder criar a macro digitando os comandos VBA
necessrios. Isso feito usando o Editor de VBA, conforme veremos nas
prximas lies.
Melhor do que definies a prtica!!
Melhor do que uma srie de definies ver uma Macro em ao. Vamos a um exemplo
simples, onde criaremos uma Macro. Em seguida vamos executa-la . Na prxima lio
analisaremos o cdigo VBA criado pelo gravador de macros.
Exemplo 1: Criar uma macro usando o Gravador de Macros. A macro dever formatar a
clula atual com Negrito, cor de fonte Vermelha, com fundo cinza. Gravar a macro
com o nome de FormataVermCinza.
1. Abra o Excel.
2. Abra a Planilha C:\ExcelAvancado\Mdulo 5 Exerccio 01.xls.
3. Clique na clula A4.
4. Agora vamos iniciar a gravao da Macro.
5. Selecione o comando Ferramentas -> Macro -> Gravar nova macro.
6. Ser exibida a janela Gravar Macro.
7. No campo Nome da macro digite: FormataVermCinza.
8. No campo Tecla de atalho digite L. Observe que o Excel troca para
Ctrl+Shift+L. Isso acontece porque a combinao Ctrl+L j deve estar associada com
algum comando do Excel. Com isso estamos associando a combinao Ctrl+Shift+L com a
macro FormataVermCinza, ou seja, cada vez que quisermos executar essa macro basta
pressionar Ctrl+Shift+L.
9. O campo descrio simplesmente uma descrio da funcionalidade da macro.
Digite o texto indicado na Figura 5.2:

Figura 5.2 Definio do nome e da tecla de atalho da Macro.


10. Clique em OK. A gravao da Macro ser iniciada. Todos os comandos que voc
executar, durante a gravao da Macro, faro parte da Macro.

11. Uma nova barra ( ) exibida na planilha do Excel. Essa barra


utilizada para parar a gravao da Macro. Agora devemos escolher os comandos que
faro parte da macro. Aps ter executado os comandos que faro parte da macro,

basta clicar no boto ( ) para encerrar a gravao da Macro.


12. Clique no boto ( ) para aplicar Negrito.

13. Na lista de Cores da fonte ( ) selecione Vermelho.

14. Na lista de Cores de fundo ( ) selecione Cinza.

15. Clique no boto ( ) para encerrar a gravao da Macro.


16. Agora a macro FormataVermCinza foi criada e podemos utiliza-la sempre que
necessrio.
Para executar a macro FormataVermCinza faa o seguinte:
1. Clique na Clula B7.
2. Pressione Ctrl+Shift+L.
3. A macro FormataVermCinza executada e as formataes definidas pela macro
(Negrito, fonte Vermelha e fundo Cinza) so automaticamente aplicadas na Clula B7.
Veja que com um simples comando de teclado, executo uma srie de comandos (nesse
exemplo: trs comandos de formatao). Esse exemplo nos d uma pequena idia do
poder e facilidade do uso das macros.
4. Tambm possvel executar a macro usando o comando Ferramentas -> Macro ->
Macros.
5. Clique na clula B5.
6. Selecione o comando Ferramentas -> Macro -> Macros.
7. Ser exibida a janela Macro, onde so listadas todas as macros existentes na
pasta de trabalho atual (no arquivo carregado no Excel), conforme indicado na
Figura 5.3:

Figura 5.3 A janela Macro.


8. Clique na Macro FormataVermCinza para seleciona-la.
9. Clique no boto Executar.
10. A Macro ser executada e as respectivas formataes sero aplicadas clula
B5.
11. A sua planilha deve estar conforme indicado na Figura 5.4:

Figura 5.4 Formataes aplicadas com a macro FormataVermCinza.


12. Mantenha a planilha aberta, pois iremos utiliza-la na prxima lio.
Lio 03: Conhecendo do que feita uma Macro
Na Lio anterior podemos ver uma macro em ao. Criamos uma macro chamada
FormataVermCinza. Essa macro composta por trs comandos de formatao. Cada vez
que a macro executada, os trs comandos de formatao so novamente executados e
aplicados clula onde esta o cursor. At aqui tudo OK. Nenhuma novidade. A
pergunta que pode surgir :
Como que o Excel faz isso?
Ou de outra forma:
Do que feita uma macro?
Conforme veremos nessa lio, uma macro gravada no Excel como uma seqncia de
comandos VBA. Por exemplo, ao clicarmos no boto ( ), para a aplicao de
negrito, o Excel gera um comando VBA que faz a formatao em negrito. Nessa lio
aprenderemos a acessar o cdigo VBA gerado pelo Excel (embora ainda no sejamos
capazes de entender esse cdigo).
Para acessar os comandos VBA associado com uma macro, siga os seguintes passos:
1. Voc deve estar com a planilha C:\ExcelAvancado\Mdulo 5 Exerccio 01.xls
aberta, se no estiver, abra-a.
2. Selecione o comando Ferramentas -> Macro -> Macros.
3. Ser exibida a janela Macro.
4. Clique na macro FormataVermCinza para seleciona-la.
5. Clique no boto Editar.
6. O Editor do VBA ser carregado e sero exibidas as seguintes linhas de
cdigo:
Sub FormataVermCinza(); FormataVermCinza Macro ; Macro que faz a formatao em
fonte Vermelha, Negrito e ;fundo Cinza.
Atalho do teclado: Ctrl+Shift+L
Selection.Font.Bold = True
Selection.Font.ColorIndex = 3
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
End Sub
Esses so os comandos VBA (que por enquanto no entendemos o que significam) que
formam a macro FormataVermCinza. Apenas para adiantar um pouco o assunto, a seguir
descrevo o que faz cada um dos principais comandos dessa Macro:
Selection.Font.Bold = True
Esse comando aplica a formatao em Negrito para a clula onde est o cursor (ou
no conjunto de clulas selecionadas), quando a macro executada.
Selection.Font.ColorIndex = 3
Esse comando aplica cor de fonte Vermelha para a clula onde est o cursor (ou no
conjunto de clulas selecionadas), quando a macro executada.
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
Esses comandos aplicam a cor de fundo cinza, na clula onde est o cursor (ou no
conjunto de clulas selecionadas), quando a macro executada.
Esses so comandos da linguagem VBA. Com o uso do VBA temos acesso a todos os
comandos e funes do Microsoft Excel. Tudo o que voc faz usando o teclado e o
mouse, tambm possvel de ser feito com o uso do VBA, porm de uma maneira
automatizada. O uso de macros especialmente indicado naquelas situaes em que
temos um conjunto de comandos que precisam ser executados, repetidamente, em
diferentes situaes. Nesses casos muito mais prtico criar uma macro composta
pelo conjunto de comandos e, cada vez que os comandos precisarem ser executados,
executar a macro.
Na Figura 5.5 temos uma viso do Editor do Visual Basic. Veremos mais detalhes
sobre esse editor nas prximas lies, quando comearmos a trabalhar com o VBA.

Figura 5.5 O Editor de VBA


7. Selecione o comando Arquivo -> Fechar e Voltar para o Microsoft Excel.
8. Voc estar de volta planilha C:\ExcelAvancado\Mdulo 5 Exerccio 01.xls.
9. Salve e feche a planilha.

Lio 04: Operaes com Macros


Nessa lio aprenderemos a renomear, excluir e fazer outras alteraes em macros.
Tambm 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. A
mais bvia (e o motivo pelo qual uma macro criada) para executar a macro. Alm
da execuo possvel executar outras operaes com uma macro, conforme descrito a
seguir:
Para renomear uma macro siga os seguintes passos:
1. Abra o arquivo onde est a macro a ser renomeada.
2. Selecione o comando Ferramentas -> Macro -> Macros.
3. Ser exibida a janela Macro.
4. Clique na macro a ser renomeada para seleciona-la.
5. Clique no boto Editar.
6. Ser aberto o editor do VBA. O nome da macro vem logo aps o comando Sub da
primeira linha, conforme destacado na Figura 5.6:
Figura 5.6 Renomeando uma Macro.
7.Para renomear a macro basta alterar o nome aps o comando Sub e depois clicar no
boto ( ) para salvar as alteraes.
8.Em seguida s fechar o Editor de VBA.
Para excluir uma macro siga os seguintes passos:
1.Abra o arquivo onde est a macro a ser excluda.
2.Selecione o comando Ferramentas -> Macro -> Macros.
3.Ser exibida a janela Macro.
4.Clique na macro a ser excluda para seleciona-la.
5.Clique no boto Excluir.
6.O Excel emite um aviso solicitando que voc confirme a excluso, conforme
indicado na Figura 5.7:

Figura 5.7 Confirmando a excluso da macro.


7.Clique em Sim para confirmar a excluso ou em No para cancelar a excluso da
macro.
Para alterar a tecla de atalho e o comentrio associado com uma macro, siga os
seguintes passos:
1.Abra o arquivo onde est a macro a ser alterada.
2.Selecione o comando Ferramentas -> Macro -> Macros.
3.Ser exibida a janela Macro.
4.Clique na macro a ser alterada para seleciona-la.
5.Clique no boto Opes...
6.Ser exibida a janela Opes de Macro, onde voc pode alterar a tecla de atalho e
o comentrio associado com a macro, conforme indicado na Figura 5.8:
Figura 5.8 Confirmando a excluso da macro.
7. Faa as alteraes desejadas e clique em OK.

Lio 05: Associando botes com macros


Nessa lio criaremos mais uma macro de exemplo. Alm da criao da macro
aprenderemos a criar um novo boto, na Barra de Ferramentas e a associar esse boto
com a macro. Dessa forma toda vez que precisarmos executar a macro, bastar clicar
no boto associado com a macro.
Exemplo 2: Criar uma macro usando o Gravador de Macros. A macro dever formatar As
clulas selecionadas com formato Contbil, com duas casas decimais, cor de fonte
Vermelha e Itlico. Gravar a macro com o nome de FormataContbil. Criar um boto de
comando na Barra de Ferramentas padro e associar esse boto com a macro
FormataContbil.
1. Abra o Excel.
2. Abra a Planilha C:\ExcelAvancado\Mdulo 5 Exerccio 02.xls.
3. Clique na clula F2.
4. Agora vamos iniciar a gravao da Macro.
5. Selecione o comando Ferramentas -> Macro -> Gravar nova macro.
6. Ser exibida a janela Gravar Macro.
7. No campo Nome da macro digite: FormataContbil.
8. Na lista Armazenar macro em, selecione a opo Esta pasta de trabalho.
9. O campo descrio simplesmente uma descrio da funcionalidade da macro.
Digite o texto indicado na Figura 5.9:

Figura 5.9 Definio do nome e da descrio da macro FormataContbil.


10. Clique em OK. A gravao da Macro ser iniciada. Todos os comandos que voc
executar, durante a gravao da Macro, faro parte da Macro.

11. Uma nova barra ( ) exibida na planilha do Excel. Essa barra


utilizada para parar a gravao da Macro. Agora devemos escolher os comandos que
faro parte da macro. Aps ter executado os comandos que faro parte da macro,

basta clicar no boto ( ) para encerrar a gravao da Macro.


12. Clique no boto ( )) para aplicar Itlico.

13. Na lista de Cores da fonte ( ) selecione Vermelho.


14. Selecione o comando Formatar -> Clulas. Clique na opo Contbil e selecione
duas casas decimais, conforme indicado na Figura 5.10:
Figura 5.10 Formatao Contbil com duas casas decimais.
15. Clique em OK.

16. Clique no boto ( ) para encerrar a gravao da Macro.


17. Agora a macro FormataContbil foi criada e podemos utiliza-la sempre que
necessrio.
Agora vamos aprender como associar um boto com a macro FormataContbil.
Para associar um boto com uma macro siga os seguintes passos:
1. Clique com o boto direito do mouse em uma das barras de ferramentas do
Excel. Por exemplo, clique com o boto direito do mouse na rea cinza, ao lado do
boto ( ).
2. No menu que exibido clique na opo Personalizar.
3. Ser exibida a janela Personalizar.
4. Clique na guia Comandos.
5. Na lista de Categorias que exibida d um clique na opo Macros conforme
indicado na Figura 5.11:

Figura 5.11 A opo Macros da guia Comandos.


6. Clique no boto ( ) e arraste-o para a barra de ferramentas padro, ao lado
esquerdo do boto ( ), conforme indicado na Figura 5.12:

Figura 5.12 Arrastando o boto que ser associado com a Macro.

7. A janela Personalizar ser fechada e o boto ( ) ser adicionado barra de


ferramentas padro.

8. D um clique no boto ( ).
9. Ser exibida a janela Atribuir macros. Nessa janela voc pode selecionar a
macro que ser associada com o boto, isto , a macro que ser executada quando
voc clicar no boto.
10. Clique na macro FormataContbil para seleciona-la, conforme indicado na
Figura 5.13.
11. Clique em OK.

12. Pronto, agora o boto ( ) est associado com a macro FormataContbil.

Figura 5.13 Associando a macro FormataContbil com o boto.


13. Vamos testar se o boto est funcionando.
14. Clique na clula F10.

15. Clique no boto ( ).


16. Observe que a macro executada e as respectivas formataes so aplicadas

clula F10. Isso comprova que o boto ( ) est associado macro FormataContbil.
17. Salve e Feche a planilha.

Você também pode gostar