Documente Academic
Documente Profesional
Documente Cultură
Proibida a reproduo,
mesmo parcial, por qualquer
processo mecnico,
eletrnico, reprogrfico, etc.,
sem a autorizao, por
escrito, do(s) autor(es) e da
editora.
MACRO E VBA
PARA MS EXCEL
www.webaula.com.br
Pg.: 3/3
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
janela a seguir:
www.webaula.com.br
Pg.: 4/4
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
As opes de nvel de segurana definem o modo como o Excel trabalha a proteo contra os
vrus de macro. Na caixa de dilogo Segurana (menu Ferramentas/Macro), em diferentes condies, em
todas as configuraes, se o software antivrus que funciona com o Microsoft Office estiver instalado e o
arquivo contiver macros, o arquivo ser examinado para verificar a existncia de vrus conhecidos antes de ser
aberto.
Os nveis de segurana disponveis so:
Alto: neste nvel de segurana as macros passam por um processo de segurana rigoroso
e, na maioria dos casos, as pastas de trabalho so abertas sem as macros, ou seja, as
macros no so ativadas.
Mdio: neste nvel de segurana o usurio interage ao abrir uma pasta de trabalho que
contenha macros; ele questionado se deseja abrir o arquivo com habilitando as macros
ou no.
Baixo: quando o nvel de segurana definido como baixo, todas as macros so tratadas
da mesma forma, independentemente se o arquivo contm ou no macro, ele ser aberto
da mesma forma, se contm macros, todas as macros so ativadas.
O nvel de segurana mais utilizado o Mdio, pois, com a definio desse nvel, sempre que
abrirmos uma pasta de trabalho (arquivo) que contenha macros, o Microsoft Excel nos perguntar se
desejamos habilitar ou desabilitar as macros existentes no arquivo. Dessa forma, podemos desabilitar as
macros, caso, no conheamos a procedncia do arquivo que desejamos abrir.
Recapitulando, passo a passo como definir o nvel de segurana no Microsoft Excel:
www.webaula.com.br
Pg.: 5/5
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Na caixa Nome da macro, inserimos um nome para a macro que estamos criando.
Observaes:
O primeiro caractere do nome da macro deve ser uma letra. Os demais caracteres
podem ser letras, nmeros ou caracteres sublinhados;
No utilize como nome de macro que seja uma referncia de clula, como, por
exemplo, A1, B6, entre outros.
Na caixa Armazenar macro em, escolhemos o local onde desejamos gravar a macro.
As opes disponveis so:
Pasta de trabalho pessoal de macros: a macro fica disponvel toda vez que voc
utilizar o Excel, para qualquer pasta de trabalho;
www.webaula.com.br
Pg.: 6/6
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Nova pasta de trabalho: abre uma nova pasta de trabalho e a macro fica disponvel
quando essa nova pasta de trabalho estiver aberta;
Esta pasta de trabalho: grava a macro na pasta de trabalho ativa, a macro fica
disponvel nesta pasta de trabalho.
figura abaixo:
Nome da macro;
Tecla de atalho;
Local de armazenamento, e;
Descrio.
E, depois disso, clicamos no boto OK, aparecer uma barra de ferramentas, conforme a
Esta barra de ferramentas chamada de barra de ferramentas Parar gravao. Ela possui
exatamente a funo que o nome dela diz, ela serve para parar a gravao da macro, ou seja, tudo o que
voc fizer enquanto esta barra de ferramentas estiver ativa, estar sendo gravado, quando terminar de
executar as aes da macro, pare a gravao clicando no boto Parar gravao.
Alm do boto Parar gravao, esta barra tambm possui o boto Referncia relativa. Este
boto quando ativado faz a gravao dos endereos relativos das clulas e no endereos absolutos. Caso
voc queira gravar endereos relativos de clulas, voc pode selecionar esse boto. Se marcar este boto,
toda a macro a ser gravada ser executada com referncias relativas at que voc desmarque o boto.
Vamos explicar melhor como funciona essa gravao de macro:
Suponhamos que queremos fazer uma macro para justificar o texto em alguma clula e
centraliz-lo verticalmente, conforme mostrado nas clulas a seguir:
www.webaula.com.br
Pg.: 7/7
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Quando clicamos no boto Ok j sabemos que surge a barra de ferramentas Parar gravao.
Horizontal: Justificar;
www.webaula.com.br
Pg.: 8/8
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Vertical: Centro.
Clicamos em Ok. A caixa de formatao de clulas ser fechada e nossa macro est pronta.
Agora clicamos no boto Parar gravao e a gravao da macro ser finalizada.
mensagem:
Sempre que abrimos esta pasta de trabalho (este arquivo), aparecer a seguinte caixa de
www.webaula.com.br
Pg.: 9/9
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Vemos que a macro FormatarCelula encontra-se listada nesta janela. Toda macro criada nesta
pasta de trabalho ou em alguma outra pasta de trabalho que esteja aberta ou ainda na pasta de trabalho
pessoal de macros apareceria nesta janela.
Voc somente precisa selecionar a macro desejada, neste caso, a macro FormatarCelula e
depois clicar no boto Executar.
Ao fazer isso, o contedo da clula A1 da planilha ficou formatado com texto horizontalmente
justificado e verticalmente centralizado.
Macros, ento, tm a funo de simplificar nosso trabalho. Ao invs de sempre termos que
fazer tarefas repetidas, podemos grav-las numa macro.
Observao:
Vale lembrar que essa macro, utilizada no exemplo, somente serve para formatar a
clula A1 de cada planilha. Isso acontece porque quando gravamos a macro, a clula
A1 estava selecionada, ento, independente da planilha que est selecionada, sempre
a clula A1 ser formatada com seu texto alinhado justificado horizontalmente e
centralizado verticalmente. Mas, o que faremos, caso desejamos formatar outras
clulas? Veremos mais frente como podemos deixar nossa macros mais genricas,
ou seja, podemos utilizar a macro em qualquer clula ou conjunto de clulas.
www.webaula.com.br
Pg.: 10/10
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Nome da Macro: nesta caixa de texto voc informa qual a macro que voc ir
trabalhar. Voc pode digitar o nome da macro ou selecion-lo da lista de macros
existentes.
Executar: boto que serve para executar a macro selecionada. Todas as aes
encerradas na macro sero executadas.
Entrar: exibe o cdigo da macro no Editor do Visual Basic para que voc possa
depurar a macro. Depurar uma macro significa testar linha a linha de cdigo da macro
para procurar possveis erros que possam ter. mais frente iremos aprender como se
depura um cdigo.
Editar: abre o cdigo da macro no Editor do Visual Basic para que voc possa alterar a
macro criada.
Criar: cria uma nova macro. Abre o Editor do Visual Basic para que voc insira os
cdigos referentes criao desta nova macro. Este boto somente fica ativo quando
voc digita um nome na caixa Nome da Macro que no est na lista de macros.
Opes: abre uma nova janela com informaes da macro selecionada: nome da
macro, tecla de atalho e descrio. Voc pode alterar a tecla de atalho e a descrio.
Macros em: aqui voc decide se deseja mostrar todas as macros deste arquivo
somente Esta pasta de trabalho ou de todos os arquivos abertos Todas as pastas
de trabalho abertas.
www.webaula.com.br
Pg.: 11/11
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Esta guia se subdivide em: Categorias e Comandos. Escolheremos a categoria Macros. Logo
em seguida, selecionamos o comando Personalizar boto e o arrastamos para algum lugar da barra de
ferramentas Formatao.
www.webaula.com.br
Pg.: 12/12
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Clicamos com o boto direito do mouse sobre este boto. Existem vrias opes, como
mudar o nome do boto, editar a imagem que aparece, ente outros.
Selecionaremos a opo Atribuir macro. Ao clicarmos nesta opo surge a janela Atribuir
Macro, assim escolhemos a macro desejada e clicamos no boto Ok. O boto est configurado com a macro
desejada.
www.webaula.com.br
Pg.: 13/13
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
uma delas:
Na barra de menu, vemos algumas opes comuns e outras nem tanto. definiremos cada
www.webaula.com.br
Pg.: 14/14
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Arquivo menu com opes comuns, tais como, salvar arquivo, importar ou exportar
arquivo e fechar editor, voltando para o Excel;
Editar menu com as opes copiar, recortar, colar, localizar, substituir, entre outras
opes a que voc j est acostumado, tambm possui algumas opes especficas
do editor como listar constantes, listar propriedades, entre outras;
Exibir neste menu voc consegue exibir vrios objetos prprios do editor, tais como,
o objeto Verificao imediata, o objeto Project Explorer, ente outros;
Inserir este menu ser utilizado quando quisermos inserir novos mdulos,
procedimentos ou formulrios ;
Executar neste menu voc tem a opo de executar alguma rotina feita ou parar a
execuo da mesma;
Ferramentas menu com opes prprias do editor tambm, por exemplo, voc
consegue acessar a lista de macros que existem em sua pasta de trabalho;
O PROJECT EXPLORER
O Project Explorer uma janela que exibe uma lista hierrquica de todos os itens contidos e
referenciados em cada projeto que est aberto no Editor do Visual Basic.
Os elementos da janela do Project Explorer so:
Boto Exibir cdigo: exibe a janela de cdigo (rea de trabalho do editor) para que
voc possa gravar e editar cdigo associado a algum item selecionado.
Boto Exibir objeto: exibe a janela Objeto para o item selecionado, um documento ou
um form.
Boto Alternar pastas: Oculta e mostra as pastas de objetos enquanto exibe os itens
individuais contidos nelas.
Alm dos botes acima a janela do Project Explorer contm vrios itens que podem ser:
Projeto: sempre que trabalhamos no editor do Visual Basic estamos trabalhando com
um projeto (VBAProject);
Mdulos: todos os mdulos existentes, cada macro que voc cria inserida em um
mdulo diferente.
A JANELA DE CDIGOS
A janela de cdigos a rea de trabalho do editor. nela que voc ir inserir o seu cdigo,
seja uma funo nova que estar criando, seja uma macro que esteja editando, ou outro tipo de cdigo.
Por exemplo, o cdigo a seguir pertence a uma macro criada para formatao de clulas:
www.webaula.com.br
Pg.: 16/16
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
macro.
Observaes:
www.webaula.com.br
Pg.: 17/17
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Conforme j visto, para criar a macro, vamos em Ferramentas / Macro / Gravar nova
Vamos trabalhar com duas macros. Uma ser chamado Formatar. Esta macro ter como
tecla de atalho a letra f (CTRL + f). Ela ser salva nesta pasta de trabalho e a descrio ser: Macro para
formatar a clula com fonte Arial, tamanho 14, negrito e sublinhado.
O nome da outra macro ser Formatar_2. Esta macro no ter tecla de atalho. Ela ser
salva nesta pasta de trabalho tambm e a descrio ser: Macro para formatar a clula com fonte Comic
Sans MS, tamanho 14 e cor azul.
EDITANDO MACROS
Agora que voc j identificou os principais comandos das duas macros, podemos editar
qualquer uma das macros, em nosso exemplo faremos isso com a macro Formatar.
Sans MS.
Na linha de cdigo onde est o nome da fonte a ser utilizada vamos trocar de Arial para Comic
Na linha de cdigo onde est o tamanho da fonte, vamos trocar de 14 para 16.
Na linha de cdigo onde est o sublinhado, vamos trocar de duplo para simples.
Na linha de cdigo onde est a cor, vamos trocar de automtica para 3 (cor vermelha).
Depois disso, basta clicar no boto Salvar do editor e testar a macro no Excel.
O cdigo da macro ficou assim:
Sub Formatar()
With Selection.Font
.Name = "Comic Sans MS"
.FontStyle = "Negrito"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleSingle
.ColorIndex = 3
End With
End Sub
Para este exemplo, utilizaremos uma macro chamada Formatar_Tabela. Ela no ter tecla de
atalho. A macro ser gravada nesta pasta de trabalho.
A descrio da macro ser: Macro para formatar uma tabela com fontes, bordas e
sombreamentos.
www.webaula.com.br
Pg.: 20/20
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Nem precisamos selecionar a tabela a ser formatada, a prpria macro faz isso e formata a
tabela da forma que havamos definido.
www.webaula.com.br
Pg.: 21/21
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Ao executarmos a macro novamente, observamos que no foi toda a tabela que ficou
formatada, somente uma parte dela. Mesmo se voc selecionar toda a tabela, somente sero formatadas as
clulas do intervalo A3:D8.
Isso acontece porque ao gravar a macro, gravamos tambm a seleo de clulas que foi feita,
ou seja, a macro funciona em qualquer planilha da pasta de trabalho, porm somente formata a regio das
clulas A3 at D8.
Para verificarmos isso vamos abrir a macro para edio. Lembrando-se que, para isso vamos
em Ferramentas / Macro / Macros. Selecionamos a macro Formatar_Tabela e clicamos no boto Editar. Esta
outra forma de se abrir o editor do Visual Basic, abrindo-o na macro que deseja visualizar ou alterar.
Observe que o primeiro comando da macro :
Range("A3:D8").Select
Este comando define que a formatao da tabela ser feita no intervalo das clulas A3 at D8.
teremos que mudar isso para que a formatao de nossa tabela fique genrica.
Ao invs de utilizar o comando Range("A3:D8").Select, podemos troc-lo por este outro:
Selection.CurrentRegion.Select
Este comando indica que a formatao dever ser feita no intervalo de clulas selecionadas.
Neste caso, para executar a macro daqui por diante ser preciso selecionar as clulas que deseja formatar
antes de executar a macro.
A macro agora somente funciona nas clulas selecionadas da planilha.
Testando isso na planilha Turismo, antes de executar a macro, selecionamos da clula A3 at
D12. Veja que toda a tabela foi formatada.
www.webaula.com.br
Pg.: 22/22
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Este erro ocorre porque no foi selecionado nenhum intervalo de clulas para ser formatado e
o comando AutoFormatao que est inserido na macro est esperando por um intervalo de seleo.
Observe que a janela do erro possui dois botes ativos Fim e Depurar.
Se voc clicar no boto Depurar, voc ser levado para o cdigo da macro que gerou o erro.
Se voc clicar no boto Fim, simplesmente sra finalizado o processo.
Veja tambm que existe um nmero inteiro indicando o erro ocorrido. Para cada erro ocorrido
existe um nmero diferente. Para esse erro o nmero inteiro que trata disso o 1004.
TRATANDO O ERRO
Caso selecionamos no boto Depurar, somos levados para o editor do Visual Basic. A segunda
linha de cdigo fica marcada de amarelo. a que est sendo gerado o erro, ou seja, logo quando se utiliza a
AutoFormatao.
www.webaula.com.br
Pg.: 23/23
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Como j sabemos o que ocasionou o erro, no precisamos depurar o cdigo, vamos ento
parar a execuo da macro. Para isso, clicamos no boto Redefinir que est na barra de ferramentas Padro
do editor.
Para tratar este erro vamos utilizar o objeto de tratamento de erros o objeto Err. Este
objeto contm informaes sobre os erros gerados em tempo de execuo, ou seja, erros que somente
acontecem quando as macros so executadas.
Como pode ocorrer qualquer tipo de erro e em qualquer lugar do cdigo, vamos inserir a
seguinte instruo no incio do cdigo, antes de qualquer comando:
On Error Resume Next
Esta instruo simplesmente adia o tratamento do erro.
erro especfico.
No final da macro, aps o ltimo comando da macro, vamos inserir o tratamento para este
Filtro Avanado: recurso que se encontra no menu Dados, opo Filtrar. Tem a funo
de filtrar, de maneira rpida, um subconjunto de dados em uma tabela, dessa forma
os dados ficam fceis de serem localizados e trabalhados. O filtro avanado utilizado
quando temos critrios avanados para o filtro.
Inserir Caixa de Dilogo: este recurso bastante utilizado quando desejamos que
aparea para o usurio uma caixa de dilogo para que ele escolha ente uma opo ou
outra, ou informe algum dado, ou seja, para que ele interaja com o Excel de forma
simples e rpida. Para inserir uma caixa de dilogo na pasta de trabalho, voc dever
clicar com o boto direito sobre qualquer guia da planilha e selecionar a opo inserir,
aparecer uma janela para que voc escolha a opo desejada.
Planilha 1: Empresas listagem com o cdigo, nome e valores das empresas que so
usados na planilha principal. Esta planilha possui uma tabela com os dados das
empresas. Foi definido um nome para a tabela (regio das clulas A3 at C9). O nome
desta tabela Empresas.
Planilha 2: Auxiliar planilha auxiliar onde sero armazenados alguns valores a serem
utilizados pelos filtros a serem feitos.
www.webaula.com.br
Pg.: 25/25
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 26/26
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 27/27
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Vnculo da clula: este parmetro servir para armazenar o dados (no caso o nome
da empresa) a ser escolhido pelo usurio.
Linhas suspensas: este parmetro informa quantas linhas a caixa de dilogo ter, o
padro o nmero 8.
Qualquer empresa que for escolhida na caixa de combinao de nossa caixa de dilogo ter
seu ndice na clula escolhida para ser vnculo da clula, porm, para melhorarmos a performance de nosso
pequeno sistema, vamos fazer o seguinte: de acordo com o ndice da clula da empresa escolhida iremos
buscar o nome da empresa na planilha Empresas e coloc-lo em outra clula.
www.webaula.com.br
Pg.: 28/28
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
empresa.
Na caixa de dilogo que aparecer, deixar selecionada a opo Filtrar a lista no local.
Criamos nossa primeira macro que executa a ao de filtrar os dados de acordo com uma
dado da tabela.
Lembre-se de ficar com alguma clula da planilha Aes selecionada, alguma clula que possua
Vamos opo Ferramentas / Macro / Gravar nova macro. Daremos nome macro de
Exibir_Tudo. A descrio da mesma ser: Macro para mostrar todos os dados da tabela de Aes. Clique em
Ok.
O passo para gravao da macro :
empresa.
Simplesmente, fizemos uma macro que abre a caixa de dilogo para seleo de alguma
www.webaula.com.br
Pg.: 30/30
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 31/31
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Estrutura do VBA
Variveis;
Tipos de variveis;
Declarao de variveis;
Constantes;
Mdulos;
Procedimentos;
Funes;
PROGRAMAO EM VBA
J vimos que, para programarmos qualquer coisa em VBA, no Excel, necessrio acessarmos
a opo Ferramentas / Macro / Editor do Visual Basic.
Acessando esta opo podemos estar criando e editando cdigos da linguagem, sejam
cdigos de uma macro ou de uma funo definida pelo usurio.
Veremos os fundamentos da linguagem VBA, sua estrutura fundamental e os principais
elementos da linguagem.
www.webaula.com.br
Pg.: 32/32
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
VARIVEIS
Variveis so espaos alocados na memria do computador especficos para cada programa
que podem ser modificadas durante a execuo do cdigo deste programa.
Cada varivel tem um nome que a identifica unicamente no escopo a que ela est ligada. A
varivel pode possuir um tipo ou no. Associar um tipo a uma varivel seria dizer que a varivel ir receber
durante a execuo do programa valores inteiros, varivel do tipo inteiro; ou seno valores de data e hora,
varivel do tipo data; e, assim por diante.
A vantagem de se especificar um tipo a uma varivel que j fica definido que a varivel ir
receber esse tipo de valor durante toda a execuo do cdigo daquele programa. Isso facilita na resoluo de
erros que podem ocorrer com valores associados incorretamente a variveis, como, por exemplo, uma
varivel recebe um nmero decimal e depois recebe um valor texto.
Os nomes de uma varivel precisam ser iniciados com algum caractere. Podem conter dgitos,
s no pode comear pro dgito. No podem conter espaos em branco. No podem conter caracteres
invlidos, como, +, &, ^, *, entre outros. Variveis no podem receber nomes de palavras-chaves da
linguagem. O tamanho do nome de uma varivel so 255 caracteres.
Exemplos de nomes de variveis:
Variveis invlidas
Explicao
1num
num 9
data+hora
dim
Variveis vlidas
Explicao
num1
data_hora
texto
TIPOS DE VARIVEIS
Os tipos de variveis encontrados no VBA so:
www.webaula.com.br
Pg.: 33/33
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
falso (False ).
Boolean tipo em que a varivel somente recebe dois tipos de valores: verdadeiro (True) ou
Byte tipo inteiro onde o valor assumido pela varivel varia no intervalo de 0 at 255.
32.767
Integer tipo inteiro onde o valor assumido pela varivel varia no intervalo de -32.768 at
Long tipo inteiro onde o valor assumido pela varivel varia no intervalo de -2.147.483.648
at 2.147.483.647
Single tipo decimal onde o valor assumido pela varivel varia no intervalo de -3,402823E38
at -1,401298E-45 (para valores negativos) e 1,401298E-45 at 3,402823E38 (para valores positivos).
Double tipo decimal onde o valor assumido pela varivel varia no intervalo de 1,79769313486232E308 at -4,94065645841247E-324 (para valores negativos) e 4,94065645841247E324 at 1,79769313486232E308 (para valores positivos).
Currency tipo decimal onde o valor assumido pela varivel varia no intervalo de 922.337.203.685.477,5808 at 922.337.203.685.477,5807 (utilizado para valores monetrios).
Decimal tipo decimal onde o valor assumido pela varivel varia no intervalo de +/79.228.162.514.264.337.593.543.950.335
(sem
casas
decimais)
e
+/7,9228162514264337593543950335 (com casas decimais)
31/12/9999
Date tipo data onde o valor assumido pela varivel varia no intervalo de 01/01/100 at
String tipo texto onde o valor assumido pela varivel varia no intervalo de 1 at
aproximadamente 2 bilhes de caracteres (65.400 se tamanho fixo)
Object tipo genrico para referncia a objetos.
DECLARAO DE VARIVEIS
A declarao de varivel importante para que voc no cometa erros ao construir algum
cdigo de programao, conforme j dito anteriormente, inserir um valor inteiro para uma varivel e depois,
inserir, para esta mesma varivel um valor string (texto).
Declarando variveis fica mais fcil uma futura manuteno no cdigo. Alm de se declarar a
varivel e definir seu tipo, voc poder indicar com um comentrio frente o que e para que servir a varivel.
O Editor do Visual Basic possui duas formas de trabalhar no que diz respeito a variveis. Voc
pode definir se deseja que seja obrigatria a declarao de todas as variveis ou no.
Para informar ao Editor do Visual Basic que a declarao de variveis obrigatria, voc
precisa selecionar no menu Ferramentas / Opes e marcar a opo Requer declarao de variveis.
Fazendo isso, toda vez que voc criar um mdulo para desenvolvimento de algum cdigo,
para alguma rotina a ser executada aparecer no alto da tela do mdulo as palavras chaves:
Option Explicit
Verifique isso, selecionando na opo Inserir / Mdulo.
www.webaula.com.br
Pg.: 34/34
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
cdigo.
Note que no mdulo j vem as palavras-chaves que indicam que a declarao de variveis
A declarao de variveis depende da utilizao que voc far das variveis dentro de seu
Caso voc queira que a varivel seja visvel em todos os mdulos e durante toda a execuo
do programa, voc dever utilizar a instruo Public.
Caso voc queira que a varivel seja visvel apenas no prprio mdulo e durante toda a
execuo do programa, voc dever utilizar a instruo Private. Usando essa instruo em algum mdulo
voc no conseguir acessar essa mesma varivel em outro mdulo.
Caso voc queira que a varivel seja visvel apenas no prprio procedimento e durante a sua
execuo, voc dever utilizar a instruo Dim.
Abaixo seguem alguns exemplos de declarao de variveis:
CONSTANTES
Constantes so valores fixos que podem ser utilizados no programa.
Suponhamos que voc deseja fazer um programa onde ser preciso algumas mensagens prdefinidas em vrios lugares do cdigo.
Voc pode declarar uma constante para cada constante e no momento que precisar, utilizar a
constante adequada.
www.webaula.com.br
Pg.: 35/35
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
OPERADORES
Para realizarmos as diversas operaes entre as variveis precisamos utilizar os operadores
contidos no VBA. Os operadores so:
Aritmticos
+
Adio
Subtrao
Multiplicao
Mod
Exponenciao
Texto
&
www.webaula.com.br
Pg.: 36/36
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Igual a
<>
Diferente de
>
Maior que
>=
Maior ou igual a
<
Menor que
<=
Menor ou igual a
Lgicos
And
E lgico
Or
Ou lgico
Not
Negao
Operador
Operao
Exponenciao
*,/
Multiplicao e diviso
Diviso inteira
Mod
+,-
Adio e subtrao
&
Concatenao
Relacionais
Lgica
A ESTRUTURA DO VBA
O Editor do Visual Basic, como j deve ter percebido, dividido em mdulos. Podemos criar
nossas rotinas em mdulos diversos ou todas em um nico mdulo.
Quando criamos uma macro, o cdigo da mesma localiza-se dentro de um mdulo.
O mdulo, ento, o local onde armazenamos os cdigos de nossas rotinas.
www.webaula.com.br
Pg.: 37/37
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
PROCEDIMENTOS
Quando certa seqncia de instrues de um cdigo (programa) executada repetidamente
em diferentes partes do cdigo, deve ser criado um procedimento que substitua e concentre num nico local a
seqncia de instrues relativa rotina a ser executada.
Da o procedimento ser conhecido como rotina.
Imagine que sempre voc precisa testar os erros em suas macros, como j fizemos em
tpicos anteriores. Ao invs de criarmos os cdigos de tratamento de erros em cada macro, podemos criar
um procedimento genrico para tratamento de erros de macros e utilizar esse procedimento em cada cdigo
da macro. Desta forma estaramos racionando o trabalho.
O uso de procedimentos aumenta a produtividade do programador, pois diminui o tamanho
global do cdigo a escrever, facilita a edio da seqncia de instrues relativa tarefa e minimiza a potencial
ocorrncia de erros, pois, se voc reescreve o cdigo vrias vezes, a chance de errar bem maior.
Imagine que depois de tudo feito, uma regra de negcio modificada, imagine o trabalho que
no daria se voc tivesse que trocar essa regra de negcio em cada parte do cdigo que escreveu, seria
muito mais trabalhoso e voc poderia acabar esquecendo algum lugar.
Existem dois tipos de rotinas:
Sub;
Function.
SUBS E FUNCTIONS
A diferena primordial de subs e functions que um procedimento - sub no retorna nenhum
valor, j uma funo function retorna um valor definido.
Existem outras diferenas ente subs e functions, a saber:
Como a function retorna algum valor necessrio (no obrigatrio) que a mesma
seja tipada, isto , seria interessante definirmos um tipo para o valor retornado pela
funo;
Uma function sempre dever ser atribuda a alguma varivel, um sub no atribudo a
nada, ele simplesmente utilizado no cdigo;
A sintaxe de um sub :
Sub NomedoSub (argumentos)
Comandos
End Sub
A sintaxe de uma function :
www.webaula.com.br
Pg.: 38/38
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
CONSTRUINDO PROCEDIMENTOS
Para construir um procedimentos, entramos no Editor do Visual Basic e inserimos um mdulo:
Inserir / Mdulo.
Vamos construir inicialmente um procedimento que no possui parmetro nenhum.
O procedimento que iremos construir simples: iremos mostrar um nmero de mensagens na
tela para o usurio poder visualizar.
Alguns comandos utilizados neste procedimento ainda no foram estudados, sero vistos
mais frente no curso, mas copie o cdigo como acima para que possamos testar a utilizao de
procedimentos.
Observe tambm que podemos colocar comentrios em vrias regies de nosso cdigo. O
Visual Basic considera que tudo que est ps um apstrofe um comentrio, por esse motivo que podemos
ter comentrios logo no incio da linha ou na mesma linha de um cdigo, aps o cdigo.
Este procedimento bastante simples. Inicialmente declaramos as variveis e depois fazemos
com que a varivel msg receba a mensagem a aparecer para o usurio. Depois utilizamos o comando for para
fazer o seguinte, para num (que outra varivel) variando de 1 at 3 mostre a mensagem na tela.
TESTANDO PROCEDIMENTOS
Para testarmos o procedimento faamos o seguinte: a janela Verificao Imediata
estar visvel no editor. Se no estiver, vamos em Exibir / Janela Verificao Imediata.
deve
www.webaula.com.br
Pg.: 40/40
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
CONSTRUINDO FUNES
A nossa funo ir receber dois nmeros e retornar como resultado a adio da multiplicao
ente os dois nmeros e a diviso ente eles.
outro mdulo.
Para fazermos a funo, podemos utilizar o mesmo mdulo onde est o procedimento ou um
Note que a funo possui dois parmetros inteiros. Isto uma limitao para ela, pois os
valores do tipo integer tm um intervalo de variao pequeno. Se voc passar um argumento com um valor
muito grande, a funo dar um erro ao ser executada. Isso pode ser tratado da mesma forma que tratamos
erros de nossas macros no incio do curso. Vermos novamente mais frente.
Observe tambm que a funo definida como do tipo single, pois mesmo entrando com 2
valores inteiros teremos ocasies em que a diviso dar como resultado um nmero decimal e por isso ao ser
somada com a multiplicao o nmero decimal.
www.webaula.com.br
Pg.: 41/41
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
TESTANDO FUNES
Para testar um procedimento vimos que basta utilizar a Janela Verificao Imediata. Pois
bem, para testarmos funes tambm, porm ao invs de utilizarmos a palavra-chave call, iremos utilizar o
sinal de interrogao ?.
Devemos digitar:
? NomedaFuno Argumentos
Com a funo fica assim:
? Calculo 3 , 4
Ao pressionar ENTER, aparece o resultado logo abaixo:
12,75
Quando criamos procedimentos vimos que os mesmo aparecem no Excel como se fossem
macros, ou seja, se voc for em Ferramentas / Macro / Macros, os procedimentos criados estar listados l.
Mas se formos em Macros agora veremos que a funo criada no est l.
Quando criamos uma funo no Editor do Visual Basic, esta funo recebe a denominao do
Excel de funo Definida pelo Usurio.
Para verificar isso, vamos em Inserir / Funo. Na caixa que se abre escolhemos a categoria
Definida pelo Usurio. Vemos que a funo est l.
www.webaula.com.br
Pg.: 42/42
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Ao utilizar a funo veremos que ela possui os dois argumentos definidos por ns na funo:
CAIXAS DE MENSAGEM
Como j vimos no exemplo que fizemos de procedimento, algumas vezes precisamos que
aparea uma caixa de mensagem para o usurio.
Essa caixa de mensagem pode ser apenas para efeito de informao como tambm pode ser
uma forma do usurio interagir com a ao a ser executada, pois, se a caixa de mensagem traz uma
pergunta e dependendo da resposta que ele der, uma determinada ao executada.
Existem dois tipos de caixas de mensagens que iremos aprender neste tpico:
MsgBox
InputBox
mesma:
Tipo
Explicao
www.webaula.com.br
Pg.: 43/43
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
vbExclamation
vbCritical
vbQuestion
Boto
Explicao
vbOkOnly
Boto Ok
vbOkCancel
Botes Ok e Cancelar
vbAbortRetryIgnore
vbYesNo
Botes Sim e No
vbYesNoCancel
vbRetryCancel
Para os tipos de botes mostrados acima, dependendo do boto clicado pelo usurio existir
um tipo retornado para a ao referente a ele ser executada.
Os tipos possveis a serem retornados so:
Resposta
Explicao
vbOk
vbCancel
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
O cdigo abaixo serve para testarmos as caixas de mensagem com componentes diferentes.
Ainda no estaremos testando o valor retornado pela caixa de mensagem.
www.webaula.com.br
Pg.: 44/44
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
No cdigo anterior, no final de algumas linhas voc ver que existe o smbolo _ (underscore).
Este smbolo utilizado quando o contedo de uma linha no terminou e continua na prxima linha. Se voc
quiser, voc poder digitar sem o underscore, porm, ter que fazer cada comando numa linha.
O comando select veremos nos prximos tpicos do nosso curso. Para testar os tipos de
caixa de mensagem retornados, utilizamos a Janela Verificao Imediata. Digitamos o nome do
procedimento seguido por um nmero, variando de 1 a 6, que so os tipos de exemplos inseridos no cdigo.
Veremos que para cada nmero utilizado no teste ser retornada uma caixa de mensagem
diferente com botes diferentes, como os dois exemplos que seguem:
www.webaula.com.br
Pg.: 45/45
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 46/46
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
caixa de texto.
A InputBox uma caixa de mensagem onde o usurio pode informar um valor qualquer numa
qualquer coisa.
Ao testar o procedimento acima, veremos que aparecer uma InputBox onde digitaremos
Logo em seguida, ao clicarmos em Ok, aparecer uma caixa de mensagem com o que voc
digitou na InputBox.
www.webaula.com.br
Pg.: 47/47
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
ESTRUTURAS CONDICIONAIS
As estruturas condicionais no VBA servem para ser utilizadas quando precisamos analisar
determinada condio ou expresso e dependendo do caso, essa condio ou expresso testada retorna algo
diferente para cada situao.
Aprenderemos duas estruturas condicionais:
If
Select
O COMANDO IF
O comando If bastante similar funo Se do Excel.
O comando If analisa uma condio e se o resultado for verdadeiro executa determinado(s)
comando(s), caso contrrio, pode no fazer nada ou executar outro(s) comando(s)
A sintaxe do comando If :
If condio Then
Comandos a serem executados caso condio seja verdadeira
End If
Na sintaxe acima o comando If mostrado da forma mais simples, ou seja, se a condio for
verdadeira os comandos dento do If sero executadas.
Outra sintaxe para o comando If :
If condio Then
Comandos a serem executados caso condio seja verdadeira
Else
Comandos a serem executados caso condio seja falsa
End If
Voc pode fazer mais interaes com o comando If, imagine que voc possui vrias condies
a serem testadas, voc pode usar o comando If assim:
www.webaula.com.br
Pg.: 48/48
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Observe que estamos utilizando o comando If ... ElseIf ... Else ... End If, pois temos vrias
situaes de intervalos de notas para os alunos.
O cdigo acima define a funo Conceito:
www.webaula.com.br
Pg.: 49/49
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
aluno.
A janela de argumentos da funo contm o nico argumento desta funo que a nota do
Para finalizar temos que fazer alguns tratamentos na funo, por exemplo, o que acontecer
se a nota for maior do que 100 ou menor do que 0? Isso um erro, pois as notas variam de 0 a 100.
Para isso vamos acrescentar ao cdigo da funo o seguinte: se a nota for menor do que 0
ou maior do que 100, o conceito do aluno ser I (invlido). Desta forma termos mais uma estrutura if para
ser completada.
www.webaula.com.br
Pg.: 50/50
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
O COMANDO SELECT
O comando Select analisa uma expresso que pode retornar algum valor, e, para cada valor
retornado pode ser executado determinado comando ou comandos.
A sintaxe do comando Select :
Select Case expresso
Case valor 1
Comando a ser executado caso a expresso retorne valor 1
Case valor 2
Comando a ser executado caso a expresso retorne valor 2
...
Case valor N
Comando a ser executado caso a expresso retorne valor N
Case Else
Comando a ser executado caso no retorne nenhum valor testado acima
End Select
Para aprendermos a utilizao do comando Select, vejamos o cdigo abaixo:
www.webaula.com.br
Pg.: 51/51
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Verifique que o usurio poder digitar qualquer valor do tipo byte, ou seja, algum valor
variando de 0 a 255. Se ele digitar 1, 2 ou 3 aparecer uma mensagem para ele de Bom dia, Boa tarde ou
Boa noite.
Note que, a ltima instruo do comando Select um Case Else, isto quer dizer que, se o
usurio digitar qualquer nmero diferente de 1, 2 ou 3 ser executada a expresso que est dentro desta
clusula.
ESTRUTURAS DE REPETIO
As estruturas de repetio no VBA servem para quando precisamos repetir um mesmo
comando ou uma mesma seqncia de comandos um nmero determinado de vezes.
Aprenderemos duas estruturas de repetio:
For
While
O COMANDO FOR
O comando For faz com que determinadas instrues sejam executadas enquanto um
incrementador estiver variando de um nmero at outro.
A sintaxe do comando For :
For Contador = Valor Inicial To Valor Final
Comandos a serem executados
Next
Um exemplo do uso do comando For :
For num = 1 To 3
MsgBox Mensagem nmero: & num
Next
Sero mostradas trs caixas de mensagens, ou seja, ser mostrada a caixa de mensagem
com a mensagem Mensagem nmero: 1, depois ser mostrada a caixa de mensagem com a mensagem
www.webaula.com.br
Pg.: 52/52
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 53/53
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
utilizamos
comando
O COMANDO WHILE
Como o comando For, o comando While tambm como estrutura de repetio. Ele funciona
da seguinte forma: enquanto uma condio for verdadeira as instrues no interior do While sero
executadas.
A sintaxe do comando While :
While Condio
Comandos a serem executados enquanto a condio for verdadeira
Wend
Como exemplo, faremos o seguinte se o valor contido na clula for menor do que 50.000 a
clula ser preenchida da cor vermelha, agora, se o valor contido na clula for maior ou igual a 50.000 a clula
ser preenchida da cor verde.
Para fazermos essa rotina precisaremos utilizar mais alguns conceitos do Excel e do VBA,
como, por exemplo, a funo IsNumeric que testa se determinado valor nmero ou no. Essa funo
bastante utilizada par evitarmos erros desnecessrios.
Veremos em mais exemplos mais funes do VBA, algumas funes pr-definidas pelo VBA
tem caractersticas semelhantes IsNumeric, tais como:
Todas essas funes sempre retornam um valor booleano (lgico) verdadeiro ou falso.
Vejamos o cdigo abaixo:
www.webaula.com.br
Pg.: 54/54
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 55/55
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 56/56
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
seguir:
www.webaula.com.br
Pg.: 57/57
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Antes de depurar um cdigo temos que definir os pontos de interrupo para que a depurao
comece a partir dali. Este ponto de interrupo nada mais do que a marca onde daremos incio depurao
do cdigo linha a linha. Muitas vezes este ponto no precisa ser na primeira linha do cdigo da rotina, mas
sim, no lugar em que voc acha que est o erro.
Neste exemplo vamos marcar como ponto de interrupo a linha:
TotalLinha = Selection.Cells.Count
Observao: Voc no consegue marcar como ponto de parada linhas de comentrio e nem
linhas de declarao de variveis e constantes, somente linhas de comando.
Para marcar uma linha como ponto de interrupo, fazemos o seguinte:
Com o cursor na linha definida acima, selecionamos a opo Ativar/desativar pontos de
interrupo na barra de ferramentas Depurar.
Com o cursor na linha pressionamos a tecla F9.
Com o mouse, clicamos na regio cinza logo frente da linha.
www.webaula.com.br
Pg.: 58/58
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
amarelo.
Voc levado para o cdigo e a linha que marcou como ponto de interrupo fica marcada de
O valor atual dela 0 (zero). Pressionando a tecla F8 a linha amarela que marca a linha de
cdigo que est sendo executada passa para a prxima linha de comando. Apontando o mouse novamente
para a varivel TotalLinha o valor atual j mudou.
www.webaula.com.br
Pg.: 59/59
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
O que aconteceu? Ao avanarmos para a prxima linha, pressionando a tecla F8, a varivel
TotalLinha recebeu o total de linhas selecionadas.
Agora se apontamos o mouse para a varivel Linha, veremos que ela est com o valor 0
(zero), se pressionar F8 novamente, ela receber o valor 1 (um).
Uma outra forma de visualizar o contedo de uma varivel no momento utilizando a Janela
Variveis locais. Acionamos esta opo na barra de ferramentas Depurar.
Esta janela traz todas as variveis utilizadas na rotina e, medida que voc vai depurando o
cdigo (pressionando a tecla F8) as variveis vo trocando de valores.
Ao pressionarmos a tecla F8 vrias vezes, observamos que a linha amarela vai trocando at
que retorna para a linha:
Range("G" & Linha).Select ' Define a clula ativa no momento
Isso acontece porque estamos dentro de um comando de repetio.
Voc no precisa ficar depurando o cdigo at o fim, voc pode test-lo at encontrar o
problema, caso tenha algum problema e depois parar a execuo ou terminar a execuo.
Para interromper a depurao voc pode utilizar os comandos Continuar na barra de
ferramentas Depurar ou Redefinir tambm na barra de ferramentas Depurar.
Observao: No se esquea de, aps terminar a depurao de um cdigo, desmarcar todos
os pontos de parada do mesmo.
www.webaula.com.br
Pg.: 60/60
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Utilizaremos alguns tratamentos de erro, melhorando para o usurio a utilizao das rotinas
Usaremos uma rotina onde o usurio entrar com dois nmeros inteiros e retornaremos em
duas clulas diferentes do Excel o resultado da diviso inteira e o resultado do resto da diviso inteira.
Para entendermos o processamento da rotina, a planilha mostrada conforme abaixo:
www.webaula.com.br
Pg.: 61/61
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Executando a macro, se o usurio sempre inserir valores inteiros nas duas caixas de entrada,
a rotina sempre executar corretamente.
Observe que os dois nmeros inteiros que digita em cada caixa de entrada aparecem,
respectivamente, nas clulas B3 e B4, conforme descrito no cdigo da rotina e, logo em seguida, o resultado
da diviso e do resto da diviso aparecem nas clulas B6 e B7.
Testando a rotina, acionarmos a macro surge a primeira caixa de entrada Digite o dividendo.
Digitamos o valor inteiro 10 nesta caixa e damos Ok. Ao fazermos isso, aparece a segunda
caixa de entrada Digite o divisor.
www.webaula.com.br
Pg.: 62/62
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Digitamos o valor 3 nesta caixa e tambm demos Ok. O resultado ser: quociente = 3 e resto
GERANDO ERROS
Experimentaremos agora executar a macro novamente e vamos comear a gerar alguns
erros propositadamente.
Primeiro: digitando tanto no dividendo ou no divisor um texto, ao invs de um nmero inteiro.
Aparecer o seguinte erro:
valor texto.
O erro aparece porque num1 ou num2 so variveis do tipo inteiro e no admitem receber
Se voc clicar no boto Depurar, aparecer marcada de amarelo exatamente a linha que deu
erro, ou a linha do num1 recebendo o valor da caixa de entrada do dividendo ou a linha da varivel num2
recebendo o valor da caixa de entrada do divisor. Como j sabemos qual o erro, para parar a depurao
marque o boto Redefinir.
Se voc clicar no boto Fim, simplesmente parar a execuo.
Observe que o nmero do erro gerado foi 13 Tipos Incompatveis. Para cada erro que pode
ocorrer existe um nmero de erro especfico e uma descrio.
numrico.
O erro acima ocorrer caso digite um texto ou uma data ou qualquer outro valor que no seja
Segundo: outro erro que poder ocorrer fcil de gerarmos tambm. Executando a macro,
inseriremos qualquer valor no dividendo e no divisor digitaremos 0. Aparecer o erro abaixo:
www.webaula.com.br
Pg.: 63/63
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Isto significa que um erro a diviso por zero e este erro, no VBA tratado como o erro de
Terceiro: mais um erro que pode ocorrer o seguinte: digitando tanto como dividendo ou
como divisor um nmero muito grande, maior que 32768. Lembre-se: os nmeros inteiros variam num
intervalo de -32768 a +32767. O erro abaixo ocorrer:
O erro de cdigo 6, o erro que informa estouro no limite aceito pela varivel.
Vimos que muitos erros podem ocorrer numa rotina simples como esta que, simplesmente,
executa duas operaes matemticas: uma diviso inteira e um resto da diviso inteira.
usurio.
Alm destes trs erros que testamos, pode at ser que outros erros possam ser gerados pelo
Por este motivo teremos que aprender como tratar esses erros, ou seja, como no deixar
que o erro estoure na tela do usurio aparecendo uma mensagem para ele que ele no entenda.
TrataErro.
Para realizarmos o tratamento de erro da rotina Divisao, logo abaixo dela criaremos a rotina
Voc observou que sempre o cdigo do erro gerado pelo VBA um valor numrico inteiro,
no ? Ento desta forma, o parmetro de entrada desta rotina ser um parmetro inteiro. Para no termos
problemas de estouro com este parmetro, iremos declar-lo do tipo Long.
Testamos tambm trs tipos de erros retornados, os tipos de cdigo 13 tipos
incompatveis, 11 diviso por zero e 6 estouro de limite.
Vamos utilizar o comando Select para testar estes valores retornados e ainda utilizar uma
clusula Else do Select caso outro erro no tratado por ns aparea.
Criamos a rotina conforme a seguir:
www.webaula.com.br
Pg.: 64/64
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
comando:
Exit Sub?
Somente um detalhe deste cdigo ainda no foi explicado. Qual o porqu da linha de comando
Este comando ser preciso por que toda vez que executarmos esta rotina, caso no d
nenhum erro a execuo normal ser feita e logo aps o comando Range("B7").FormulaR1C1 = resto, o
prximo comando a ser executado seria TrataErro Err.Number.
Desta forma sempre iramos executar a rotina de tratamento de erro e isso no preciso,
pois, somente ser preciso quando de fato der erro. Por este motivo, utilizamos o comando Exit Sub,
informando que ali o final normal da rotina caso no ocorra erro algum.
www.webaula.com.br
Pg.: 65/65
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Objeto Err
Propriedades
Number
Description
Source
www.webaula.com.br
Pg.: 66/66
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
HelpContext
LastDLLError
Clear
Raise
Observe que estamos gerando o erro 11 com a ajuda do mtodo Raise. Para modificar o erro
gerado modifique o nmero 11 por outro.
Para testarmos a rotina, utilizamos a janela Verificao Imediata do editor.
Observao: na construo da mensagem de erro foi utilizada a constante vbCrLf que uma
constante prpria do VBA que significa quebra de linha.
www.webaula.com.br
Pg.: 67/67
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Objeto Application
2.
Objeto Workbooks
3.
Objeto Worksheets
4.
Objeto Range
Destes quatro objetos listados acima, j trabalhamos algumas vezes com o objeto Range. Ele
foi utilizado quando queramos trabalhar com uma clula ou um intervalo de clulas.
Mas vejamos hierarquicamente cada um dos objetos.
O objeto Application o prprio aplicativo Excel, ou seja, a aplicao como um todo. Este
objeto contm um conjunto de Workbooks.
O objeto Workbook cada arquivo aberto do Excel, ou seja, cada pasta de trabalho. Este
objeto possui um conjunto de Worksheets.
O objeto Worksheet cada planilha dentro de uma pasta de trabalho, desta forma quando
queremos trabalhar com planilhas utilizamos este objeto. Este objeto contm um conjunto de Ranges.
O objeto Range, como j visto representa uma clula ou um conjunto de clulas.
O OBJETO APPLICATION
O objeto Application utilizado quando queremos de alguma forma trabalhar com a aplicao
do Excel como um todo.
Algumas propriedades e mtodos do objeto Application sero vistos por ns.
O mtodo Caption modifica o nome do aplicativo Microsoft Excel para o nome que
desejamos. Desta forma se escrevemos:
Application.Caption = Teste de Ttulo
Na barra de ttulos do Excel, ao invs de termos Microsoft Excel, estar Teste de Ttulo.
A rotina a seguir nos mostra como mudar o nome do aplicativo:
www.webaula.com.br
Pg.: 68/68
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 69/69
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
A execuo desta rotina na janela Verificao Imediata faz com que a macro FormataFonte2
seja executada com a fonte e a cor informadas. A clula selecionada ficar com a formatao escolhida.
Exemplo:
ExecutaMacro2 "Times New Roman", 6 (fonte Times New Roman e cor amarela);
O OBJETO WORKBOOKS
O objeto Workbooks utilizado quando queremos de alguma forma trabalhar com as pastas
de trabalho do Excel.
Algumas propriedades e mtodos do objeto Workbooks sero vistos por ns.
Vimos que no objeto Application o mtodo Quit encerra a aplicao, ou seja, fecha o Excel.
Para fecharmos uma pasta de trabalho especfica, utilizamos o mtodo Close.
O cdigo a seguir mostra um exemplo do mtodo Close:
Para testarmos esta rotina, suponhamos que temos um arquivo aberto chamado
Divisao.xls. Podemos utilizar esta rotina FecharArquivo na janela verificao Imediata da seguinte forma:
www.webaula.com.br
Pg.: 70/70
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Ao realizar o teste desta rotina voc ter que passar como parmetro no somente o nome
do arquivo que ser aberto, como foi feito no teste anterior da rotina para fechar o arquivo, mas tambm o
caminho completo que leva at o arquivo.
forma:
Por exemplo, para testar esta rotina utilizando a janela Verificao Imediata, faa da seguinte
AbrirArquivo "C:\Excel\Divisao.xls"
Onde:
C:\Excel\ a pasta em seu computador onde est gravado o arquivo Divisao.xls.
O OBJETO WORKSHEETS
O objeto Worksheets utilizado quando queremos de alguma forma trabalhar com as
planilhas contidas em uma pasta de trabalho do Excel.
Algumas propriedades e mtodos do objeto Worksheets sero vistos por ns.
Vamos, primeiramente, visualizar um cdigo para nomear planilhas.
Para testar esta rotina utilizando a janela Verificao Imediata fazemos da seguinte forma:
NomearPlanilha 1, "Teste 1"
www.webaula.com.br
Pg.: 71/71
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Isto porque voc tentou acessar uma planilha inexistente em sua pasta de trabalho.
Para criamos uma nova planilha em uma pasta de trabalho vamos utilizar o seguinte cdigo:
Com este cdigo podemos criar uma planilha onde acharmos necessrio. Por padro, sempre
uma planilha inserida na posio anterior planilha que est selecionada.
Para excluirmos uma planilha o processo semelhante ao da criao, porm, ao invs do
mtodo Add, utilizaremos o mtodo Delete.
Veja o cdigo a seguir:
Com este cdigo voc pode excluir uma planilha passando como parmetro o nmero (ndice
da mesma) ou o nome da planilha.
Observe que utilizamos antes do nome de cada parmetro a palavra-chave Optional, ela tem
a finalidade de informar que o parmetro no obrigatrio. Por isso existem duas forma para testar essa
rotina:
www.webaula.com.br
Pg.: 72/72
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
ExcluirPlanilha 1
ExcluirPlanilha ,"Plan3"
Veja que no primeiro teste, passamos somente o nmero da planilha que queremos apagar.
No segundo teste passamos virgula seguido do nome da planilha que queremos apagar. Em ambos os casos
omitimos um dos parmetros.
O OBJETO RANGE
O objeto Range, com certeza, o mais utilizado por ns, por este mesmo, at antes de
falarmos diretamente sobre ele j o utilizamos algumas vezes.
Utilizamos o objeto Range quando queremos trabalhar com determinada clula ou
determinado intervalo de clulas.
Por exemplo, podemos querer que determinada clula receba determinado valor, ou podemos
querer ler os valores contidos em vrias clulas.
Podemos ainda querer formatar um determinado intervalo de clulas. Para tudo isso utilizamos
o objeto Range.
Observe a rotina a seguir, onde, primeiramente, contamos a quantidade de clulas que existe
no intervalo de B2 at B8. Depois que fazemos isso, somamos os valores que esto dentro de cada clula.
Logo em seguida extramos a mdia destes valores, dividindo a soma pela quantidade. Com a mdia
formatamos a clula para que nela somente tenha duas casas decimais.
www.webaula.com.br
Pg.: 73/73
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 74/74
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Para cada evento que voc selecionar na caixa de combinao direita surgir um
procedimento para voc construir o cdigo do mesmo.
www.webaula.com.br
Pg.: 75/75
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Para cada evento que voc selecionar na caixa de combinao direita surgir um
procedimento para voc construir o cdigo do mesmo.
O evento BeforeRightClick ocorre quando voc clica com o boto direito do mouse em alguma
clula de sua planilha.
Quando faz isso, antes de aparecerem as opes disponveis ao clicar com o boto direito do
mouse, sero executados os comandos que esto dentro do evento BeforeRightClick.
Podemos testar este evento tambm.
Range.
procedimento.
Estes parmetros, no necessariamente precisam ser utilizados no cdigo que vir dentro do
www.webaula.com.br
Pg.: 77/77
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Voc v que a varivel Target a mesma coisa de utilizarmos o objeto ActiveCell, ou seja, a
clula ativa ou clulas ativas que foram selecionadas.
www.webaula.com.br
Pg.: 78/78
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
possvel no editor do Visual Basic criarmos formulrios para entrada de dados em nossas
Para trabalharmos com formulrios no Editor do Visual Basic acessamos a opo Inserir e
criamos um UserForm. Aparecer um userform para que possamos trabalhar.
Faremos uma breve descrio sobre cada um dos componentes desta caixa de ferramentas:
1.
2.
www.webaula.com.br
Pg.: 79/79
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
4.
5.
Caixa de Listagem o controle que conter uma listagem de itens onde o usurio
pode escolher um nico item ou vrios itens.
6.
7.
Boto de Opo utilizado quando o usurio somente pode escolher uma opo
dentre uma lista de opes.
8.
9.
www.webaula.com.br
Pg.: 80/80
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
CRIANDO FORMULRIOS
Faremos um exemplo para aprendermos formulrios.
Precisaremos de uma planilha conforme abaixo. O nome dessa planilha ser Funcionarios.
www.webaula.com.br
Pg.: 81/81
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
trabalharmos.
Funcionrios
Agora, iremos comear a inserir os controles no formulrio. Para inserir cada controle, voc
somente precisa selecionar o controle desejado na caixa de ferramentas e depois desenh-lo no formulrio.
Ns iremos inserir no formulrio os seguintes controles: 3 rtulos, 2 caixas de texto, 1 caixa
de combinao e 3 botes de comando.
A figura abaixo demonstra como o formulrio ir ficar:
TabIndex ndice de tabulao (caso o usurio queira usar a tecla TAB para mudar
entre campos): 1
www.webaula.com.br
Pg.: 82/82
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Para a caixa de combinao que vem logo abaixo desta caixa de texto, definiremos as
(Name): cboCargo
TabIndex: 2
Para a segunda caixa de texto que vem abaixo da caixa de combinao, definiremos assim:
(Name): txtSalario
TabIndex: 3
(Name): cmdSalvar
Caption: Salvar
TabStop indica se o tabulador passar pelo controle (se o usurio pressionar a tecla
TAB todos os campos que esto com TabStop = True sero acionados na seqncia
do TabIndex): False
Boto Limpar:
(Name): cmdLimpar
Caption: Limpar
TabStop: False
Boto Fechar:
(Name): cmdFechar
Caption: Fechar
TabStop: False
Para configurar cada propriedade do controle basta selecionar o controle com um nico clique
do mouse e ir at as propriedades do mesmo.
www.webaula.com.br
Pg.: 83/83
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
PROGRAMANDO O FORMULRIO
Exibir Cdigo.
Clicando com o boto direito do mouse sobre o fundo do Formulrio, selecionaremos a opo
Vamos inserir um cdigo para que, ao ativar o formulrio a caixa de combinao cboCargo
seja preenchida com os nomes dos cargos que esto na planilha Cargos.
Para fazermos isso, verifique se na caixa de combinao Objeto est selecionado o objeto
UserForm. Caso no esteja, selecione-o. Agora, selecione o evento Activate.
Aparecer o evento abaixo:
Neste
evento,
Worksheets("Cargos").Select.
estamos
selecionando
planilha
Cargos
com
comando
momento.
A propriedade Text dos campos os valor que o campo recebe ou tem em determinado
Se o nosso formulrio tivesse mais campos, bastaria colocarmos para cada campo, a sua
propriedade Text recebendo vazio. Assim, limparamos todo o formulrio.
Este procedimento ser usado no boto Limpar, obviamente, e no boto Salvar, pois limpando
o formulrio aps o usurio clicar no boto Salvar, fica mais fcil para ele caso queira cadastrar mais
funcionrios.
Alm do procedimento Limpa que j criamos. Vamos, agora, criar a funo ValidaCadastro.
Esta funo ser responsvel por testar se todos os campos foram preenchidos e, somente se tiverem sido
preenchidos, que a gravao dos dados ser realizada.
Esta funo no somente testar se os dados foram todos preenchidos, mas no caso do
salrio, alm de testar se foi preenchido, testar tambm se foi preenchido com um valor numrico. Para este
teste utilizaremos a funo IsNumeric que retorna verdadeiro se o valor numrico e falso, caso contrrio.
Esta funo retornar, como resultado, um valor lgico (booleano). Se tudo foi preenchido
corretamente retornar o valor verdadeiro, caso contrrio retornar o valor falso.
O cdigo deste procedimento mostrado ao lado:
www.webaula.com.br
Pg.: 85/85
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
O comando Unload serve para fechar o formulrio, neste caso, estamos informando que o
formulrio frmFuncionario ser fechado.
O cdigo do boto Limpar ainda mais simples.
Teremos que acionar o procedimento Limpa j criado anteriormente.
O cdigo do boto Limpar :
www.webaula.com.br
Pg.: 86/86
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
clula.
www.webaula.com.br
Pg.: 87/87
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
www.webaula.com.br
Pg.: 88/88
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
macros.
Com esta opo selecionada, sempre que abrimos qualquer arquivo que contm macros,
antes somos perguntados se desejamos ativar as macros ou no.
Desta forma, se sabemos a procedncia do arquivo ativamos as macros nele contidas, seno
podemos desativ-las.
abaixo:
www.webaula.com.br
Pg.: 89/89
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
PROTEGENDO CDIGOS
Tudo o que voc faz no Editor do Visual Basic pode ficar disponvel somente para quem voc
permitir o acesso.
Desta forma, seu cdigo ficar protegido contra aqueles usurios que queiram abrir seus
cdigos, podendo fazer alguma mudana e at mesmo estragando-os.
Para proteger cdigos, fazemos o seguinte:
Vamos ao Editor do Visual Basic e selecione Ferramentas / Propriedades do VBAProject.
A janela com as propriedades do projeto aparecer.
www.webaula.com.br
Pg.: 90/90
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
Nesta guia, marcamos a opo Bloquear projeto para exibio. Depois, digitamos uma
senha para exibir o cdigo novamente e confirmamos a senha.
acess-lo.
Feito isso, o cdigo deste projeto est protegido. Somente quem possui a senha poder
Para desproteger cdigos, basta fazer o mesmo processo, porm, desmarcando a opo para
bloque-lo e retirando a senha e confirmao de senha.
www.webaula.com.br
Pg.: 91/91
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula
CONCLUSO
Esperamos que o contedo desta apostila tenha servido de suporte para as suas aulas.
Lembre-se que nada substitui uma boa aula de seu professor.
A informtica sofre mudanas bruscas muito rapidamente, procure no futuro uma biblioteca
auxiliar e fique atento ao lanamento de novos aplicativos e verses.
necessrio.
A Zargon Computao estar sempre ao seu dispor para solucionar dvidas quando
Atenciosamente,
Diretoria de Treinamento
Zargon Tecnologia em Informtica
www.webaula.com.br
Pg.: 92/92
Proibida a reproduo e utilizao no autorizada, de todo ou parte do contedo deste material.
Todos os direitos so reservados e licenciados pelo Grupo Zargon e Poliedro Educacional - Copyright 1999-2004 Powered by
webAula