With Selection.Font E
.Name = "Arial" stes
.FontStyle = "Negrito" com
.Size = 10 and
.ColorIndex = 10 os
End With apli
cam
a fonte Arial, o estilo Negrito, o tamanho 10 e a cor de fonte verde, para
as clulas atualmente selecionadas.
E
With Selection.Interior stes
.ColorIndex = 48 com
.Pattern = xlSolid and
.PatternColorIndex = xlAutomatic os
End With apli
cam a cor de plano de fundo cinza, para as clulas atualmente
selecionadas.
5. Salve e feche o Editor do VBA.
OPERAES COM MACROS
PESQUISADOR DE OBJETO
TIPOS DE VARIVEIS
Operador Smbolo
Maior >
Menor <
Maior ou Igual >=
Menor ou Igual <=
Diferente <>
Igual =
EXERCCIO 1
5. Clique em OK.
Ser exibida uma caixa de mensagem:
6. Clique em OK.
Ser exibida uma caixa de mensagem:
7. Clique em OK.
Ser exibida uma caixa de mensagem:
8. Clique em OK.
Ser exibida uma caixa de mensagem:
9. Clique em OK.
Ser exibida uma caixa de mensagem:
5. Clique em OK.
Ser exibida uma caixa de mensagem:
6. Clique em OK.
Ser exibida uma caixa de mensagem:
7. Clique em OK.
Ser exibida uma caixa de mensagem:
Neste exerccio, utilizamos um array unidimensional de 4
elementos para armazenar nomes dos alunos e mostra-los na tela
atravs da funo msgbox.
EXERCCIO 1
5. Clique em OK.
Ser exibida uma caixa de mensagem:
Neste exerccio, utilizamos um array bidimensional com 2 linhas e
2 colunas totalizando assim 4 elementos para armazenar nomes e
mdias dos alunos e mostra-los na tela atravs da funo msgbox.
Alm disso, fizemos uso no cdigo de uma funo chamada
Chr(nmero). Esta funo envia como resultado para a funo msgbox o
caractere correspondente ao nmero digitado entre parnteses. Este
nmero, o nmero do caractere no padro ASCll (American Standard
Caracter Interchange Information).
No cdigo ASCII, cada caractere possui um nmero associado, no
caso do nmero 13, este se encontra associado ao <ENTER>, o que
equivale a uma troca de linha. Assim utilizamos o Chr(13) para simular
um <ENTER>, de tal maneira que os dados no apaream todos
grudados na mesma linha.
ESCOPO OU DOMNIO DAS VARIVEIS
FUNES
FUNO LCASE
Esta funo converte para minsculas, a string que foi passada
como parmetro para a funo.
A sintaxe desta funo a seguinte:
Lcase(<varivel>)
Abaixo, segue um exemplo que ilustra o uso desta funo:
Na execuo deste procedimento, uma caixa de mensagem surgir.
FUNO UCASE
Esta funo converte para maisculas, a string que foi passada
como parmetro para a funo.
A sintaxe desta funo a seguinte:
Ucase(<varivel>)
Abaixo, segue um exemplo que ilustra o uso desta funo:
FUNO TIME
Esta funo retorna a hora atual do sistema operacional. Esta
uma funo que no possui argumentos.
A sintaxe desta funo a seguinte:
Time()
Abaixo, segue um exemplo que ilustra o uso desta funo:
Na execuo deste procedimento, uma caixa de mensagem surgir.
FUNO DAY
Esta funo retorna o dia do ms de uma determinada data
passada como parmetro.
A sintaxe desta funo a seguinte:
Day(<data>)
Abaixo, segue um exemplo que ilustra o uso desta funo:
FUNO YEAR
Esta funo retorna o ano de uma determinada data passada como
parmetro.
A sintaxe desta funo a seguinte:
Year(<data>)
Abaixo, segue um exemplo que ilustra o uso desta funo:
Na execuo deste procedimento, uma caixa de mensagem surgir.
FUNO MONTHNAME
Esta funo recebe como parmetro um nmero, que indica o ms
do ano (1-Janeiro 2-Fevereiro...).
A sintaxe desta funo a seguinte:
MonthName(<Num_ms>)
Abaixo, segue um exemplo que ilustra o uso desta funo:
FUNO HOUR
Esta funo recebe como parmetro uma hora e retorna um nmero
entre 0 e 23, indicando a hora atual.
FUNO DATEDIFF
Esta funo utilizada para determinar um intervalo entre duas
datas, podendo este intervalo ser entre dias, trimestres, semestres, anos
e etc.
A sintaxe desta funo a seguinte:
DateDiff(<intervalo>,<data1>,<data2>)
O argumento <intervalo>, uma string que indica o tipo
de intervalo que iremos calcular. Para sabermos como
calcular um intervalo entre duas datas devemos conhecer a
tabela seguinte:
<Intervalo> Descrio
yyyy Anos
q Trimestres
m Meses
d Dias
w Semanas
h Horas
n Minutos
s Segundos
FUNO DATEADD
Esta funo utilizada para determinar uma data futura, com base
em uma data fornecida, o tipo de intervalo a ser acrescentado e o
nmero a ser acrescentado. Este intervalo pode ser entre dias,
trimestres, semestres, anos e etc.
A sintaxe desta funo a seguinte:
DateAdd (<intervalo>,<acrscimo>,<data>)
O argumento <acrscimo>, a ser acrescentado a
data para achar a nova data final.
<Intervalo> Descrio
yyyy Anos
q Trimestres
m Meses
d Dias
w Semanas
h Horas
n Minutos
s Segundos
Funo Descrio
Posio 1 2 3 4 5 6 7 8 9
Nmero 3 3 3 4 4 4 5 5 5
Multiplica 10 9 8 7 6 5 4 3 2
por:
Resultado 30 27 24 28 24 20 20 15 10
Depois, devemos somar os resultados obtidos na quarta linha da
tabela anterior:
Soma 1 = 30+27+24+28+24+20+20+15+10
Soma 1 = 198
Fao a diviso desta soma por 11 e verifico o resto da diviso:
Ex: 198/11 Resulta em uma diviso exata, com resto 0.
Agora, deve-se seguir a seguinte regra:
Quando o resto zero ou um, o DV zero
Quando o resto diferente de zero ou um, o DV obtido
fazendo-se: 11-resto.
Neste caso, como o resto foi zero, o primeiro DV zero:
DV1 = 0
Este primeiro dgito verificador (DV1) passa a fazer parte do CPF,
conforme a tabela a seguir:
Posio 1 2 3 4 5 6 7 8 9 10
Nmero 3 3 3 4 4 4 5 5 5 0
Agora, devemos repetir o mesmo processo feito anteriormente,
porm j considerando o DV1 como parte integrante do CPF, conforme
mostrado na tabela a seguir:
Posio 1 2 3 4 5 6 7 8 9 10
Nmero 3 3 3 4 4 4 5 5 5 0
Multiplica 11 10 9 8 7 6 5 4 3 2
por:
Resultado 33 30 27 32 28 24 25 20 15 0
Depois, devemos somar os resultados obtidos na quarta linha da
tabela anterior:
Soma 2 = 33+30+27+32+28+24+25+20+15+0
Soma 2 = 234
Fao a diviso desta soma por 11 e verifico o resto da diviso:
Ex: 234/11 Resulta em 21, com resto 3.
Agora, deve-se seguir a seguinte regra:
Quando o resto zero ou um, o DV zero
Quando o resto diferente de zero ou um, o DV obtido
fazendo-se: 11-resto.
Neste caso, como o resto foi 3, o segundo DV :
DV2 = 11-3
DV2 = 8
Com isso, temos o CPF com os dois dgitos verificadores:
Posio 1 2 3 4 5 6 7 8 9 10 11
Nmero 3 3 3 4 4 4 5 5 5 0 8
Ou seja: 33.444.555-08
2. Depois de criada a funo CPF, teste-a na planilha chamada
CPF, para verificar se cada cpf da lista vlido ou no.
REVISO 3
Mtodos
Activate Ativa um documento aberto.
Close Fecha um documento.
Protege um documento contra qualquer tipo de
Protect
alterao.
Save Salva a pasta de trabalho.
SaveCopyAs Cria uma cpia do documento em questo.
OBJETO WORKSHEET
Objeto que esta abaixo do objeto Workbooks na hierarquia de
objeto do Excel.
Refere-se a uma planilha da pasta de trabalho e membro da
coleo Worksheets.
Para fazer referncia a um objeto Worksheet, podemos utilizar
diversas propriedades, como:
Propriedade Worksheets
Propriedade ActiveSheet
Propriedade Worksheets
Para fazer referncia ao objeto Worksheet atravs do uso desta
propriedade, devemos seguir a seguinte sintaxe:
Worksheets(ndice)
Onde ndice, o nmero de ndice ou o nome da planilha que ir
retornar um nico objeto Worksheet. O exemplo a seguir, oculta a
planilha 1 (um) da pasta de trabalho ativa.
Worksheets(1).Visible = False
O nmero de ndice da planilha especifica a posio da planilha na
guia de planilhas da pasta de trabalho. Onde Worksheets(1) a primeira
planilha (mais esquerda).
Podemos tambm usar como ndice o nome da planilha. O exemplo
a seguir, protege a planilha chamada Plan1.
Worksheets("plan1").Protect
Propriedade ActiveSheet
O uso desta propriedade refere-se planilha que esta ativa no
momento. O exemplo a seguir, imprime a planilha que esta ativa.
ActiveSheet.PrintOut
A seguir segue uma lista com as principais propriedades e
mtodos deste objeto.
Propriedades
Name Nome da planilha.
Visible Torna a planilha visvel ou a oculta.
Mtodos
Activate Ativa uma determinada planilha.
Delete Apaga uma planilha da pasta de trabalho.
Protect Protege uma planilha contra qualquer tipo de
alterao.
OBJETO RANGE
Este um dos objetos mais utilizados no Excel, pois representa
uma clula ou uma faixa de clulas em um determinado intervalo.
Para fazer referncia a um objeto Range, podemos utilizar diversas
propriedades e mtodos, como:
Propriedade Range
Propriedade Cells
Propriedade Offset
Mtodo Union
Propriedade Range
Para fazer referncia ao objeto Range atravs do uso desta
propriedade, devemos seguir a seguinte sintaxe:
Range (argumento)
Onde argumento, contm o endereo de uma clula ou intervalo de
clulas.
O exemplo a seguir, copia o valor da clula A3, para a clula A1.
Range(A1).Value = Range(A3).Value
O exemplo a seguir, preenche o intervalo de clulas com o texto
VBA.
Range("A1:A8").Value = "VBA"
O exemplo a seguir, apaga o contedo do intervalo chamado
banco.
Range("banco").ClearContents
Propriedade Cells
Para utilizar esta propriedade, devemos utilizar a seguinte sintaxe:
Cells (linha, coluna)
Onde linha, contm o ndice da linha e coluna, contm o ndice da
coluna para retornar uma clula.
Por exemplo:
Se desejarmos fazer referncia a clula A1, devemos apenas
utilizar Cells (1,1). Ou seja, linha 1 e coluna 1 da planilha (clula A1).
O exemplo a seguir, preenche a clula A1 com um nmero
randmico.
Cells(1, 1).Formula = "=rand()"
Em algumas situaes o uso da propriedade Cells para fazer
referncia as clulas mais apropriado do que a utilizao
da propriedade Range, pois com a propriedade Cells,
podemos utilizar uma varivel para a linha ou a coluna e
percorrer todo um intervalo dentro de uma lao de repetio.
Para entendermos melhor a explicao, proceda da seguinte
maneira:
1. Abra uma nova pasta de trabalho do Excel.
2. Abra o Editor do VBA.
3. Insira um novo mdulo e dentro dele, digite o cdigo a
seguir:
Exemplo 2
O usurio seleciona a planilha que ser aberta:
Para este exemplo, faremos uso do mtodo GetOpenFilename:
JANELA DE PROPRIEDADES