81
UTFPR – Damat Excel – Macros e Programação em VBA 13 de setembro de 2007 Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007 Pág. 1 Campus Curitiba Departamento Acadêmico de Matemática Angela Olandoski Barboza

Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

Embed Size (px)

Citation preview

Page 1: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 1

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 1

Campus Curitiba

Departamento Acadêmico de Matemática

Angela Olandoski Barboza

Page 2: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 2

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 2

Introdução

O que fazer quando os recursos e fórmulas do Excel não são suficientes para resolver nossos problemas?

Temos dois recursos para utilizar:

Macros;

VBA – Visual Basic for Applications.

Apostila Pág. 12

1

Page 3: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 3

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 3

Uma introdução às Macros

Macro • É uma seqüência de comandos e funções

armazenados em um módulo de código do VBA e pode ser executada sempre que você precisar executar uma tarefa;

• A gravação de uma macro funciona como um gravador de fita. Grava todas as operações que estão sendo executadas.

Apostila Pág. 12

Page 4: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 4

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 4

• O uso de macros é especialmente indicado naquelas situações em que temos um conjunto de comandos que precisam ser executados, repetidamente, em diferentes situações.

• Nesses casos é muito mais prático criar uma macro composta pelo conjunto de comandos e, cada vez que os comandos precisarem ser repetidos, executar a macro.

Apostila Pág. 12

Page 5: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 5

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 5

Por exemplo:

Você formata com certa freqüência células com:

Negrito;

Itálico;

Cor de fonte Vermelha;

Fonte Verdana de Tamanho 13;

Quebra automática de linha.

Apostila Pág. 12

Page 6: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 6

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 6

Uma introdução às MacrosExecução de Macros: pode ser feita através do menu da Macro, um comando de teclado ou um botão;Exibição e alteração de macros: o código de uma macro pode ser exibido e alterado com o editor do VBA;Segurança da macro: o Microsoft Excel fornece proteção contra vírus que podem ser transmitidos através das macros. Quando se abre uma pasta com macros, recebe-se um aviso para buscar-se a origem destas.

Apostila Pág. 13

Page 7: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 7

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 7

Vantagens e Criação de Macros

VantagensAs macros são uma excelente opção para automatizar tarefas repetitivas; Com o uso de Macros temos um ganho de produtividade considerável, ao automatizar a execução de diversos passos de uma tarefa que, anteriormente eram feitos manualmente.

Apostila Pág. 15

Page 8: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 8

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 8

Vantagens e Criação de Macros

Criação de Macros

Usando o gravador de Macros: nesse caso o Excel grava cada uma das ações que farão parte da Macro e transforma essas ações nos comandos VBA equivalentes;

Usando o VBA: a Macro pode ser criada digitando-se os comandos VBA necessários. Neste modo é preciso que o usuário domine a linguagem VBA.

Apostila Pág. 15

Page 9: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 9

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 9

Exemplo 1

Criar uma macro usando o Gravador de Macros.

A macro deverá formatar a célula atual com negrito, cor de fonte vermelha, com fundo cinza.

Apostila Pág. 15

Page 10: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 10

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 10

1.Abra o Excel;

2.Abra a Pasta C:\Programação VBA no Excel\Módulo 1 – Exercício 01.xls;

3.Clique na célula A4;

4.Agora vamos iniciar a gravação da Macro;

5.Selecione o comando Ferramentas -> Macro -> Gravar nova macro;

Apostila Pág. 15

Page 11: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 11

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 11

6. Será exibida a janela Gravar Macro;

7. No campo Nome da macro digite: FormataVermelhoCinza;

8. No campo Tecla de atalho digite L. Observe que o Excel troca para Ctrl+Shift+L. Isso acontece porque a combinação Ctrl+L já deve estar associada com algum comando do Excel;

9. O campo descrição é simplesmente uma descrição da funcionalidade da macro. Digite o texto indicado na Figura a seguir:

Apostila Pág. 15

Page 12: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 12

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 12Apostila Pág. 16

Page 13: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 13

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 13

10.Clique em OK. A gravação da Macro será iniciada. Todos os comandos que você executar, durante a gravação da Macro, farão parte da Macro;

11.Uma nova barra ( ) é exibida na planilha do Excel. Essa barra é utilizada para parar a gravação da Macro. Agora devemos escolher os comandos que farão parte da macro. Após ter executado os comandos que farão parte da macro, basta clicar no botão ( ) para encerrar a gravação da Macro.

Apostila Pág. 16

Page 14: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 14

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 14

12. Clique no botão ( ) para aplicar Negrito;

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

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

15. Clique no botão ( ) para encerrar a gravação da Macro;

Apostila Pág. 16

Page 15: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 15

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 15

Para executar a macro FormataVermCinza faça o seguinte:

1. Clique na Célula B7.2. Pressione Ctrl+Shift+L.3. A macro FormataVermCinza é executada e as

formatações definidas pela macro (Negrito, fonte Vermelha e fundo Cinza) são automaticamente aplicadas na Célula B7.

Veja que com um simples comando de teclado, executo uma série de comandos (nesse exemplo: três comandos de formatação). Esse exemplo nos dá uma pequena idéia do poder e facilidade do uso das macros.

Apostila Pág. 16

Page 16: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 16

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 16

4. Também é possível executar a macro usando o comando Ferramentas -> Macro ->Macros;5. Clique na célula B5;6. Selecione o comando Ferramentas -> Macro -> Macros;7. Será exibida a janela Macro, onde são listadas todas as macros existentes na pasta de trabalho atual (no arquivo carregado no Excel), conforme indicado na Figura a seguir:

Apostila Pág. 16

Page 17: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 17

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 17Apostila Pág. 17

Page 18: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 18

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 18

8. Clique na Macro FormataVermCinza para selecioná-la;

9. Clique no botão Executar;10. A Macro será executada e as respectivas

formatações serão aplicadas à célula B5;11. A sua planilha deve estar conforme

indicado na Figura a seguir:Obs.: Mantenha a planilha aberta, pois

iremos utilizá-la na próxima lição.

Apostila Pág. 17

Page 19: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 19

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 19Apostila Pág. 17

Page 20: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 20

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 20

Para acessar os comandos VBA associados com uma macro, siga os seguintes passos:

1. Você deve estar com a planilha C:\Programação VBA no Excel\Módulo 1 – Exercício 01.xls aberta;

2. Selecione o comando Ferramentas -> Macro -> Macros;

3. Será exibida a janela Macro;4. Clique na macro FormataVermCinza para

selecioná-la;5. Clique no botão Editar;6. O Editor do VBA será carregado e serão exibidas

as seguintes linhas de código:Apostila Pág. 18

Page 21: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 21

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 21

Sub FormataVermCinza()' FormataVermCinza Macro' Macro que faz a formatação em fonte Vermelha, ' Negrito e fundo Cinza.' Atalho do teclado: Ctrl+Shift+L

Selection.Font.Bold = TrueSelection.Font.ColorIndex = 3With Selection.Interior

.ColorIndex = 15

.Pattern = xlSolidEnd With

End SubApostila Pág. 18

Page 22: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 22

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 22Apostila Pág. 18

Obs.: Mantenha a planilha aberta, pois iremos utilizá-la na próxima lição.

Page 23: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 23

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 23

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 selecioná-la;5. Clique no botão Editar;6. Será aberto o editor do VBA. O nome da macro vem

logo após o comando Sub da primeira linha, conforme destacado na Figura a seguir:

Operações com Macros

Apostila Pág. 21

Page 24: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 24

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 24

Operações com Macros

Apostila Pág. 21

Page 25: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 25

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 25

7. Para renomear a macro basta alterar o nome após o comando Sub e depois clicar no botão ( ) para salvar as alterações.

Operações com Macros

Apostila Pág. 21

8. Em seguida é só fechar o Editor de VBA.

Page 26: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 26

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 26

Para excluir uma macro siga os seguintes passos:1. Abra o arquivo onde está a macro a ser excluída.2. Selecione o comando Ferramentas -> Macro ->

Macros.3. Será exibida a janela Macro.4. Clique na macro a ser excluída para selecioná-la.5. Clique no botão Excluir.6. O Excel emite um aviso solicitando que você

confirme a exclusão, conforme indicado na Figura a seguir:

Operações com Macros

Apostila Pág. 22

Page 27: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 27

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 27

Operações com Macros

Confirmando a exclusão da macro.7. Clique em Sim para confirmar a exclusão ou em

Não para cancelar a exclusão da macro.

Apostila Pág. 22

Page 28: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 28

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 28

Para alterar a tecla de atalho e o comentário 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 selecioná-la.5. Clique no botão Opções...6. Será exibida a janela Opções de Macro, onde você

pode alterar a tecla de atalho e o comentário associado com a macro, conforme indicado na Figura a seguir:

Operações com Macros

Apostila Pág. 22

Page 29: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 29

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 29

7. Faça as alterações desejadas e clique em OK.

Apostila Pág. 22

Page 30: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 30

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 30

Associando botões com macrosExemplo 2:

a) Vamos criar uma macro usando o Gravador de Macros. A macro deverá formatar as células selecionadas com formato Contábil, com duas casas decimais, cor de fonte vermelha e itálico. Gravar a macro com o nome de FormataContábil;

b) Vamos em seguida, criar um botão de comando na Barra de Ferramentas padrão e associar esse botão com a macro FormataContábil.

Apostila Pág. 23

Page 31: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 31

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 31

1. Abra o Excel;2. Abra a Planilha C:\Programação VBA no Excel\

Módulo 1 – Exercício 02.xls.3. Clique na célula F2.4. Agora vamos iniciar a gravação 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:

FormataContábil.

Apostila Pág. 23

Page 32: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 32

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 32

8. Na lista Armazenar macro em, selecione a opção Esta pasta de trabalho.

9. O campo descrição é simplesmente uma descrição da funcionalidade da macro. Digite o texto indicado na Figura a seguir:

Apostila Pág. 23

Page 33: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 33

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 33Apostila Pág. 23

Page 34: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 34

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 34

10. Clique em OK. A gravação da Macro será iniciada. Todos os comandos que você executar, durante a gravação da Macro, farão parte da Macro.

11. Uma nova barra ( ) é exibida na planilha do Excel. Essa barra é utilizada para parar a gravação da Macro. Agora devemos escolher os comandos que farão parte da macro. Após ter executado os comandos que farão parte da macro, basta clicar no botão ( ) para encerrar a gravação da Macro.

Apostila Pág. 23

Page 35: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 35

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 35

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

14. Selecione o comando Formatar -> Células. Clique na opção Contábil e selecione duas casas decimais, conforme indicado na Figura a seguir:

12. Clique no botão ( ) para aplicar Itálico.

Apostila Pág. 24

Page 36: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 36

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 36Apostila Pág. 24

Page 37: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 37

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 37

15. Clique em OK ;16. Clique no botão ( ) para encerrar a gravação

da Macro;17. Agora a macro FormataContábil foi criada e

podemos utilizá-la sempre que necessário.

Apostila Pág. 24

Page 38: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 38

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 38

Associando botões com macrosPara associar um botão com uma macro siga os

seguintes passos:1. Clique com o botão direito do mouse em uma das

barras de ferramentas do Excel. Por exemplo, clique com o botão direito do mouse na área cinza, ao lado do botão ( );

2. No menu que é exibido clique na opção Personalizar;3. Será exibida a janela Personalizar;4. Clique na guia Comandos;5. Na lista de Categorias que é exibida dê um clique na

opção Macros conforme indicado na Figura a seguir:

Apostila Pág. 24

Page 39: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 39

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 39

Associando botões com macros

Apostila Pág. 25

Page 40: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 40

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 40

Associando botões com macros6. Clique no botão ( ) e arraste-o para a barra de

ferramentas padrão, ao lado esquerdo do botão ( ), conforme indicado na Figura a seguir:

7. Feche a janela Personalizar;8. Dê agora um clique no botão ( );

Apostila Pág. 25

Page 41: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 41

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 41

Associando botões com macros9. Será exibida a janela Atribuir macros. Nessa janela

você pode selecionar a macro que será associada com o botão, isto é, a macro que será executada quando você clicar no botão;

10. Clique na macro FormataContábil para selecioná-la, conforme indicado na Figura a seguir;

11. Clique em OK;12. Pronto, agora o botão ( ) está associado com a

macro FormataContábil.

Apostila Pág. 26

Page 42: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 42

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 42

Para alterar a imagem do botão:1) Clique com o botão direito do mouse

sobre uma parte cinza da barra de ferramentas;

2) Escolha a opção Personalizar;3) Escolha a opção Macros;4) Clique no botão que deseja mudar a

imagem na barra de ferramentas;5) Clique na opção Modificar Seleção e

em seguida escolha Alterar Imagem do Botão.

Como mudar

um botão de

macro

Apostila Pág. 26

Page 43: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 43

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 43Apostila Pág. 26

6) Escolha uma das opções oferecidas e clique em fechar.

Page 44: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 44

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 44

Introdução ao VBAVBA – Visual Basic for Application: linguagem de programação utilizada nos aplicativos do Office (Microsoft);

Linguagem de Programação: conjunto de comandos, rotinas, objetos e funções que executam tarefas específicas;

Vantagens em relação à macros: oferece possibilidades de controle e personalização para criar aplicativos que vão além das ações de macro;

Apostila Pág. 27

Page 45: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 45

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 45

Vantagens na utilização do VBAAcesso a dados de uma ou mais planilhas;

Manipulação de objetos: métodos de criação e modificação dos objetos de uma planilha;

Criação de funções personalizadas;

Definição de condições e controle de fluxo: comandos e estruturas para a realização de testes condicionais e para a repetição de um conjunto de comandos;

Realização de cálculos complexos e solução de problemas que envolvem uma lógica complexa.

1

2

3

4

5

Apostila Pág. 29

Page 46: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 46

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 46

Ambiente de Programação – Editor do VBAEditor do VBA: é um ambiente de programação onde se tem uma série de facilidades e dicas para que o programador possa encontrar facilmente, os objetos disponíveis, seus métodos e propriedades;

Facilidades do editor do VBA: o ambiente de desenvolvimento oferece uma série de facilidades para a criação de código VBA, tais como: • recursos de listas de métodos e propriedades que

surgem durante a digitação dos códigos;• auxílio sobre argumentos para métodos;• mensagens sobre digitação incorreta.

Apostila Pág. 30

Page 47: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 47

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 47

Exemplo 3:Acessar o Editor VBA para alterar a macro AplicaNegrito da planilha de exemplo “Módulo 1 – Exercício03.xls”.

1. Abra o Excel;

2. Abra a planilha de exemplo “Módulo 1 – Exercício03.xls”;

3. Como já existem macros nesta planilha, o Excel pede uma confirmação, perguntando se você deseja ativar as macros existentes, conforme indicado na próxima figura. Essa confirmação é solicitada devido ao perigo representado pelos vírus de Macro, que podem afetar os aplicativos do Microsoft Office;

Apostila Pág. 31

Page 48: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 48

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 48

Exemplo 3:4. Clique no botão Ativar Macros

5. A planilha será aberta;

6. Nessa planilha existe uma macro chamada AplicaNegrito. Vamos editar essa macro. O nosso objetivo é conhecer alguns detalhes sobre o Ambiente de Desenvolvimento do VBA;

7. Selecione o comando Ferramentas Macro Macros...;

8. Será exibida a janela Macro;

9. Clique na macro AplicaNegrito para selecioná-la;10. Clique no botão Editar. Será aberto o editor do VBA e o código associado à macro AplicaNegrito;

Apostila Pág. 31

Page 49: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 49

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 49Apostila Pág. 31

Page 50: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 50

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 50

11. Escolha no menu Arquivo Fechar e voltar para o Microsoft Excel;

12. Você também pode retornar à planilha do Excel utilizando o ícone assinalado na figura.

Apostila Pág. 31

Page 51: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 51

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 51Lição 08 -

Métodos e PropriedadesAcessar o Editor VBA para aprender sobre as funcionalidades do ambiente de programação e sobre a estrutura de código VBA em uma planilha.

1. Abra a planilha de exemplo “Módulo 1 Exercício 04.xls”;

2. Para abrir o Editor do VBA pressione Alt + F11 ou selecione o menu Ferramentas Macro Editor do Visual Basic;

3. O ambiente de programação do VBA será aberto, conforme indicado na figura a seguir;

Page 52: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 52

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 52

4. No lado esquerdo da janela no painel VBAProject, são exibidas entradas para as diversas planilhas da pasta de trabalho atual (Graf1, Plan1, Plan2 e Plan3 para o nosso exemplo) ;

Você pode criar códigos, funções e rotinas associadas com uma determinada planilha da pasta de trabalho;

Uma função ou rotina criada em um planilha, poderá ser utilizada somente dentro da planilha onde foi criada;

As rotinas que devem estar disponíveis para todas as planilhas da pasta de trabalho, devem ser criadas em Módulos independentes de código;

Apostila Pág. 33

Page 53: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 53

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 53

4. (Cont.) Ainda, temos um módulo chamado Módulo 1. Para planilhas mais complexas, é possível criar vários módulos de código, dividindo os procedimentos em categorias, tais como funções para cálculos de data, funções de validação de dados, funções de cálculos financeiros e assim por diante. Esta divisão facilita a localização, manutenção e alteração das funções existentes;

5. A programação em VBA faz uso de um grande conjunto de objetos. Cada objeto contém um grande número de métodos e propriedades;

Apostila Pág.

Page 54: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 54

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 54

6. Vamos fazer um teste. Digite a palavra range na área mostrada na figura a seguir;

7. Digite agora um ponto. Você verá uma caixa de listagem com os métodos e propriedades para o objeto range. ;

Apostila Pág. 34

Page 55: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 55

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 55

8. Na caixa de listagem selecione Adress e pressione no teclado pressione a barra de espaços. Você verá a caixa de ajuda do VBA mostrada na figura ;

9. Outro recurso muito útil no Editor VBA é a janela Pesquisador de Objetos. Para exibir a janela Pesquisador de Objetos, pressione a tecla F2 ou selecione o comando Exibir Pesquisador de objeto. Você verá a janela na figura;

Apostila Pág. 35

Page 56: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 56

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 56

10. Na lista Todas as bibliotecas você pode selecionar uma biblioteca específica. Selecione a biblioteca Excel;

11. Na lista de objetos, localize o objeto Range e clique para marcá-lo. Você verá uma lista dos métodos e propriedades do objeto Range, conforme a figura;

Apostila Pág. 35

Page 57: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 57

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 57Apostila Pág. 35

Page 58: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 58

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 58

12. Para obter ajuda sobre um método ou propriedade, clique no método ou propriedade desejado e depois clique no botão . Será aberta a ajuda do Excel sobre o objeto selecionado;

13. Para fechar o Pesquisador de Objeto, clique no botão no canto superior da janela;

14. Feche o Editor do VBA;

Apostila Pág. 35

Page 59: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 59

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 59

Declaração de Variáveis e “tipos” de dados

• Variável: espaços reservados na memória do computador;

• Declaração de variáveis no VBA:

Exemplo: Dim x

• Tipos de variáveis: Para servir para um determinado tipo de dados. Ocupam espaços diferentes na memória.

Apostila Pág. 36

Page 60: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 60

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 60

Tipos de Variáveis• String: para quaisquer tipos de dados no

formato texto. Tamanho máximo: 65400 bytes;• Byte: para números inteiros variando de 0 a

255. Ocupam 1 byte de memoria;• Integer: aceita números inteiros que variem de

-32.768 a 32.767. Ocupam 2 bytes de memória;

• Long: para números inteiros variando de -2.147.483.648 a 2.147.483.647. Ocupam 4 bytes de memória;

Apostila Pág. 38

Page 61: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 61

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 61

Tipos de Variáveis• Single: para números reais, variando de

-3,402823E38 a -1,401298E-45 (números negativos) e de 1,401298E-45 a 3,402823E38 (números positivos). Ocupam 4 bytes de memória;

• Double: para números reais, variando de -1,79769313486232E308 a -4,94065645841247E-324 (números negativos) e de 4,94065645841247E-324 a 1,79769313486232E308 (números positivos). Ocupam 8 bytes de memória.

Apostila Pág. 38

Page 62: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 62

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 62

Tipos de Variáveis

• Date: trabalham com datas e horas, variando de 1/1/100 a 31/12/9999. Ocupam 8 bytes de memória;

• Boolean: usadas para valores booleanos true e false. Ocupam 2 bytes de memória;

• Variant: para qualquer tipo de variável. Ocupam 16 bytes para números e 22 bytes para strings.

Apostila Pág. 38

Page 63: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 63

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 63

Tipos de Variáveis

• Currency: para cálculos envolvendo dinheiro. Variam de -922.337.203.685.477,5808 a 922.337.203.685.477,5808. Ocupam 8 bytes de memória;

• Object: para armazenar objetos. Ocupa 4 bytes de memória;

Apostila Pág. 38

Page 64: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 64

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 64

• Comando Option Explicit: exige que todas as variáveis sejam declaradas.

• Exemplo de variável não declarada explicitamente:

Apostila Pág. 38

Page 65: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 65

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 65

Variável ArrayArray é um tipo especial de variável que pode armazenar diversos valores em uma única variável. Pode ser um vetor ou matriz.

Cada elemento de um Array é acessado através do nome da variável Array e de um índice.

Apostila Pág. 56

Page 66: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 66

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 66

Exemplo:

1. Feche a pasta Módulo 1 – Exercício 04, abra uma nova pasta de trabalho e denomine-a Variáveis;

2. No menu Ferramentas Macro Gravar Nova Macro;

3. Preencha a caixa de diálogo como mostra a Figura.

Apostila Pág. 53

Page 67: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 67

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 67

4. Pressione o botão OK;

5. Pressione o botão para parar a Macro ;

6. No menu Ferramentas Macro Macros. Selecione a MacroArray e pressione o botão Editar (Figura);

Apostila Pág. 53

Page 68: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 68

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 68

'Declara um Array de 3 posições

• Digite acima da linha de End Sub, o comentário:

• Dimensione o Array Turno usando a linha de código a seguir:

Dim Turno(2)

Apostila Pág. 57

Exemplo de Variável Array

Page 69: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 69

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 69

• Digite as linhas de código a seguir:

'Atribuímos valores para os turnos:Turno(0) = "manhã"Turno(1) = "tarde"Turno(2) = "noite"

Apostila Pág. 57

Exemplo de Variável Array

'Utilizamos caixas de mensagem MsgBox, para 'exibir os ‘turnos com o conteúdo do Array Turno.MsgBox "Turno 1: " & Turno(0)MsgBox "Turno 2: " & Turno(1)MsgBox "Turno 3: " & Turno(2)

Page 70: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 70

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 70Apostila Pág. 57

Exemplo de Variável Array• Volte ao Excel e pressione Ctrl + Shift + P.

• Você terá as seguintes caixas de mensagem.

Page 71: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 71

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 71

Operadores Aritméticos do VBA

Apostila Pág. 40

Page 72: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 72

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 72

Exemplo:Vamos criar a macro MacroTeste. Para tanto, siga os passos

indicados a seguir:1. Abra o Excel;2. Abra a Planilha C:\Programação VBA no Excel\ Módulo 1 –

Exemplos BásicosVBA.xls.3. Selecione o comando Ferramentas -> Macro -> Gravar

nova macro...4. Será exibida a janela Gravar Macro. No campo Nome da

macro, digite MacroTeste.No campo Tecla de atalho, ao lado do Ctrl, digite T. Sua

janela deve estar conforme indicado na Figura a seguir:

Apostila Pág. 36

Page 73: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 73

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 73

5. Clique em OK;6. Será exibida a barra de gravação da Macro. Como queremos

criar uma macro em branco, vamos parar a gravação da macro sem ter executado nenhum comando;

7. Clique no botão ( ), da barra de ferramentas da macro ( ), para encerrar a gravação da macro MacroTeste;

8. Pronto, agora temos uma macro chamada MacroTeste, a qual não tem nenhum comando. Iremos alterar esta macro, inserindo comandos do VBA na Macro;

Depois você usará a combinação de teclas Ctrl+T, para testar o funcionamento da macro. A cada novo exemplo, os comandos do exemplo anterior serão apagados e os comandos do novo exemplo digitados.

Apostila Pág. 37

Page 74: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 74

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 74

9. O nosso objetivo é utilizar o comando Dim para declarar algumas variáveis e os operadores aritméticos para fazer alguns cálculos. Os valores dos cálculos serão exibidos quando a macro for executada;

10.Selecione o comando Ferramentas -> Macro -> Macros...

11.Será exibida a janela Macro;12.Clique na macro MacroTeste para selecioná-la.13.Clique no botão Editar;

Apostila Pág. 41

Page 75: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 75

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 75

14.Será aberto o editor do VBA. Observe que como não gravamos nenhum comando na Macro (veja lição anterior), existe apenas a declaração da Macro e alguns comentários, conforme indicado na Figura a seguir:

Apostila Pág. 41

Page 76: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 76

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 76

' Atalho do teclado: Ctrl+Shift+T'Declaração das variáveisDim a As IntegerDim b As IntegerDim som, subtr, divis, mult, intdivis, expo, modul As Doublea = 25b = 3

15. Abaixo da linha Atalho de Teclado: Ctrl+T, digite o trecho de código indicado a seguir:

Apostila Pág. 42

Page 77: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 77

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 77

'Uso dos operadores aritméticos para ‘efetuar cálculossom = a + bsubtr = a - bdivis = a / bmult = a * bintdivis = a \ bexpo = a ^ bmodul = a Mod b

Apostila Pág. 42

Page 78: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 78

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 78

'Uso de MsgBox para exibir os resultados

MsgBox "Os números são: " & a & " e " & b & Chr(13)

MsgBox "Soma: " & som & Chr(13) & "Subtração: " & subtr & Chr(13)

MsgBox "Divisão: " & divis & Chr(13) & "Multiplicação: " & mult & Chr(13)

MsgBox "Divisão inteira: " & intdivis & Chr(13) & "Exponenciação: " & expo & Chr(13)

MsgBox "Resto da divisão: " & modul

End Sub

Apostila Pág. 42

Page 79: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 79

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 79

16.Após digitar o código feche o Editor do VBA;17.Salve a Planilha;18.Clique em qualquer célula da planilha;19.Pressione Ctrl+T para executar a macro

MacroTeste;20.Será exibida a seguinte mensagem:

Apostila Pág. 42

Page 80: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 80

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 80

21. Dê um clique no botão OK;22. Será exibida a seguinte

mensagem:

23. Dê um clique no botão OK;24. Será exibida a seguinte

mensagem:

24.Dê um clique no botão OK;25.Será exibida a seguinte

mensagem:

Apostila Pág. 43

Page 81: Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat Campus

UTFPR – Damat

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 81

Excel – Macros e Programação em VBA

13 de setembro de 2007 Pág. 81

26.Dê um clique no botão OK;27.Será exibida a seguinte mensagem:

28.Dê um clique no botão OK;29.Você estará de volta à planilha.

Apostila Pág. 43