Você está na página 1de 38

PROGRAMAO

EM
VBA
Programao em VBA =4 = www.clinicadematematica.com.br
PR-TESTE DE EXCEL AVANADO
01) No Excel, quando uma clula contm a seqncia de caracteres #####, isto indica que:
a) A frmula utilizada para gerar o valor da clula contm um erro genrico.
b) A operao utilizada contm diviso por um valor nulo.
c) Um endereo de clula na frmula faz referncia a uma clula inexistente.
d) A largura da clula menor que o nmero de dgitos do valor nela contido.
02) O que uma pasta de trabalho do Excel ?
a) Um arquivo temporrio.
b) Uma parte de uma planilha.
c) Um intervalo de clulas.
d) Um conjunto de planilhas.
03) No Excel, uma lista ou banco de dados NO pode ser definido por:
a) Um conjunto de linhas e colunas apenas com dados numricos.
b) Um conjunto de slides importado do Microsoft PowerPoint.
c) Um conjunto de linhas e colunas com qualquer tipo de dados.
d) Um banco de dados importado do Microsoft Access.
04) No Excel, o que so, respectivamente, endereos relativos e absolutos ?
a) So endereos de clulas que variam ao serem copiados ou movidos para outras clulas e endereos de clulas
que se mantm fixos ao serem copiados ou movidos para outras clulas.
b) So endereos de clulas em uma planilha e endereos de frmulas.
c) So endereos de clulas que se mantm fixos ao serem copiados ou movidos para outras clulas e endereos
de clulas que variam ao serem copiados ou movidos para outras clulas.
d) So endereos de clulas em relao planilha onde foram definidos e endereos de clulas em relao pasta
de trabalho onde foram definidos.
05) De um modo geral podemos dizer que a diferena entre os comandos Editar-Copiar e Editar-Recortar :
a) Editar-Copiar tirar o texto de um lugar e colar em outro local.
b) Editar-Recortar tirar o texto de um lugar e colar em outro local.
c) Editar-Copiar e Editar-Recortar tem a mesma funo de mover o texto de um local para o outro.
d) Editar-Copiar e Editar-Recortar tem a mesma funo de copiar o texto de um local para o outro.
06) O que so funes aninhadas no Excel ?
a) So funes cujos argumentos so formados por outras funes.
b) So funes que contm mais de um argumento.
c) So funes lgicas (SE, OU, E, etc) cujos argumentos so formados por outras funes lgicas.
d) So funes vinculadas a funes de outras planilhas.
07) Considerando que voc est trabalhando com o Excel, indique a afirmao ERRADA:
a) Os textos so alinhados normalmente esquerda das clulas, a menos que sejam formatados de outra forma.
b) As frmulas devem sempre ser iniciadas com o smbolo =(sinal de igual), com exceo das funes que no
precisam do uso desse caractere.
c) Os nmeros so alinhados normalmente direita das clulas, a menos que sejam formatados de outra forma.
d) Tanto os textos como nmeros podem ser alinhados no centro das clulas.
08) No Windows 95 o Windows Explorer um
a) dispositivo de edio de textos que permite explorar as vantagens do Word e do Excel
b) software destinado a navegar pelos endereos da Internet
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =5 = www.clinicadematematica.com.br
c) dispositivo conversor de programas fonte em programas executveis
d) dispositivo para verificar a existncia de arquivos infectados por vrus de computador
e) dispositivo que permite a visualizao de todos os arquivos em seu computador
09) Considerando que voc est editando um texto no MS-Excel 97, verso portugus, assinale a opo que indica o
resultado correto para o comando mencionado.
a) Ctrl+T faz a transferncia do texto para um arquivo a ser especificado.
b) Alt+A exibe o menu de Ajuda.
c) Alt+E abre o menu de Exibir.
d) Ctrl+Z desfaz a ltima digitao.
e) Ctrl+I abre a janela Imprimir.
10) Em relao ao MS Excel correto afirmar que
a) no pode haver relao entre o valor de uma clula e os valores de outras clulas
b) uma frmula de uma planilha pode fazer referncia a uma clula de outra planilha
c) todas as colunas de uma mesma planilha devem ter a mesma largura
d) os comandos Dividir e Congelar Painis tm a mesma funo
e) uma ou mais colunas ocultadas so transferidas para um arquivo auxiliar devendo este ser acessado para a sua
reexibio

sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =6 = www.clinicadematematica.com.br
Teclas de ATALHO
Tecla de Funo SHIFT CTRL ALT CTRL+SHIFT
ALT+
SHIFT
F1
Ajuda
O que isto ?
(Explica o que um
comando ou cone
faz)

Insere uma
nova folha de
grfico

Insere
uma nova
planilha
F2
Edita a clula ativa
Insere ou Edita um
comentrio de
clula
Salvar Como Salvar
F3
Cola um nome em uma
frmula
Colar funo
Define um nome
para uma clula ou
regio

Cria nomes
usando rtulos
de linha e de
coluna

F4
Repete a ltima ao
Localizar prxima
(Repete o ltimo
Localizar)
Fechar (Fecha a
janela aberta)
Sair (Fecha o
Programa
aberto)

F5
Ir para (seleciona uma
clula ou regio)
Localizar (Exibe a
caixa de dilogo
Localizar)
Restaurar o tamanho
da janela

F6
Move-se at o prximo
painel
Move-se at o
painel anterior
Move-se at a pr-
xima janela de pasta
de trabalho

Move-se at a
janela anterior
da pasta de
trabalho

F7
Corretor Ortogrfico
(Corrigir erros de Orto-
grafia)
Mover a janela
F8
Estende uma seleo Adiciona seleo
Redimensiona a
janela
Mostra as
MACROS
existentes

F9
Recalcula as frmulas
das clulas das plani-
lhas abertas
Calcula a planilha
ativa
Minimiza a pasta de
trabalho

F10
MENU (Torna ativa a
barra de menu)
Equivale ao BO-
TO DIREITO do
mouse
Maximiza ou restau-
ra a janela da pasta

F11
Cria um GRFICO
INSTANTNEO
Insere uma NOVA
PLANILHA
Insere uma FOLHA
DE MACRO do Ex-
cel 4.0
VBA (Exibe o
Editor do
VBA)

F12
Salvar como Salvar Abrir Arquivo Imprimir

sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =7 = www.clinicadematematica.com.br
OUTRAS TECLAS DE ATALHO
ALT+A =Abre o Menu Arqui vo
ALT+D =Abre o Menu Dados
ALT+E =Abre o Menu Editar
ALT+F =Abre o Menu Formatar
ALT+I =Abre o Menu Inserir
ALT+J =Abre o Menu Janela
ALT+M =Abre o Menu Ferramentas
ALT+U =Abre o Menu Ajuda
ALT+X =Abre o menu Exibir

CTRL+A =Abrir Arquivo
CTRL+B =Salvar
CTRL+C =Copiar
CTRL+D =Copia o contedo de cima para a clula atual
CTRL+F =Copia o contedo de cima para a clula atual permitindo a sua edio
CTRL+I =Formata para Itlico
CTRL+J =Alterna entre o resultado e a frmula
CTRL+K =Insere Hyperlink
CTRL+L =Localizar
CTRL+N =Formata para Negrito
CTRL+O =Abre uma Nova Pasta de Trabalho
CTRL+P =Imprimir
CTRL+T =Seleciona toda a Planilha
Se tiver digitado "=nome de uma funo", abre o assistente da funo
CTRL+U =Substituir
CTRL+V =COLAR o contedo da memria na clula ativa
CTRL+X =Recortar`
CTRL+Y =Vai para uma clula ou regio especfica da Planilha (equivalente a F5)
CTRL+Z =Desfazer
CTRL+W =Fechar a janela da pasta de trabalho ativa (equivalente a CTRL+F4)
CTRL+1 =Formatar Clulas
CTRL+2 =Negrito
CTRL+3 =Itlico
CTRL+4 =Sublinhado
CTRL+5 =Riscado
CTRL+9 =Oculta as linhas atualmente ativas
CTRL+PAGE DOWN =Vai para a prxima Planilha
CTRL+PAGE UP =Vai para a Planilha Anterior
CTRL+HOME =Vai para a clula A1
CTRL+END =Vai para a ltima clula escrita na planilha
CTRL+TAB =Anda pelas guias dos menus
CTRL+[ =Marca todas as clulas que originam a frmula da clula atual (antecedentes)
CTRL+] =Marca todas as clulas que usam a clula atual em suas frmulas (precedentes)
CTRL+* =Seleciona todas as clulas preenchidas, adjacentes clula atual

sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =8 = www.clinicadematematica.com.br
TABELA DINMICA
Tabela dinmica uma tabela interativa que resume uma grande quantidade de dados rapidamente ou os combina de
tabelas diferentes.
possvel girar suas linhas e colunas para ver resumos diferentes dos dados de origem, filtrar os dados exibindo
pginas diferentes ou exibir os detalhes das reas de interesse.
Voc pode criar uma Tabela dinmica a partir de uma lista ou banco de dados do EXCEL, de um banco de dados
externo (Access, por exemplo), de vrias planilhas do EXCEL ou de outra Tabela dinmica.
A Tabela dinmica resume dados usando uma funo de resumo que voc especifica, como: Soma, Contagem ou
Mdia. Voc pode incluir subtotais e totais gerais automaticamente, ou usar suas prprias frmulas adicionando cam-
pos e itens calculados.
Para criar uma Tabela dinmica, use o Assistente da tabela dinmica como guia para localizar e organizar os dados
que voc deseja analisar.
CRIANDO UMA TABELA DINMICA DO EXCEL
1. Abra a pasta de trabalho onde voc deseja criar a Tabela dinmica. Se voc estiver baseando a Tabela dinmica
em uma lista ou banco de dados do EXCEL, certifique-se de estar numa clula da lista ou do banco de dados.
2. Clique em Dados, na barra de menus.
3. Clique em Relatrio da tabela dinmica.
EXCLUINDO UMA TABELA DINMICA
1. No menu Tabela dinmica da barra de ferramentas Tabela dinmica, aponte para Selecionar e, em seguida,
certifique-se de que Ati var seleo esteja pressionado.
2. Clique em uma clula na Tabela dinmica que voc deseja excluir.
3. Na barra de ferramentas Tabela dinmica, aponte para Selecionar no menu Tabela dinmica e, em seguida,
clique em Tabela inteira.
4. No menu Editar, aponte para Limpar e, em seguida, clique em Tudo.
Observao: Quando voc exclui uma Tabela dinmica os dados de origem no so afetados.
USANDO TOTAIS
Voc pode incluir totais gerais para os dados contidos em linhas e colunas da Tabela dinmica.
O EXCEL exibe automaticamente os subtotais para o campo de linha ou coluna mais externo, quando voc cria dois
ou mais campos de linha ou de coluna em uma Tabela dinmica. Para os campos de linha ou de coluna mais inter-
nos, o EXCEL exibe subtotais somente se voc som-los. Voc pode especificar a funo de resumo a ser usada pa-
ra os subtotais.
FORMATANDO UMA TABELA DINMICA
Para manter as alteraes da formatao quando voc atualizar ou modificar o layout em uma Tabela dinmica, voc
deve apontar para Selecionar no menu Tabela dinmica da barra de ferramentas Tabela dinmica e, em seguida,
certifique-se de que Ati var seleo esteja pressionado antes de selecionar os dados que deseja formatar.
1. Selecione a parte da Tabela dinmica que voc deseja formatar.
2. Para aplicar as alteraes de formatao desejadas, use os botes na barra de ferramentas Formatao e os
comandos do menu Formatar.
3. Para definir opes que afetem a formatao da Tabela dinmica, clique em uma clula na Tabela dinmica, clique
em Opes no menu Tabela dinmica da barra de ferramentas Tabela dinmica e selecione as opes desejadas.
Para obter Ajuda sobre uma opo, clique no ponto de interrogao na barra de ferramentas e, em seguida, clique
na opo.
Para formatar uma Tabela dinmica automaticamente, certifique-se de selecionar a opo AutoFormatao de tabe-
la em Opes de formatao. Toda formatao manual que voc aplicar Tabela dinmica, antes ou depois de for-
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =9 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
matar automaticamente, ter prioridade sobre qualquer formatao aplicada com o comando AutoFormatao.
Para remover toda a formatao de uma Tabela dinmica, desmarque a caixa de seleo AutoFormatao de tabela,
selecione a Tabela dinmica inteira e aplique o estilo Normal.
Para remover a formatao sempre que a Tabela dinmica for atualizada, desmarque a caixa de seleo Preservar
formatao.
Para aplicar a formatao a todas as pginas de uma Tabela dinmica com campos de pgina, selecione Tudo para
cada campo de pgina e, em seguida, aplique a formatao. Se a Tabela dinmica possuir campos de pgina que
consultam dados externos medida que voc seleciona cada item, exiba cada item de campo de pgina separada-
mente e, em seguida, aplique a formatao.
Voc no pode aplicar formato condicional nem configurar uma validao de dados para as clulas em uma Tabela
dinmica.
O EXCEL no mantm as alteraes introduzidas em bordas de clulas quando voc altera o layout ou atualiza uma
Tabela dinmica.
Para usar clulas mescladas para todos os rtulos de coluna ou de linha mais externos na Tabela dinmica, clique em
Opes no menu Tabela dinmica da barra de comandos Tabela dinmica e marque a caixa de seleo Mesclar rtu-
los.
Antes de formatar uma Tabela dinmica em um arquivo criado em uma verso anterior do EXCEL, salve a pasta de
trabalho como um arquivo do EXCEL. No menu Arqui vo, clique em Sal var como e em Pasta de trabalho do EXCEL
(*.xls) na caixa Salvar como tipo.
E EX XE ER RC C C CI IO OS S P PR RO OP PO OS ST TO OS S
01) Abrir a pasta TabelaDinamica.xls que est no diretrio C:\Meus Documentos\01-ApoioAluno e de-
pois salvar na sua pasta de trabalho.
02) Criar uma Tabela Dinmica que mostre o resumo dos lanamentos financeiros do ms de Setembro do
Banco Clnica. Esta tabela dinmica dever ter os seguintes parmetros: Em Pgina coloque as Agn-
cias / Em Coluna coloque os Clientes / Em Linha coloque os Tipos de Conta / Em Dados coloque a
Soma de Valores / Salve a tabela dinmica numa nova planilha e depois renomeie para Tabela Din-
mica Setembro. Coloque esta nova planilha aps a planilha Banco Clnica.
03) Formate os valores da Tabela Dinmica clicando no cone Separador de Milhares.
04) Formate os ttulos das colunas clicando no boto Cliente e em Negrito, Itlico, Centralizado e Fonte
Vermelha.
05) Formate os ttulos das linhas clicando no boto Tipo de Conta e em Negrito, Itlico e Fonte Vermelha.
06) Observando a Tabela Dinmica recm-criada responda s seguintes perguntas:
a) Qual o total de aplicaes em Caderneta de Poupana de todas as agncias ? ______________
(Resp.: R$ 638.956,00)
b) Qual o total aplicado em C/C por Clientes Novos da Agncia Central ? _________________
(Resp.: R$ 49.228,00)
c) Na Agncia Zona Norte, qual o total aplicado por clientes antigos a Longo Prazo? ____________
(Resp.: R$ 125.374,00)
07) Criar um nova planilha que mostre todos os lanamentos da Agncia Zona Oeste, em aplicaes a
Longo Prazo de clientes Antigos e que somaram R$ 10.000,00 (so 5 lanamentos). Renomear depois
a planilha para ListaLongoPrazoOeste.
Programao em VBA =10 = www.clinicadematematica.com.br
08) V at a planilha Banco Clinica e altere o primeiro lanamento do dia 01/09 de R$ 340,00 para R$
86.027,00. Volte para a planilha Tabela Dinamica Setembro e faa com que o Excel atualize os valo-
res (estando em qualquer clula da Tabela Dinamica, basta clicar no cone Atualizar Dados ( ! )). Ob-
serve que o valor total de C/C, Clientes Antigos de todas as Agncias passou de R$ 314.313,00 para
R$ 400.000,00.
09) Fazer uma nova Tabela Dinmica, baseada na tabela dinmica j feita (para economizar memria), com
Agncia na Linha / Cliente na Pgina / Tipo de Conta na Coluna / Contagem de Valores em Dados
/ Observao: para mudar a Soma de Valores para Contagem de Valores, basta dar um clique duplo
no boto Soma de Valores em Dados / Salve esta nova Tabela Dinmica na clula F1 da mesma Ta-
bela Dinamica Setembro / Confirme se realmente so 5 lanamentos de Clientes Antigos na Agncia
Zona Oeste em Aplicaes a Longo Prazo.
10) Usando a 2a. Tabela Dinmica (feita na questo anterior), faa aparecer todos os 10 lanamentos de
Clientes Novos da Agncia Central das Aplicaes a Curto Prazo. Salve a nova planilha como Lista-
CurtoPrazoCentral.

sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =11 = www.clinicadematematica.com.br
PROGRAMAO
Um Programa um conjunto de comandos com uma determinada sequncia lgica e que permite o processamento
de determinada ao, proporcionando a realizao de uma tarefa. atravs do Programa que se processa a interface
entre o usurio e o computador.
Sem o programa o computador considerado uma mquina "burra", ou seja, o maquinrio (hardware) existe mas
precisa Ter um "crebro" que o faa agir em determinadas situaes.
O Programa Word, por exemplo, um conjunto de comandos que transforma o seu computador numa potente mqui-
na de escrever; j o programa Excel, converte o mesmo computador numa espetacular planilha de clculos; e assim
por diante.
Quem cria o Programa o Programador.
SISTEMA
um conjunto de programas que realizam uma ou vrias tarefas pr-determinadas.
O profissional que cuida dos Sistemas o Analista de Sistema.
LINGUAGENS DE PROGRAMAO
Existem vrias linguagens de programao: Visual Basic, Delphi, Turbo Pascal, Fox Pro e outras. So elas que inter-
pretam o que falamos e convertem (traduzem) da nossa linguagem (humana) para a linguagem do computador (de
mquina).
LGICA DE PROGRAMAO
um conjunto de comandos que executam determinadas aes, permitindo ao computador que se transforme numa
mquina eficiente.
Quando damos um determinado comando no computador, em linguagem humana, a linguagem de programao
que traduz para o cdigo de mquina, normalmente cdigos numricos, para que aquele comando seja executado.
SEQUNCIA
Um programa uma sequncia lgica de comandos que executam determinadas aes.
Esta sequncia tem que ser lgica, pois seno o programa no executar as aes esperadas. Exemplo: se fizermos
um programa que ir calcular o nmero de dias j vividos por uma pessoa, primeiro temos que perguntar a data do
seu nascimento, para depois calcular o nmero de dias.
Quando voc vai fazer uma viagem de carro, voc toma atitudes como (a) fazer uma reviso no automvel; (b) abas-
tecer; (c) ver os recursos financeiros; (d) viajar. Isto uma sequncia lgica.
Na informtica, quando queremos elaborar um programa qualquer, precisamos determinar a sequncia lgica das
aes e, depois, passar estas informaes para o computador. A lgica de programao a unio da sequncia com
a linguagem.
As sequncias no so, necessariamente, iguais. Cada pessoa pode agir de maneira diferente para fazer uma mesma
ao. Por exemplo: para almoar voc poderia seguir a seguinte sequncia:
a) Lavar as mos;
b) Pegar o prato;
c) Pegar os talheres;
d) Servir a comida;
e) Comer;
f) Colocar o prato usado na pia;
g) Escovar os dentes
Algumas pessoas podem ter uma sequncia diferente para executar esta mesma ao. Por exemplo: algum pode
pegar os talheres (c) antes de pegar o prato (b). Mas o programa ser executado da mesma forma. Assim , tambm,
com um programa.
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =12 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =13 = www.clinicadematematica.com.br
VBA NO EXCEL
PLATAFORMA DE TRABALHO
Usaremos como plataforma para programar em VBA o aplicativo Excel.
Por se tratar de um software mais popular, todos os exemplos podero ser aplicados na Planilha Eletrnica da Micro-
soft.
Mas at o final do Curso tambm faremos alguns exemplos para uso no Access e no Word.
COMO CHEGAR NO VBA ATRAVS DO EXCEL
Abra o Excel;
Clique em FERRAMENTAS Macro Editor do Visual Basic
O atalho pelo teclado ALT-F11.
MDULOS
Mande inserir um Mdulo (Inserir Mdulo).
Os mdulos so como o Editor de Textos Word. So neles que digitamos a linguem de programao (VBA) e que
ser depois compilada na hora da execuo.
Voc pode fazer um programa em cada Mdulo ou ter um Mdulo s para as Macros, outro para as Funes e outro
para as macros de teclado, por exemplo.
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =14 = www.clinicadematematica.com.br
FUNES PERSONALIZADAS
CRIANDO NOSSAS PRPRIAS FUNES
Voc pode criar funes personalizadas no EXCEL usando a linguagem VISUAL BASIC.
Para acessar o mdulo de programao da linguagem VBA pressione Ferramentas Macro Editor do Visual
Basic (ou o atalho pelo teclado ALT+F11).
Para fechar o mdulo VBA e voltar para a planilha, pressione ALT+Q.
Para alternar entre o mdulo VBA e a planilha, clique no rodap dos arquivos abertos ou pressione ALT+TAB ou ain-
da ALT+F11.
CRIANDO A 1
A
FUNO
Vamos criar uma funo chamada RAIZC, que ir calcular a raiz cbica do nmero digitado.
Pressione ALT+F11 para abrir o VBA.
Clique em INSERIR MDULO.
O VBA ir introduzir uma folha de mdulo vazia na tela. Para uma melhor visualizao, maximize a tela.
Para iniciar uma funo personalizada com parmetros, digite FUNCTION, que uma palavra interna do VBA, segui-
do do NOME DA FUNO e do nome das variveis entre parnteses.
O nome da funo e os nomes das variveis no podero conter espaos, no podero ser nome.
Para este exemplo, digite os dados a seguir. Excel no faz distino entre letras maisculas e minsculas.

FUNCTI ON RAI ZC ( RADI CANDO)

Quando voc pressionar <ENTER>Excel ir finalizar a funo com o comando END FUNCTION, ficando

Funct i on RAI ZC ( RADI CANDO)
I
End Funct i on

Na parte interna da funo, endente o pargrafo, pressionando <TAB>e digite a expresso que ir calcular a raiz
cbica do nmero digitado, ou seja,

RAI ZC = RADI CANDO ^ ( 1/ 3)

A sua funo vai ficar com o seguinte aspecto:

Funct i on RAI ZC ( RADI CANDO)
RAI ZC = RADI CANDO ^ ( 1/ 3)
End Funct i on

Observe o jogo de cores do VB. Azul para nomes internos; preto para nomes definidos por ns, usurios; verde
para comentrios, valores que no sero criticados pelo VB; e, finalmente, vermelho para erros encontrados.
Se voc quiser fazer um comentrio medida que digita, use o apstrofe. VB no l nada aps este sinal. Experimen-
te colocar os seguintes comentrios na sua funo:

Funct i on RAI ZC( RADI CANDO) ' nome da f uno
RAI ZC = RADI CANDO ^ ( 1 / 3) ' cr i a a f r mul a
End Funct i on ' encer r a a f uno

Para testar a sua funo e verificar se ela est funcionando perfeitamente, volte planilha de trabalho clicando com o
mouse na barra de status.
Pegue uma clula vazia e digite

=RAI ZC( 64)

Excel ir responder 4 como resposta aps voc pressionar <ENTER>.
Voc tambm pode usar o assistente de funo. Vamos calcular a raiz cbica de 27 usando o assistente de funo.
V at uma clula vazia e pressione f(x).
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =15 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Escolha a categoria DEFINIDA PELO USURIO (a ltima) e a funo RAIZC que acabamos de definir e depois OK.
Digite 27 para a radicando. Observe que a resposta (3) j aparece no rodap da funo. Esta resposta ser transferi-
da para a planilha quando voc pressionar <ENTER>ou clicar em OK.
CRIANDO UMA 2
A
FUNO
Agora vamos criar uma funo com 2 variveis, chamada RAIZN, que ir calcular a raiz n-sima de qualquer nmero.
Volte para o mdulo clicando no mdulo (barra de status).
Digite a seguinte funo, aps a funo j digitada RAIZC. Observe que no precisamos inserir 1 mdulo para cada
funo. Numa mesma folha de mdulo podemos criar

Funct i on RAI ZN ( RADI CANDO , I NDI CE)
RAI ZN = RADI CANDO ^ ( 1/ I NDI CE)
End Funct i on

Experimente a funo que voc criou voltando para a planilha e calculando a raiz 10
a
de 1024 (a resposta 2).
FUNES CONDICIONADAS
Para criar uma funo condicionada, podemos usar o comando IF ... END IF, equivalente funo SE do assistente
de funo do Excel.
Vamos criar uma funo chamada IIRR, que analisa um salrio e devolve a alquota que a pessoa ir pagar, segundo
os seguintes critrios: quem ganha at R$ 600 est isento; quem ganha acima disto paga 10% de imposto.
Digite os seguintes dados:

Funct i on I I RR ( SALARI O)

I f SALARI O <= 600 Then
I I RR = " I SENTO"
El se
I I RR = " 10%"
End I f

End Funct i on

Faa um teste digitando, na planilha, o salrio de R$ 200 e R$ 900. As respostas sero ISENTO e 10% respectiva-
mente.
FUNES COM OPERADORES MATEMTICOS
Vamos criar uma funo que calcule os juros de uma prestao em atraso.
Digite no mdulo uma funo com o nome de MULTA com as seguintes caractersticas:

Funct i on MULTA( VALOR, ALI QUOTA)
MULTA = VALOR * ALI QUOTA
End Funct i on

Faa um teste com o valor de R$ 2.300 e a alquota de 17,3%. Voc dever encontrar uma multa de R$ 397,90.
E EX XE ER RC C C CI IO OS S P PR RO OP PO OS ST TO OS S
01) Criar uma funo no VB, denominada POT que pedir 2 parmetros (sugestes: BASE e EXPOENTE) e ir calcular
qualquer potncia.
02) Faa uma funo que calcule e devolva a faixa de salrio em que a pessoa se encontra. Para quem ganha at R$
1.000 enquadrar na Faixa 1; quem ganha acima, enquadrar na Faixa 2.
03) Crie uma funo chamada IR que calcule o IR a ser pago por um contribuinte. Se a base de clculo dele for menor
ou igual a R$ 900, ele estar ISENTO; se ganhar mais de R$ 900 e menos de R$ 1.800, pagar 15% e deduzir R$
135; se ganhar acima de R$ 1.800, pagar 27,5% e deduzir R$ 360. A funo j dever devolver o valor a ser pa-
Programao em VBA =16 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
go de imposto.
04) Um condomnio pediu a voc que elaborasse uma funo (sugesto: COND) para a planilha Excel que ir calcular o
montante a ser pago por um condmino que est em atraso. As variveis sero: VALOR, TAXA_MS,
DIAS_ATRASO e MULTA). A multa incide apenas sobre o principal, assim como os juros (ou seja, voc joga os ju-
ros sobre a multa).
05) Criar uma funo que calcule os juros simples (sugesto: J S) de uma aplicao, fornecido o capital, a taxa mensal,
o prazo em dias e um COD. Esta funo devolver os J uros Simples se o COD for 1 ou o Montante Simples se o
COD for 2 ou uma mensagem de erro (COD ERRADO) se o valor de COD for diferente de 1 ou de 2.

G GA AB BA AR RI IT TO O
01)
Funct i on POT( BASE, EXPOENTE)
POT = BASE ^ EXPOENTE
End Funct i on
02)
Funct i on FAI XA ( SALARI O)
I f SALARI O <= 1000 Then
FAI XA = " FAI XA 1"
El se
FAI XA = " FAI XA 2"
End I f
End Funct i on
03)
Funct i on I R( SALARI O)
I f SALARI O <= 900 Then
I R = " I SENTO"
El se
I f SALARI O <= 1800 Then
I R = SALARI O * 0. 15 - 135
El se
I R = SALARI O * 0. 275 - 360
End I f
End I f
End Funct i on
04)
Funct i on COND( VALOR, TAXA_MES, DI AS_ATRASO, MULTA)
COND = VALOR + VALOR * TAXA_MES * DI AS_ATRASO / 30 + VALOR * MULTA
End Funct i on
05)
Funct i on J S ( CAPI TAL, TAXA_MES, DI AS, COD)
I f COD = 1 Then
J S = CAPI TAL * TAXA_MES * DI AS / 30
El seI f COD = 2 Then
J S = CAPI TAL+CAPI TAL * TAXA_MES * DI AS / 30
El se
J S = " COD ERRADO"
End I f
End Funct i on
Programao em VBA =17 = www.clinicadematematica.com.br
MACROS DE TECLADO
LGICA DA MACRO DE TECLADO
O Excel permite que vrias macros sejam criadas usando-se o sistema de gravao automtica. A gravao conver-
tida para o cdigo em VBA que pode ser depois criticado e alterado.
A lgica da macro de teclado a seguinte:

a) Def i na o que voc quer ;
b) Execut e as aes uma vez par a t r ei nar ;
c) Col oque o Excel no modo de gr avao;
d) Execut e as aes mai s uma vez, gr avando;
e) Comande o Excel par a par ar de gr avar ;
f ) Test e a macr o par a ver se f i cou como desej ado.

As macros so convertidas em cdigo VBA e podem ser analisadas, estudadas e modificadas.
EXEMPLO 1
Fazer uma macro de teclado que pegue o contedo de uma clula e faa as seguintes aes: negrite, centralize na
clula, mude a fonte para ARIAL NARROW Tamanho 12 pts e com a cor vermelha. Salve-a como
MAC_FormataTexto.
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =18 = www.clinicadematematica.com.br
DECLARAO DE VARIVEIS
VARIVEL
Normalmente os programas que desenvolvemos faz uma interface com o usurio. Quando solicitamos alguns dados
precisamos armazen-los em algum lugar da memria para uso posterior.
Este lugar chamado de varivel.
Varivel um local de armazenamento nomeado que pode conter dados, os quais podem ser modificados durante a
execuo do programa. Cada varivel possui um nome que a identifica com exclusividade dentro de seu escopo. Um
tipo de dados pode ser ou no especificado.
Os nomes de varivel devem comear com um caractere alfabtico, devem ser exclusivos dentro do mesmo escopo,
no podem ter mais de 255 caracteres e tambm no podem conter um ponto ou caractere de declarao de tipo in-
corporado.
O VBA no exige que as variveis sejam declaradas em seus programas, porm uma segurana quanto ao uso
errado da grafia de uma delas, quando optamos por tornar a declarao obrigatria (ao usarmos o comando Option
Explicit).
O COMANDO "OPTION EXPLICIT"
utilizada no nvel de mdulo (um conjunto de declaraes seguidas de procedimentos) para forar a declarao
explcita de todas as variveis desse mdulo.
Sua Sintaxe : Option Explicit e ela dever ser colocada na 1 linha do mdulo (antes de qualquer procedimento).
Quando Option Explicit aparece em um mdulo, voc deve declarar explicitamente todas as variveis utilizando as
instrues Dim, Pri vate, Public, ReDim ou Static. Se a declarao no for feita, VBA acusar um erro em tempo de
compilao (perodo durante o qual o cdigo-fonte traduzido em cdigo executvel).
Se voc no utilizar a instruo Option Explicit, todas as variveis no declaradas sero do tipo Variant, a menos
que o tipo padro seja especificado com uma instruo Deftipo.
Recomendamos que voc utilize Option Explicit para evitar a digitao incorreta do nome de uma varivel existente
ou para evitar confuso no cdigo em que o escopo da varivel no esteja claro.
ESCOPO
Define a visibilidade de uma varivel, um procedimento ou objeto. Por exemplo, uma varivel declarada como Public
visvel a todos os procedimentos de todos os mdulos em um projeto de referncia direta, a menos que Option Pri-
vate Module esteja ativo.
Quando Option Private Module est ativo, o prprio mdulo privado e portanto no est visvel a projetos de refe-
rncia.
As variveis declaradas em um procedimento so visveis somente dentro do procedimento e perdem seu valor entre
chamadas, a menos que sejam declaradas Static.
Exemplo de um programa com o comando Option Explicit:

Opt i on expl i ci t For a a decl ar ao de var i vel expl ci t a
Di mMi nhaVar Decl ar a a var i vel
MeuI nt = 10 Var i vel no decl ar ada ger a er r o
Mi nhaVar = 10 Var i vel decl ar ada no ger a er r o

DIM
Declara variveis e aloca espao de armazenamento.
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =19 = www.clinicadematematica.com.br
PRINCIPAIS COMANDOS
ACTIVATE
Este mtodo ativa a pasta de trabalho.
Sintaxe:
Wor kbooks( Mi nhaPast a) . Act i vat e
CLEARCONTENTS
Limpa as frmulas do intervalo. Limpa os dados de um grfico mas deixa a formatao.
Sintaxe:
expr esso. Cl ear Cont ent s

Onde expresso (obrigatria) uma expresso que retorne um objeto Chart ou Range.
Exemplo:
Wor ksheet s( 1) . Range( " Regi ao" ) . Cl ear Cont ent s
Li mpa o cont edo do i nt er val o chamado " Regi ao" da 1
a
. pl ani l ha.
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =20 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
WORKSHEETS
O COMANDO WORKSHEETS
com este comando que voc manipula as planilhas da sua pasta de trabalho.
Pode-se abreviar escrevendo apenas Sheets.
E EX XE ER RC C C CI IO OS S
01) Faa um programa que ative a planilha Plan2 usando o comando Activate (que torna objetos ativos) e selecione as
clulas B5:C7 com o comando Select.
02) Fazer um programa que selecione as clulas A1:C3 de Plan1 e, em seguida, faa de B2 a clula ativa.
03) Usando o comando Add faa com que seja inserida uma nova planilha na Pasta atual (Worksheets.Add).
04) Faa uma macro que se desloque para a 2 Planilha.
05) Faa um programa que insira na clula atual a quantidade de planilhas da Pasta de Planilhas Ati va.
06) Faa um programa que insira uma planilha no final da pasta atual (Worksheets.Add.Move af-
ter:=Worksheets(Worksheets.Count).
Programao em VBA =21 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
ACTIVECELL
O COMANDO ACTIVECELL
Retorna um objeto Range representando a clula ativa da janela ativa (a janela visvel) ou da janela especificada.
Se a janela no estiver exibindo uma planilha, essa propriedade falhar.
Somente para leitura.
Quando voc no especifica um qualificador de objeto, essa propriedade retorna a clula ativa da janela ativa.
Tenha cuidado de distinguir entre clula ativa e seleo. A clula ativa uma nica clula dentro da seleo atual. A
seleo pode conter mais de uma clula, mas somente uma a clula ativa.
Exemplo: Todas as expresses seguintes retornam a clula ativa, sendo todas equivalentes.
Act i veCel l
Appl i cat i on. Act i veCel l
Act i veWi ndow. Act i veCel l
Appl i cat i on. Act i veWi ndow. Act i veCel l
E EX XE ER RC C C CI IO OS S
01) Faa um programa que capture o contedo da clula atual e o devolva, na mesma clula, com a frase: O contedo
desta clula era ....
Supondo que na clula atual havia o nmero 30, a macro, ao ser executada, dever substituir o contedo da
clula atual (30) por (O contedo desta clula era 30).
Teste o programa, depois de pronto, digitando numa clula o seu nome e vendo o resultado.
02) Faa aparecer na clula atual o seu nome.
03) Usando o comando Date faa com que aparea na clula atual a Data de Hoje (antes, atualize a data do seu com-
putador).
04) usando o comando Now faa com que aparea na clula atual a Data e a hora atuais.
Programao em VBA =22 = www.clinicadematematica.com.br
RANGE
O OBJETO RANGE
Range (faixa) um dos objetos que fazem o trabalho pesado no Excel. Normalmente antes de qualquer na Planilha,
temos que identificar a rea.
Um objeto Range representa uma clula, uma fileira, uma coluna, uma seleo de clulas, contendo um ou mais
blocos contguos de clulas ou uma faixa em 3D.
PROPRIEDADE RANGE
Use Range (argumento), onde argumento nomeia o intervalo, para retornar um objeto Range representando uma
nica clula ou um intervalo de clulas.
EXEMPLO 1
O exemplo seguinte coloca o valor da clula A1 da planilha Plan1 na clula A5 da mesma planilha.
Wor ksheet s ( " Pl an1" ) . Range( " A5" ) . Val ue = _
Wor ksheet s( " Pl an1" ) . Range( " A1" ) . Val ue
EXEMPLO 2
O exemplo seguinte preenche o intervalo A1:H8 com nmeros randmicos definindo a frmula para cada clula do
intervalo.
Quando usada sem um qualificador de objeto (um objeto esquerda do ponto), a propriedade Range retorna um
intervalo da planilha ativa. Se a planilha ativa no for uma planilha de trabalho, o mtodo falhar.
Use o mtodo Acti vate para ativar uma planilha antes de usar a propriedade Range sem um qualificador de objeto
explcito.
Wor ksheet s( " Pl an1" ) . Act i vat e
Range( " A1: H8" ) . For mul a = " =r and( ) "
EXEMPLO 3
O exemplo seguinte limpa o contedo do intervalo chamado "Regiao" da 1
a
. planilha.
Wor ksheet s( 1) . Range( " Regi ao" ) . Cl ear Cont ent s

Se voc usar um argumento de texto para o endereo do intervalo, voc ter que especificar o endereo em notao
de estilo A1 (voc no poder usar a notao de estilo L1C1).
PROPRIEDADE CELLS
Use Cells(linha, coluna) onde linha o ndice da linha e coluna o ndice da coluna, para retornar uma nica clula.
EXEMPLO 4
O exemplo seguinte define o valor da clula A1 da primeira planilha como 24.
Wor ksheet s( 1) . Cel l s( 1, 1) . Val ue = 24
EXEMPLO 5
O exemplo seguinte define a frmula para a clula A2 da planilha ativa.
Act i veSheet . Cel l s( 2, 1) . For mul a = " =sum( B1: B5) "
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =23 = www.clinicadematematica.com.br
EXEMPLO 6
Embora voc tambm possa usar Range("A1") para retornar a clula A1, pode haver ocasies em que a propriedade
Cells seja mais conveniente porque voc pode usar uma varivel para a linha ou coluna.
O exemplo seguinte cria cabealhos de coluna e linha na Plan1. Observe que aps a planilha ser ativada, a proprie-
dade Cells pode ser usada sem uma declarao explcita de planilha (ela retorna uma clula da planilha ativa).
Sub Range_Q06( )
Wor ksheet s( " Pl an1" ) . Act i vat e ' Tor na Pl an1 At i va

For Ano = 1 To 5
Cel l s( 1, Ano + 1) . Val ue = 1990 + Ano
Next Ano

For Li nha = 1 To 4
Cel l s( Li nha + 1, 1) . Val ue = " Q" & Li nha
Next Li nha

End Sub
EXEMPLO 7
Apesar de voc poder usar funes de cadeia de caracteres do VBA para alterar as referncias de estilo A1, muito
mais fcil (e uma prtica de programao muito melhor) usar a notao CELLS(1,-1).
Use expresso.Cells(linha, coluna), onde expresso uma expresso que retorne um objeto Range, e linha e coluna
so relativas ao canto superior esquerdo do intervalo, para retornar parte de um intervalo.
O exemplo seguinte define a frmula para a clula B6.
Wor ksheet s( 1) . Range( " A5: D10" ) . Cel l s( 2, 2) . For mul a = " =r and( ) "
RANGE E CELLS
Use Range(clula1, clula2), onde clula1 e clula2 so objetos Range que especificam as clulas inicial e final, para
retornar um objeto Range.
EXEMPLO 8
O exemplo seguinte define o estilo da linha da borda das clulas A1:J 10.

Wi t h Wor ksheet s( 1)
. Range( . Cel l s( 1, 1) , _
. Cel l s( 10, 10) ) . Bor der s. Li neSt yl e = xl Thi ck
End Wi t h

Observe o ponto na frente de cada ocorrncia da propriedade Cells. O ponto ser obrigatrio se o resultado da instru-
o With anterior for aplicado propriedade Cells nesse caso, para indicar que as clulas esto na planilha um
(sem o ponto, a propriedade Cells retornaria as clulas da planilha ativa).
PROPRIEDADE OFFSET
Use Offset(linha, coluna), onde linha e coluna so os deslocamentos de linha e coluna, para retornar um intervalo em
um deslocamento especificado de um outro intervalo.
EXEMPLO 9
O exemplo seguinte seleciona a clula que se encontra 3 linhas abaixo e 1 coluna direita da clula do canto superior
esquerdo da seleo atual. Voc no pode selecionar uma clula que no esteja na planilha ativa, portanto, voc pre-
cisa ativar primeiro a planilha.
Sheet s( " Pl an1" ) . Act i vat e ' Tor na Pl an1 At i vada
Sel ect i on. Of f set ( 3, 1) . Range( " A1" ) . Sel ect
MTODO UNION
Use Union(intervalo1, intervalo2, ...) para retornar intervalos de vrias reas, isto , intervalos compostos de dois ou
mais blocos contguos de clulas.
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =24 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
EXEMPLO 10
O exemplo seguinte cria um objeto definido como a unio de intervalos A1:B2 e C3:D4 e, em seguida, seleciona o
intervalo definido.

Di mr 1 As Range, r 2 As Range
Di mmyMul t i Ar eaRange As Range
Wor ksheet s( " Pl an1" ) . Act i vat e
Set r 1 = Range( " A1: B2" )
Set r 2 = Range( " C3: D4" )
Set myMul t i Ar eaRange = Uni on( r 1, r 2)
myMul t i Ar eaRange. Sel ect

E EX XE ER RC C C CI IO OS S
01) Faa uma macro que grave Bahia na clula B10.
02) Faa uma macro que grave o contedo da clula atual na clula C7.
03) Faa uma macro que grave o contedo da clula A1 na clula atual.
04) Faa uma macro que pegue o nmero da clula atual e grave as seguintes expresses: na clula D5 dever apare-
cer O nmero ...; em D6 dever aparecer o seu dobro ...; e, finalmente, em D7 dever aparecer e o seu
triplo ....
05) Faa uma macro que preencha todas as clulas do intervalo A5:F10 da planilha Plan2 com palpites para uma Lote-
ria que sorteia dezenas de 0 a 60. Para testar a macro, execute-a a partir de Plan1.
G GA AB BA AR RI IT TO O
01)
Sub Range_Q01 ( )
Range( B10) = Bahi a
End Sub
02)
Sub Range_Q02 ( )
Range( C7) = Act i veCel l
End Sub
03)
Sub Range_Q03 ( )
Act i veCel l = Range( A1)
End Sub
04)
Sub Range_Q04 ( )
Range( D5) = O nmer o & Act i veCel l
Range( D6) = O seu dobr o & Act i veCel l * 2
Range( D7) = E o seu t r i pl o & Act i veCel l * 3
End Sub
Programao em VBA =25 = www.clinicadematematica.com.br
05)
Sub Range_Q05 ( )
Sheet s( " Pl an2" ) . Act i vat e
Range( " A5: F10" ) . For mul a = " =i nt ( r and( ) *60) "
End Sub
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =26 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
INPUTBOX
O COMANDO INPUTBOX
Exibe um aviso em uma caixa de dilogo, aguarda at que o usurio insira texto ou clique em um boto e retorna um
String com o contedo da caixa de texto.
Sintaxe: InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
Prompt =Obrigatrio. Expresso de seqncia de caracteres exibida como mensagem na caixa de dilogo. O com-
primento mximo de prompt de aproximadamente 1024 caracteres, dependendo da largura dos caracteres utiliza-
dos. Se prompt consistir em mais de uma linha, voc poder separar as linhas utilizando um caractere de retorno de
carro (Chr(13)), um caractere de alimentao de linha (Chr(10)) ou uma combinao de caracteres de retorno de carro
e alimentao de linha (Chr(13) & Chr(10)) entre cada linha.
Title =Opcional. Expresso de seqncia de caracteres exibida na barra de ttulo da caixa de dilogo. Se voc omitir
title, o nome do aplicativo ser inserido na barra de ttulo.
Default =Opcional. Expresso de seqncia de caracteres exibida na caixa de texto como resposta padro se ne-
nhuma entrada for fornecida. Se voc omitir default, a caixa de texto ser exibida vazia.
Xpos =Opcional. Expresso numrica que especifica, em twips, a distncia horizontal da extremidade esquerda da
caixa de dilogo em relao extremidade esquerda da tela. Se xpos for omitido, a caixa de dilogo ser centralizada
horizontalmente.
Ypos =Opcional. Expresso numrica que especifica, em twips, a distncia vertical da extremidade superior da caixa
de dilogo em relao ao topo da tela. Se ypos for omitido, a caixa de dilogo ser posicionada na vertical a aproxi-
madamente um tero da extremidade inferior da tela.
Helpfile =Opcional. Expresso de seqncia de caracteres que identifica o arquivo de Ajuda a ser utilizado para for-
necer ajuda sensvel ao contexto relativa caixa de dilogo. Se helpfile for fornecido, context tambm dever ser for-
necido.
Context =Opcional. Expresso numrica que o nmero de contexto da Ajuda atribudo ao tpico da Ajuda apropria-
do pelo autor da Ajuda. Se context for fornecido, helpfile tambm dever ser fornecido.
E EX XE ER RC C C CI IO OS S
01) Faa uma macro que solicite o nome da pessoa, atravs da Caixa InputBox e armazene a frase O nome ... na
clula atual.
02) Faa uma macro que solicite um valor, atravs da Caixa InputBox e armazene em A10 =O nmero dado ...; e
em A11 =A sua raiz quadrada ...; e em A12 =E a sua raiz cbica ....
1) Faa uma macro que solicite ao usurio que insira um valor entre 1 e 3. A varivel MeuValor dever conter o valor
inserido pelo usurio se o usurio clicar em OK ou pressionar a tecla ENTER. O Valor padro dever ser 2. A tela
dever vir na posio horizontal =100 e vertical =500. Coloque como ttulo a Clnica de Matemtica;

Programao em VBA =27 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
COMANDOS IF
O COMANDO IF
Executa condicionalmente um grupo de instrues, dependendo do valor de uma expresso.
Sintaxe: If condio Then [instrues] [Else instrueselse]
Observe que na sintaxe de 1 linha apenas, no h necessidade de End If.
Voc tambm pode utilizar a sintaxe de formato de bloco:

I f condi o Then [ i nst r ues]
[ El seI f condi o- n Then [ i nst r uesel sei f ] . . .
[ El se [ i nst r uesel se] ]
End I f

A instruo If...Then...Else possui as partes a seguir:
Condio =Obrigatria. Uma expresso numrica ou expresso de seqncia de caracteres que avaliada como
True ou False. Se condio for Null, ser tratada como False; Uma expresso do formato TypeOf nomedoobjeto Is ti-
podoobjeto. O nomedoobjeto qualquer referncia a objeto e tipodoobjeto qualquer tipo de objeto vlido. A expres-
so ser True se nomedoobjeto for o tipo de objeto especificado por tipodoobjeto; caso contrrio, ser False.
Voc pode utilizar o formato de uma s linha (primeira sintaxe) para testes simples e curtos. Entretanto, o formato de
bloco (segunda sintaxe) proporciona mais estrutura e flexibilidade do que o formato de uma s linha e normalmente
mais fcil de ler, manter e depurar.
Observao Com o formato de uma s linha possvel ter mltiplas instrues executadas como resultado de uma
deciso If...Then. Todas as instrues devem estar na mesma linha e separadas por dois-pontos, como na seguinte
instruo:

I f A > 10 Then A = A + 1 : B = B + A : C = C + B

Uma instruo If em formato de bloco deve ser a primeira em uma linha. As partes Else, ElseIf, e End If da instruo
podem ter somente um nmero de linha ou rtulo de linha precedendo-as. O If em bloco deve terminar com uma ins-
truo End If.
Para determinar se uma instruo ou no If em bloco, examine o que vem em seguida palavra-chave Then. Se
qualquer coisa exceto um comentrio aparecer depois de Then na mesma linha, a instruo ser tratada como instru-
o If de uma s linha.
As clusulas Else e ElseIf so opcionais. Voc pode ter tantas clusulas ElseIf em um bloco If quantas desejar, mas
nenhuma pode aparecer depois de uma clusula Else. Instrues If em bloco podem ser embutidas, isto , contidas
uma dentro da outra.
Executando um If em bloco (segunda sintaxe), condio testada. Se condio for True, as instrues seguintes a
Then so executadas. Se condio for False, cada condio ElseIf (se houver) ser por sua vez avaliada. Quando
uma condio True for encontrada, as instrues imediatamente subseqentes Then associada so executadas. Se
nenhuma das condies ElseIf forem True (ou se no houver clusulas ElseIf), as instrues subseqentes a Else so
executadas. Depois da execuo das instrues subseqentes a Then ou Else, a execuo continua com a instruo
subseqente a End If.
Dica: Select Case pode ser mais til na avaliao de uma expresso nica com diversas aes possveis. Entretanto,
a clusula TypeOf nomedoobjeto Is tipodoobjeto no pode ser utilizada com a instruo Select Case.
E EX XE ER RC C C CI IO OS S
01) Faa uma macro que avalie o nmero contido na clula A10 e colocar a sua classificao em B10. Se for at 5,
classificar como Pequeno. Caso contrrio, classificar como Grande.
02) Faa uma macro que solicite um nmero entre 50 e 100, usando o comando inputbox. Se o nmero digitado estiver
entre 50 e 75, colocar na clula atual Faixa 1; se o nmero for maior que 75, at 100, colocar na clula atual Faixa
2; Se a pessoa digitar qualquer outro nmero fora desta faixa, colocar na clula atual Erro.
Programao em VBA =28 = www.clinicadematematica.com.br
03) Usando a funo IsNumeric (que retorna um valor Boolean que indica se uma expresso pode ser avaliada como
um nmero), faa uma macro que solicite do usurio a idade dele e calcule quantos dias ele j viveu; mas a macro
dever analisar o nmero digitado e dar uma mensagem de erro na clula atual se o usurio no digitar um nmero.

sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =29 = www.clinicadematematica.com.br
LAOS FOR
LAOS
So amarraes feitas nos programas para que possamos executar instrues um determinado nmero de vezes.
No exemplo a seguir, vamos fazer um programa que ir gerar os nmeros da MEGA SENA.

Opt i on Expl i ci t

Sub Megasena( )

' Decl ar ao de Var i vei s
Di mCont ador As I nt eger
Di mPal pi t e As I nt eger
Di mTest e As I nt eger
Di mNumer o
Di mEr r o

Wor ksheet s( " Lot er i a" ) . Act i vat e
Range( " A1: H100" ) . Val ue = " "

PedeDezena:
Numer o = I nput Box( " Quant as dezenas voc desej a?" , " Megasena" )

I f Numer o = " " Then Exi t Sub

I f I sNumer i c( Numer o) = Fal se Then
MsgBox " Nmer o de dezenas i nvl i do! Redi gi t e! " , vbCr i t i cal
GoTo PedeDezena
End I f

Numer o = Val ( Numer o)

I f Numer o < 6 Or Numer o > 20 Then
MsgBox " ERRO: A quant i dade de dezenas dever est ar ent er 6 e 20" , vbRet r yCancel
GoTo PedeDezena
End I f

Range( " A4" ) . Val ue = " Pal pi t es par a a Megasena"
Range( " A4" ) . Sel ect

For Cont ador = 1 To Numer o
Act i veCel l . Of f set ( 0, 0) . Sel ect
Ger aDezena:
Randomi ze
Pal pi t e = I nt ( Rnd( ) * 60)
I f Pal pi t e = 0 Then GoTo Ger aDezena

' Test a se est r epet i do
For Test e = 1 To Cont ador
I f Pal pi t e = Range( " A4" ) . Of f set ( Test e, 1) Then GoTo Ger aDezena
Next

Pal pi t e = Range( " A4" ) . Of f set ( Test e, 1)

' Gr ava na t el a
Act i veCel l . Of f set ( Cont ador , 0) . Val ue = " Dezena " & Cont ador
Act i veCel l . Of f set ( Cont ador , 1) . Val ue = Pal pi t e
Next

' Or dena r egi st r os
Range( " B5: B25" ) . Sel ect
Sel ect i on. Sor t Key1: =Range( " B5" ) , Or der 1: =xl Descendi ng
Range( " A1" ) . Sel ect

End Sub
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =30 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
OFFSET
O COMANDO OFFSET
Faz com que voc estabelea uma relao com as clulas do Excel, sem definio-las com exatido.
Pode ser usada combinada com o comando ACTIVECELL.
E EX XE ER RC C C CI IO OS S
01) Criar um tipo de FORMULRIO de entrada de dados com o comando INPUTBOX. Fazer as crticas dos valores
digitados.
Sub BD_1( )

' Decl ar ao de var i vei s
Di mTi t ul o As St r i ng
Di mNome As St r i ng
Di mFor macao As St r i ng
Di mI dade As I nt eger
Di mCont i nua As I nt eger
Di mI nf or ma As St r i ng

' Ent r ada de dados
Ti t ul o = " Banco de Dados"
I nf or ma = " Dados cadast r ados comsucesso! "
I nf or ma = I nf or ma & Chr ( 10) & Chr ( 10) & " Desej a i ncl ui r novo r egi st r o?"

I ni ci o:

PedeNome:
Nome = I nput Box( " Di gi t e o nome" , Ti t ul o)

I f Nome = " " Then
MsgBox " Di gi t e o nome! "
GoTo PedeNome
End I f

PedeFor macao:
For macao = I nput Box( " Di gi t e a f or mao" , Ti t ul o)

I f For macao = " " Then
MsgBox " Di gi t e a f or mao! "
GoTo PedeFor macao
End I f

PedeI dade:
I dade = I nput Box( " Di gi t e a i dade" , Ti t ul o)

I f I sNumer i c( I dade) = Fal se Then
MsgBox " Di gi t e uma i dade vl i da! "
GoTo PedeI dade
End I f

' I dent i f i car pr i mei r a cl ul a vazi a
Wor ksheet s( " BDados" ) . Act i vat e
Range( " A5" ) . Sel ect

Do
Act i veCel l . Of f set ( 1, 0) . Sel ect

I f Act i veCel l . Val ue = " " Then
Exi t Do
End I f
Programao em VBA =31 = www.clinicadematematica.com.br
Loop

' Ar mazena dados
Act i veCel l . Val ue = Nome
Act i veCel l . Of f set ( 0, 1) . Val ue = For macao
Act i veCel l . Of f set ( 0, 2) . Val ue = I dade

Cont i nua = MsgBox( I nf or ma, vbYesNo + vbExcl amat i on, Ti t ul o)

I f Cont i nua = vbYes Then GoTo I ni ci o El se Exi t Sub

End Sub
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =32 = www.clinicadematematica.com.br
FORMULRIOS
CRIAO DE FORMULRIOS
possvel criar Formulrios de entrada de dados no VBA para uso no EXCEL.
Os comandos so similares aos das macros.
Observe o exemplo a seguir, que cria um formulrio para entrar dados no Banco de Dados do Excel.

Opt i on Expl i ci t For a a decl ar ao das var i vei s nest a mdul o

Sub For mul ar i o( )

' 1) Decl ar ao de var i vei s - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Di mDi al ogo, cxBoxOK, vNome, vSexo, vFor macao

' 2) Di mi nui o nome da cai xa de di l ogo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Set Di al ogo = Di al ogSheet s( " Cai xa1" )

' 3) Est abel ece o i n ci o do pr ogr ama - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
I ni ci o:

' 4) Li mpa a cai xa de di l ogo ( For mul r i o) - - - - - - - - - - - - - - - - - - - - - - - - - - -
Di al ogo. Edi t Boxes( " cxNome" ) . Text = " "

' 5) Exi be a cai xa de di l ogo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cxBoxOK = Di al ogo. Show

' 6) Fecha a cai xa de di l ogo se pr essi onar ESC - - - - - - - - - - - - - - - - - - - - - -
I f Not cxBoxOK Then Exi t Sub

' 7) Recebe os dados da cai xa de di l ogo - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
vNome = Di al ogo. Edi t Boxes( " cxNome" ) . Text Recebe o nome
I f Di al ogo. Opt i onBut t ons( " OpcaoM" ) . Val ue = xl On Then Recebe o sexo
vSexo = " Mascul i no"
El se
vSexo = " Femi ni no"
End I f

' 7c) Recebe a f or mao
vFor macao = Wor ksheet s( " For macao" ) . Range( " D3" ) . Val ue

' 8) Ar mazena as var i vei s
' 8a) Vai par a a pr i mei r a l i nha vazi a do banco de dados
Wor ksheet s( " BDados2" ) . Act i vat e
Range( " A5" ) . Sel ect

Do
Act i veCel l . Of f set ( 1, 0) . Sel ect
I f Act i veCel l . Val ue = " " Then Exi t Do
Loop

Act i veCel l . Val ue = vNome
Act i veCel l . Of f set ( 0, 1) . Val ue = vSexo
Act i veCel l . Of f set ( 0, 2) . Val ue = vFor macao

' 9) Repet e at cancel ar
GoTo I ni ci o

End Sub
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =33 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
E EX XE ER RC C C CI IO OS S
Sub BD_2( )

' Decl ar a var i vei s

Di mDi al ogo, cxBoxOK, vNome, vSexo, vFor macao

' Di mi nui o nome da cai xa de di l ogo

Set Di al ogo = Di al ogSheet s( " Cai xa1" )

' Est abel ece o i n ci o do pr ogr ama

I ni ci o:

' Li mpar cai xa de di l ogo

Di al ogo. Edi t Boxes( " cxNome" ) . Text = " "

' Exi bi r a cai xa de di l ogo

cxBoxOK = Di al ogo. Show

' Fecha a cai xa de di l ogo se pr essi onar ESC

I f Not cxBoxOK Then Exi t Sub

' Recebe os dados da cai xa de di l ogo
' 1) Recebe o nome

vNome = Di al ogo. Edi t Boxes( " cxNome" ) . Text

' 2) Recebe o sexo

I f Di al ogo. Opt i onBut t ons( " OpcaoM" ) . Val ue = xl On Then
vSexo = " Mascul i no"
El se
vSexo = " Femi ni no"
End I f

' 3) Recebe a f or mao

vFor macao = Wor ksheet s( " For macao" ) . Range( " D3" ) . Val ue

' Ar mazenar as var i vei s
' Vai par a a pr i mei r a l i nha vazi a do banco de dados

Wor ksheet s( " BDados2" ) . Act i vat e
Range( " A5" ) . Sel ect
Do
Act i veCel l . Of f set ( 1, 0) . Sel ect
I f Act i veCel l . Val ue = " " Then Exi t Do
Loop

Act i veCel l . Val ue = vNome
Act i veCel l . Of f set ( 0, 1) . Val ue = vSexo
Act i veCel l . Of f set ( 0, 2) . Val ue = vFor macao

' Repet e at cancel ar

GoTo I ni ci o

End Sub
Programao em VBA =34 = www.clinicadematematica.com.br
SENHAS DE SEGURANA
SENHA
Uma palavra, frase ou seqncia de caracteres que deve ser novamente inserida para se ter acesso a uma clula,
grfico, objeto, planilha, pasta de trabalho, pasta ou arquivo protegido.
No EXCEL, uma senha pode conter at 255 caracteres com qualquer combinao de letras, nmeros, espaos e
smbolos.
medida que voc digita a senha, o EXCEL exibe um asterisco (*) para cada caractere que voc digitar. Como as
senhas fazem distino entre maisculas e minsculas, voc deve digitar as letras maisculas e minsculas correta-
mente ao definir e inserir senhas.
SENHA DE PROTEO
A senha de proteo aquela que protege a pasta de trabalho inteira, ou seja, o arquivo s ser aberto se a senha for
informada corretamente.
Voc pode colocar uma senha de proteo na abertura de um arquivo no Excel, ou seja, s poderemos abrir o arquivo
se soubermos a senha.
Quando voc cria uma senha, deve copi-la e guard-la em um local seguro. Se voc perder a senha, no poder
abrir a pasta de trabalho protegida por senha nem ter acesso aos dados nela contidos.
Vamos fazer isso com a nossa pasta CursoExcelAvancado, que estamos usando desde o incio do curso (se voc
no tem ainda esta pasta, crie uma).
Estando com a pasta aberta, proceda os seguintes comandos:
Arquivo
Salvar Como (ou F12)
Opes
Senhas de Proteo
OBSERVAES
Se a verso do seu Office 2000, ento proceda os seguintes comandos:
Arquivo
Salvar Como (ou F12)
Ferramentas (Barra de Ferramentas)
Opes Gerais
Senhas de Proteo

Na caixa Senha de proteo, digite uma senha e clique em OK.
As senhas coincidem maisculas e minsculas. Digite a senha exatamente como deseja que os usurios a insiram,
incluindo letras maisculas e minsculas.
Na caixa Reinsira a senha para prosseguir, digite a senha novamente e clique em OK.
Clique em Salvar.
Se for solicitado, clique em Sim para substituir a pasta de trabalho existente pela pasta de trabalho aberta.
SENHA DE GRAVAO
Voc pode colocar uma senha apenas para proteger a planilha original de gravaes, ou seja, voc permite que qual-
quer pessoa abra a Pasta, pode at fazer alteraes, mas no conseguir salvar com o mesmo nome, a no ser que
a pessoa digite a senha.
O usurio poder, entretanto, salvar as alteraes feitas com outro nome.
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =35 = www.clinicadematematica.com.br
Estando com a pasta aberta, proceda os seguintes comandos:
Arquivo
Salvar Como (ou F12)
Opes
Senhas de Proteo

Se a verso do seu Office 2000, ento proceda os seguintes comandos:
Arquivo
Salvar Como (ou F12)
Ferramentas (Barra de Ferramentas)
Opes Gerais
Senhas de Proteo

Na caixa Senha de gravao, digite uma senha e clique em OK.
Na caixa Reinsira senha para modificar, digite a senha novamente e, em seguida, clique em OK.
Clique em Salvar.
Se for solicitado, clique em Sim para substituir a pasta de trabalho existente pela pasta de trabalho aberta.
Observaes: Voc pode salvar as alteraes em uma pasta de trabalho protegida por senha sem usar a senha,
abrindo primeiro a pasta de trabalho como somente leitura. Faa as alteraes desejadas na pasta de trabalho e, em
seguida, salve a pasta com um nome diferente. A pasta de trabalho salva com um novo nome no necessita de uma
senha e estar disponvel para edio.
SENHAS NAS CLULAS
Voc pode permitir que os usurios abram a sua Pasta de Trabalho e possam alterar dados e salv-los. Entretanto,
no podero alterar determinadas clulas, como por exemplo, clulas que contenham frmulas.
Vamos supor que voc queira proteger apenas as clulas A1:B10. Para proteger, destrave quaisquer clulas que
voc deseja poder alterar depois que proteger a planilha. Como esta parte um pouco complicada e como, por pa-
dro, todas as clulas de qualquer planilha vm protegidas, a sugesto que primeiro voc destrave todas elas e de-
pois trave apenas as que voc quer proteger.
Faa assim: Marque toda a planilha (CTRL-T). Depois clique em Formatar / Clulas (ou CTRL-1) / Proteo / Travada.
Destrave todas as clulas marcadas
Agora marque as clulas que voc deseja proteger e digite novamente os comandos: Formatar / Clulas (ou CTRL-1)
Proteo / Travada.
Marque travada para as clulas.
Quando voc protege a planilha, as clulas e os objetos grficos que voc no destravou permanecem protegidos e
no podero ser alterados.
Oculte quaisquer frmulas que voc no deseja que fiquem visveis.
No menu Ferramentas, aponte para Proteger e clique em Proteger planilha.
Para impedir alteraes nas clulas das planilhas ou nos dados e outros itens em grficos, e para impedir a exibio
de linhas, colunas e frmulas ocultas, marque a caixa de seleo Contedo.
Para impedir alteraes nos objetos grficos de planilhas ou grficos, marque a caixa de seleo Objetos.
Para impedir alteraes nas definies de cenrios em uma planilha, marque a caixa de seleo Cenrios.
Para impedir que outros usurios removam a proteo da planilha, digite uma senha, clique em OK e, em seguida,
redigite a senha na caixa de dilogo Confirmar senha. As senhas coincidem maisculas e minsculas. Digite a senha
exatamente como deseja inseri-la, incluindo letras maisculas e minsculas.
Se voc atribuir uma senha, deve copi-la e guard-la em local seguro. Se perder a senha, no ter acesso aos ele-
mentos protegidos na planilha.
SENHAS NOS MDULOS DO VBA
Para proteger os seus mdulos do VBA, ...
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =36 = www.clinicadematematica.com.br
sac@clinicadematematica.com.br Tel. (61) 3321-3939
E EX XE ER RC C C CI IO OS S P PR RO OP PO OS ST TO OS S
1) Crie uma planilha e salve-a com o nome de Senhas. Digite em A1 Valores e em B1 Dobro. De A2 at A7
digite 10, 20, 30, 40, 50 e 60. De B2 at B7 digite uma frmula que ir calcular o dobro dos valores de A2 at
A7 (=A2*2). A planilha dever ficar assim:

VALORES DOBRO
10 20
20 40
30 60
40 80
50 100
60 120
02) Coloque uma senha de proteo (1234) na planilha. Feche-a e tente abrir digitando a senha.
03) Retire a senha de proteo da planilha.
04) Coloque uma senha de gravao (4321) na planilha. Feche-a e abra a pasta sem colocar a senha. Faa alguma
alterao e depois tente salvar.
05) Retire a senha de gravao.
06) Coloque uma senha de proteo para as clulas que tm frmulas (de B2 at B7). Depois tente digitar algo naque-
las clulas.
07) Retire a senha de proteo de clulas.
Programao em VBA =37 = www.clinicadematematica.com.br
RESUMO DOS PRINCIPAIS
COMANDOS DO EXCEL NO VBA
ABRIR UM ARQUIVO
Sintaxe: Workbooks.Open Filename:="endereo completo"
Exemplo: o comando a seguir abre o arquivo Calculos.xls que se encontra na pasta Meus Documentos
Wor kbooks. Open Fi l ename: = " C: \ Meus Document os\ Cal cul os. xl s"
APAGAR O CONTEDO DE UM CONJUNTO DE CLULAS
Sel ect i on. Cl ear Cont ent s Equi val ent e a pr essi onar DEL
COPIAR UMA CLULA
Sintaxe: Referncia.Copy [Destino].
Exemplos:
a) Act i veCel l . Copy Range( A1) Copi a a cl ul a at i va par a a cl ul a A1.
b) Sel ect i on. Copy copi a a r egi o at ual ment e sel eci onada par a a r ea de
t r ansf er nci a
c) Range( D20) . Copy copi a a cl ul a D20 par a a r ea de t r ansf er nci a
d) Range( D20) . Copy Range( D21) copi a a cl ul a D20 par a a cl ul a D21
e) Range( D20) . Copy Range( D21: F21) copi a a cl ul a D20 par a t odas as cl ul as da
r egi o D21: F21
f ) Act i veCel l . Cur r ent Regi on. Copy Range( " A1" ) copi a a r egi o at ual par a a cl ul a
A1. No h necessi dade que a r egi o est ej a sel eci onada.
FORMATAR PARA ITLICO
Sel ect i on. Font . I t al i c = Tr ue
FORMATAR PARA NEGRITO
Sel ect i on. Font . Bol d = Tr ue
FORMATAR PARA SUBLINHADO
a) Sel ect i on. Font . Under l i ne = Tr ue subl i nha semespeci f i car o t i po
b) Sel ect i on. Font . Under l i ne = xl Under l i neSt yl eSi ngl e Subl i nha coml i nha si mpl es
c) Sel ect i on. Font . Under l i ne = xl Under l i neSt yl eDoubl e Subl i nha coml i nha dupl a
FUNES DO EXCEL NO VBA (TRADUZIDAS)
Abs Abs
Agor a Now
Al eat r i o Rand
Ar r ed Round
Car act Chr
Cdi go Code
Col Col umn
Col s Col umns
Concat enar Concat enat e
Cont . Nm Count
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =38 = www.clinicadematematica.com.br
Cont . Se Count I f
E And
I nt I nt
Mdi a Aver age
Pr ocV Vl ookup
Soma Sum
SomaSe Sumi f
VP PV
INSERIR COLUNAS
Sel ect i on. Ent i r eCol umn. I nser t
INSERIR LINHAS
Sel ect i on. Ent i r eRow. I nser t
MOSTRAR A COLUNA ATUAL
Sintaxe: ActiveCell.Column
Exemplo:
y = Act i veCel l . Col umn
MsgBox " A col una onde voc est " & y
MOSTRAR A LINHA ATUAL
Sintaxe: ActiveCell.Row
Exemplo:
x = Act i veCel l . Row
MsgBox " A l i nha onde voc est " & x
OCULTAR A LINHA ATUAL
Act i veCel l . Ent i r eRow. Hi dden = Tr ue
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =39 = www.clinicadematematica.com.br
PRINCIPAIS FUNES E SUAS
SINTAXES
ABS (X)
Mostra o valor absoluto de x (positivo).
Exemplos:
1 se y = Abs ( - 4) ent o y = 4
2 - se y = Abs ( 10) ent o y = 10
3 Se y = Abs ( 10- 11) ent o y = 1
AND
Funo lgica (AND =E) usada para operaes de avaliao.
Exemplo:
I f x > 2 And x < 10 Then . . .
BEEP
Emite sinal sonoro.
Exemplo:
I f y = Er r o Then Beep
CHR(CDIGO NUMRICO)
Controla os cdigos ASCII (conjunto de caracteres de 7 bits do American Standard Code for Information Interchan-
ge, utilizado para representar letras e smbolos encontrados em um teclado americano padro) do teclado.
O conjunto de caracteres ASCII o mesmo dos 128 primeiros caracteres (0 a 127) do conjunto de caracteres ANSI.
A seguir listamos alguns cdigos importantes.
Chr ( 10) = Mudana de l i nha ( Si mul a o pr essi onament o da t ecl a ENTER) .
Chr ( 13) = Tema mesma f uno do Chr ( 10) , ou sej a, Mudana de l i nha.
Chr ( 32) = Espao ( Si mul a o pr essi onament o da t ecl a BARRA DE ESPAO)
Chr ( 33) = !
Chr ( 35) = #
Chr ( 36) = $
Chr ( 37) = %
Chr ( 38) = &
Chr ( 65) = A
Chr ( 97) = a
Chr ( 62) = >
Chr ( 37) = %
Chr ( 128) =
COLUMN (CLULA)
Mostra a coluna (em nmero) em que voc est.
Exemplos:
X = Range( D2) . Col umn nest e caso x = 4 que cor r esponde col una D
x = Range( " d: d" ) . Col umn x = 4, que cor r esponde col una D
x = Act i veCel l . Col umn Most r a a col una emque voc est no moment o
INT (X)
sac@clinicadematematica.com.br Tel. (61) 3321-3939
Programao em VBA =40 = www.clinicadematematica.com.br
Mostra a parte inteira de x.
Exemplos:
1 se y = I nt ( 2, 32) ent o y = 2
2 - se y = I nt ( 10) ent o y = 10
3 se y = I nt ( 10/ 3) ent o y = 3
NOW ()
Equivalente funo =Agora(), mostra a data e a hora do momento.
RND ()
Equivalente funo =Aleatrio(), gera um nmero aleatrio (randmico), compreendido entre 0 e 1.
Exemplos:
X = Rnd( ) Ger a umnmer o al eat r i o ent r e 0 e 1.
X = Rnd( ) *10 Ger a umnmer o al eat r i o ent r e 0 e 10.
X = I nt ( Rnd( ) *10) Ger a umnmer o i nt ei r o al eat r i o ent r e 0 e 10.
ROUND (NUM, NUM DE DGITOS)
Equivalente funo =Arred(), arredonda o nmero para o nmero de dgitos fornecido.
Exemplos:
X = Round( 2. 39 , 1) equi val e a ar r edondar 2, 39 par a 1 casa ( x = 2, 40)
X = Round ( 234. 4 , 0) equi val e a ar r edondar 234, 4 par a nenhuma casa ( x = 234)

sac@clinicadematematica.com.br Tel. (61) 3321-3939

Você também pode gostar