Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Curso Excel V52 PDF
Apostila Curso Excel V52 PDF
1.
2.
OPERADORES .............................................................................................................. 2
ORDEM DE PRECEDNCIA DOS OPERADORES ...................................................... 3
O ASSISTENTE DE FUNO......................................................................................... 4
FUNES...................................................................................................................... 5
2.4.1.
2.4.2.
ARGUMENTOS...................................................................................................... 6
2.4.3.
2.4.3.1.
ARRED............................................................................................................ 7
2.4.3.2.
CONT.SE ........................................................................................................ 8
2.4.3.3.
CORRESP ....................................................................................................... 9
2.4.3.4.
INT.................................................................................................................10
2.4.3.5.
MXIMO ......................................................................................................11
2.4.3.6.
MDIA ..........................................................................................................11
2.4.3.7.
MNIMO .......................................................................................................12
2.4.3.8.
MOD ............................................................................................................13
2.4.3.9.
MULT.............................................................................................................13
2.4.3.10.
SE ..................................................................................................................14
2.4.3.11.
SOMA...........................................................................................................17
2.4.3.12.
SOMASE.......................................................................................................18
2.4.3.13.
PROCV / PROCH........................................................................................18
2.4.3.14.
TEXTO ...........................................................................................................20
2.4.3.15.
EERROS ........................................................................................................20
2.4.3.16.
CONCATENAR............................................................................................21
2.4.3.17.
SOMARPRODUTO.......................................................................................21
ii
2.4.3.18.
2.5.
2.6.
2.7.
2.8.
2.9.
2.10.
2.11.
2.12.
DIREITA / ESQUERDA..................................................................................21
REFERNCIA CIRCULAR............................................................................................ 22
FRMULAS - GERAO E CORREO DE ERROS .............................................. 22
VALORES DE ERRO.................................................................................................... 23
FIXANDO REFERNCIAS EM FRMULAS................................................................. 24
MOVIMENTAO DE CLULAS............................................................................... 24
TECLAS SHIFT, CTRL, HOME, END E SETAS NO EXCEL ........................................... 25
ALGUNS ATALHOS INTERESSANTES ......................................................................... 25
LISTA ALFABTICA DE FUNES DE PLANILHA ..................................................... 27
3.
4.
VALIDAO DE DADOS..................................................................................................43
4.1.
4.2.
5.
6.
7.
6.3.1.
6.3.2.
FLUXOGRAMA CONVENCIONAL....................................................................52
6.3.3.
PSEUDOCDIGO ..............................................................................................53
MACROS............................................................................................................................54
7.1.
7.2.
7.2.1.
7.2.2.
7.2.3.
7.3.
7.3.1.
7.3.2.
EXECUTAR ...........................................................................................................57
iii
7.3.3.
7.4.
7.4.1.
7.4.2.
7.4.3.
7.5.
7.6.
7.7.
7.8.
7.9.
7.10.
7.11.
PROJECT EXPLORER.................................................................................................. 60
JANELA DE PROPRIEDADE....................................................................................... 61
JANELA DE EDIO.................................................................................................. 61
HELP ONLINE .............................................................................................................. 62
AS CORES DO VBA ................................................................................................... 62
IDENTAO ............................................................................................................... 63
FUNES E SUBROTINAS.......................................................................................... 63
7.11.1. SUBROTINAS........................................................................................................64
7.11.1.1.
7.11.1.2.
DEFINIO DE FUNES..........................................................................65
7.11.2.2.
7.11.2.3.
VARIVEIS..........................................................................................................................69
8.1.
8.1.1.
8.1.2.
8.2.
8.3.
TIPOS DE VARIVEIS.................................................................................................. 70
DECLARAO DE VARIVEIS ................................................................................. 71
iv
8.4.
8.5.
8.5.1.
8.5.2.
8.5.3.
8.5.4.
8.6.
8.6.1.
8.6.1.1.
PRS ............................................................................................................74
8.6.1.2.
CONTRAS ....................................................................................................74
8.6.2.
8.7.
8.7.1.
8.7.2.
8.8.
8.8.1.
8.8.1.1.
8.8.1.2.
8.8.2.
8.8.2.1.
8.8.2.2.
8.8.3.
8.8.3.1.
8.8.3.2.
ATRIBUIO DE VALORES.........................................................................79
8.8.4.
9.
CONSTANTES .....................................................................................................................81
9.1.
vi
12.4.2.2.
CONSTRUO DO CICLO:.......................................................................98
12.4.2.3.
TRADUO INTEGRAL...............................................................................99
12.5.2.2.
CONSTRUO DO CICLO:.....................................................................102
12.5.2.3.
TRADUO INTEGRAL.............................................................................102
vii
CONSTRUO DA ESTRUTURA...............................................................109
PROPRIEDADES.........................................................................................115
13.3.1.2.
MTODOS..................................................................................................116
13.3.1.3.
WORKBOOK..............................................................................................117
13.3.1.4.
PROPRIEDADES.........................................................................................117
13.3.1.5.
MTODOS..................................................................................................118
13.3.1.6.
WORKSHEET...............................................................................................119
13.3.1.7.
PROPRIEDADES.........................................................................................119
13.3.1.8.
MTODOS..................................................................................................120
MTODOS..................................................................................................122
viii
VANTAGEM...............................................................................................125
13.6.2.2.
DESVANTAGEM ........................................................................................125
13.6.3.2.
ix
HOME
END
Seta Esquerda
Seta Direita
CTRL+Seta direita
CTRL+Seta esquerda
CTRL+HOME
CTRL+END
Note que o smbolo de igual foi adicionado no incio da frmula na barra de frmulas.
Esse sinal o elemento bsico que o EXCEL usa para saber que voc est digitando uma
frmula. Embora no exemplo acima tivssemos comeado a digitar a frmula com o
sinal de mais, essa uma das poucas excees feitas pelo Excel. Nos demais casos, se
no for digitado o sinal de igual antes do incio da frmula, ele interpretar o seu
contedo como um texto ou uma data.
2.1. OPERADORES
Quase todas as frmulas que voc escrever certamente conter algum operador
matemtico. Esses operadores indicam qual tipo de operao ser realizada. Os
operadores disponveis no EXCEL so os seguintes:
Operador
Realiza
Exemplo
Adio
=A1+B1
Subtrao
=A1-B1
Diviso
=A1/B1
Multiplicao
=A1*B1
Percentual
=A1*20%
Exponenciao
=A1^3
Alguns operadores atuam sobre dois valores, tais como as quatro operaes
matemticas. J o operador de percentual atua diretamente sobre o nmero que o
antecede, dividindo-o por 100. Alm desses operadores, o EXCEL possui operadores
especiais que avaliam dois valores e retornam o valor lgico Verdadeiro ou Falso.
Operador
Descrio
Igual
>
Maior que
<
Menor que
>=
<=
<>
Diferente de
Descrio
()
Parnteses
Percentual
Exponenciao
*e/
Multiplicao e Diviso
+e-
Adio e subtrao
Comparao
Uma segunda caixa de dilogo ser aberta mostrando uma explicao sobre a funo.
Para cada argumento da funo, o EXCEL mostra uma explicao quando voc
posicionar o cursor sobre ele.
Aps informar os argumentos desejados, deve ser pressionado o boto Finalizar para
que a funo seja introduzida na clula.
2.4. FUNES
Usando apenas os operadores matemticos apresentados h pouco, voc certamente j
poderia criar planilhas para resolver praticamente todas as tarefas realizadas
manualmente hoje e que envolvam clculos diversos. Mas, o EXCEL vai mais alm, ele
contm uma srie de funes predefinidas que economizam muito trabalho para voc.
Genericamente uma funo consiste em uma srie de operaes matemticas que agem
sobre valores fornecidos pelo usurio e retorna obrigatoriamente algum resultado.
No exemplo anterior tivemos que somar apenas o contedo de quatro clulas, mas
imagine que em vez de quatro fossem cem referncias. Seria um enorme trabalho de
digitao, sujeito a muitos erros.
Para facilitar esse trabalho, o EXCEL possui uma funo chamada "SOMA", que pede a
especificao apenas da referncia da primeira e da ltima clula da faixa que ser
somada.
No exemplo anterior, em vez de digitar a referncia das clulas, poderamos digitar
=SOMA(C4:C7). Alm de economizar digitao, a utilizao dessa funo beneficia o
usurio quando ele precisa alterar a estrutura da planilha.
2.4.1.
Toda funo composta por um nome que sucedido obrigatoriamente por parnteses.
Dependendo da funo, dentro dos parnteses podem existir argumentos, ou seja ,
valores ou referncias a clulas e que sero usados pela funo para retornar o
resultado da funo.
A funo SOMA( ), por exemplo, exige como argumentos a especificao da clula inicial
e da clula final separadas por dois-pontos ou, ento, uma srie de endereos de clulas
separados por ponto-e-vrgula.
Cada funo possui uma sintaxe prpria, ou seja, espera-se que os seus argumentos
sejam especificados em uma ordem determinada. Se isso no ocorrer, haver um erro
que faz com que o resultado no seja produzido ou uma mensagem de advertncia seja
exibida.
2.4.2.
ARGUMENTOS
Um
Nmeros
Texto
Valores lgicos
Valores de erro
Referncias
Matrizes
Quando uma funo possuir mais de um argumento, eles devem ser separados por um
ponto-e-vrgula.
Exemplos:
SOMA(A1;A15;A30)
SOMA(C1:C15;B1:B15)
2.4.3.
2.4.3.1. ARRED
Sintaxe:
ARRED(nm; nm_dgitos)
Exemplos:
ARRED(2,15; 1)
igual a 2,2
ARRED(2,149; 1)
igual a 2,1
ARRED(-1,475; 2)
igual a -1,48
ARRED(21,5; -1)
igual a 20
2.4.3.2. CONT.SE
Sintaxe:
CONT.SE(intervalo; critrios)
Exemplos:
Suponha que A3:A6 contenha "mas", "laranjas", "peras", "mas", respectivamente.
CONT.SE(A3:A6;"mas")
igual a 2
igual a 2
2.4.3.3. CORRESP
Retorna a posio relativa de um elemento em uma matriz que coincide com um valor
especificado a forma especificada. Use CORRESP em vez de uma das funes PROC
quando voc precisar da posio de um item coincidente ao invs do item propriamente
dito.
Sintaxe:
CORRESP(valor_procurado; matriz_procurada;tipo_correspondncia)
Valor_procurado
o valor que voc deseja coincidir com matriz_procurada. Por
exemplo, quando voc procura o nmero do telefone de algum em uma lista telefnica,
voc est usando o nome da pessoa como o valor da pesquisa, mas o nmero do
telefone o valor que voc deseja. Valor_procurado pode ser um valor (nmero, texto
ou valor lgico) ou uma referncia de clula de um nmero, texto, ou valor lgico.
Matriz_procurada
procura.
o nmero -1, 0 ou 1.
Tipo_correspondncia
especifica como o Excel corresponde a valor_procurado com
os valores contidos em matriz_procurada.
Se tipo_correspondncia for 1, CORRESP localizar o maior valor que for menor do que
ou igual a valor_procurado. Matriz_procurada deve ser posicionada em ordem
ascendente: ...-2, -1, 0, 1, 2,...A-Z, FALSO, VERDADEIRO.
Se tipo_correspondncia for 0, CORRESP localizar o primeiro valor que for exatamente
igual a valor_procurado. Matriz_procurada pode ser colocada em qualquer ordem.
Se tipo_correspondncia for -1, CORRESP localizar o menor valor que for maior ou
igual a valor_procurado. Matriz_procurada deve ser posicionada em ordem decrescente:
VERDADEIRO, FALSO, Z-A,...2, 1, 0, -1, -2,... e assim por diante.
Se tipo_correspondncia for omitido, ser equivalente a 1.
Comentrios
CORRESP fornece a posio do valor coincidente em matriz_procurada, e no o valor
propriamente dito. Por exemplo: CORRESP("b";{"a"."b"."c"};0) fornece 2, a posio
relativa de "b" na matriz {"a"."b"."c"}.
CORRESP no faz distino entre letras maisculas e minsculas quando coincidindo
valores de texto.
Se CORRESP no conseguir localizar um valor coincidente, ele
fornecer o valor de erro #N/D.
Dica: Utilize o CORRESP dentro do PROCV para seguir a posio do item procurado
dentro do conjunto de dados.
2.4.3.4. INT
Sintaxe:
INT(nm)
Exemplos:
INT(8,9)
igual a 8
INT(-8,9)
igual a -9
10
Nota: A seguinte frmula retorna a parte decimal de um nmero real positivo na clula
A1:
A1-INT(A1)
2.4.3.5. MXIMO
Sintaxe:
Nm1; nm2;...
Voc pode especificar argumentos que so nmeros, clulas vazias, valores lgicos ou
representaes em forma de texto de nmeros. Os argumentos que so valores de erro
ou texto que no podem ser traduzidos em nmeros geram erros. Se um argumento for
uma matriz ou referncia, apenas os nmeros nesta matriz ou referncia sero usados.
Clulas vazias, valores lgicos, texto ou valores de erro na matriz ou referncia sero
ignorados. Se os argumentos no contiverem nmeros, MXIMO retornar 0.
Exemplos:
Se A1:A5 contiver os nmeros 10, 7, 9, 27 e 2, ento:
MXIMO(A1:A5)
igual a 27
MXIMO(A1:A5;30) igual a 30
2.4.3.6. MDIA
11
Sintaxe:
Nm1; nm2;...
obter a mdia.
Exemplos:
MDIA(B1:B15)
MDIA(B1:B10;20)
2.4.3.7. MNIMO
Sintaxe:
Nm1; nm2;...
mnimo.
Voc pode especificar os argumentos que so nmeros, clulas vazias, valores lgicos
ou representaes em texto de nmeros. Os argumentos que so valores de erro ou
texto que no podem ser traduzidos em nmeros causam erros.
Se um argumento for uma matriz ou referncia, apenas os nmeros daquela matriz ou
referncia podero ser usados. Clulas vazias, valores lgicos ou valores de erro na
matriz ou referncia sero ignorados. Se os argumentos no contiverem nmeros,
MNIMO retornar 0.
12
Exemplos:
Se A1:A5 contiver os nmeros 10, 7, 9, 27 e 2, ento:
MNIMO(A1:A5)
igual a 2
MNIMO(A1:A5; 0)
igual a 0
2.4.3.8. MOD
Retorna o resto depois da diviso de nm por divisor. O resultado possui o mesmo sinal
que divisor.
Sintaxe:
MOD(nm; divisor)
Nm
Divisor
o nmero pelo qual voc deseja dividir o nmero. Se divisor for 0, MOD
retornar valor de erro #DIV/0!.
Dica: A funo MOD pode ser expressa em termos da funo INT: MOD(n; d) = n d*INT(n/d)
Exemplos:
MOD(3; 2)
igual a 1
MOD(-3; 2)
igual a 1
MOD(3; -2)
igual a -1
2.4.3.9. MULT
13
Sintaxe:
Nm1, nm2,...
Exemplos:
Se a clula A2:C2 contiver 5, 15 e 30:
MULT(A2:C2)
igual a 2.250
MULT(A2:C2; 2)
igual a 4.500
2.4.3.10.
SE
Sintaxe:
14
Teste_lgico, qualquer valor ou expresso que pode ser avaliada como VERDADEIRO
ou FALSO.
Valor_se_verdadeiro, o valor fornecido se teste_lgico for VERDADEIRO. Se
teste_lgico for VERDADEIRO e valor_se_verdadeiro for omitido, VERDADEIRO ser
fornecido. Valor_se_falso
o valor fornecido se teste_lgico for FALSO.
Se
teste_lgico for FALSO e valor_se_falso for omitido, FALSO ser fornecido.
At sete funes SE podem ser aninhadas como argumentos valor_se_verdadeiro e
valor_se_falso para construir testes mais elaborados. Consulte o ltimo exemplo a
seguir. Se voc estiver usando SE em uma macro, valor_se_verdadeiro e valor_se_falso
tambm podem ser funes IRPARA, outras macros ou funes de ao.
Por exemplo, a frmula seguinte permitida em uma macro:
SE(Nmero>10;IRPARA(Grande);IRPARA(Pequeno))
No exemplo anterior, se Nmero for maior do que 10, ento teste_lgico ser
VERDADEIRO, a instruo valor_se_verdadeiro avaliada, e a funo de macro
IRPARA(Grande) ser executada.
Se Nmero for menor ou igual a 10, ento
teste_lgico FALSO, valor_se_falso ser avaliado, e a funo de macro
IRPARA(Pequeno) executada.
Quando os argumentos valor_se_verdadeiro e valor_se_falso so avaliados, SE retorna
o valor que foi retornado por estas instrues. No exemplo anterior, se o nmero no
for maior do que 10, VERDADEIRO continua a ser fornecido, caso a segunda instruo
IRPARA tenha sido bem-sucedida.
Se qualquer um dos argumentos de SE forem matrizes, cada elemento da matriz ser
avaliado quando a instruo SE for executada. Se algum dos argumentos
valor_se_verdadeiro e valor_se_falso forem funes de execuo de ao, todas as
aes so executadas. Por exemplo, a seguinte frmula de macro executa as duas
funes ALERTA:
SE({VERDADEIRO.FALSO};ALERTA("Um";2);ALERTA("Dois";2))
Exemplos:
15
No exemplo a seguir, se o valor ao qual se fez referncia pelo nome Arquivo for igual a
"Grfico", teste_lgico ser VERDADEIRO e a funo de macro NOVO(2) ser executada,
seno, teste_lgico ser FALSO e NOVO(1) ser executada:
SE(Arquivo="Grfico";NOVO(2),NOVO(1))
SE(B2>C2;"Acima do oramento";"OK")
SE(B3>C3;"Acima do oramento";"OK")
igual a "OK"
Suponha que voc deseje efetuar uma classificao atribuindo letras aos nmeros que
so referenciados pelo nome Mdia. Consulte a tabela a seguir.
Se a Mdia for
Maior do que 89
De 80 a 89
De 70 a 79
De 60 a 69
Menor do que 60
Ento retorna
A
B
C
D
F
SE(Mdia>89;"A";SE(Mdia>79;"B";SE(Mdia>69;"C";SE(Mdia>59;"D";"F"))))
16
Funes relacionadas
E
FALSO
NO
OU
VERDADEIRO
2.4.3.11.
SOMA
Nm1, nm2,...
so argumentos de 1 a 30 que se deseja somar. Os nmeros,
valores lgicos e representaes em forma de texto de nmeros digitados diretamente
na lista de argumentos so contados. Consulte o primeiro e o segundo exemplos
seguintes.
Se um argumento for uma matriz ou referncia, apenas os nmeros nesta matriz ou
referncia sero contados. Clulas em branco, valores lgicos, texto ou valores de erro
na matriz ou referncia so ignorados. Consulte o terceiro exemplo a seguir.
Os argumentos que so valores de erro ou texto que no podem ser traduzidos em
nmeros geram erros.
Exemplos
SOMA(3; 2)
igual a 5
SOMA("3"; 2; VERDADEIRO)
igual a 6 porque os valores de texto so traduzidos
em nmeros e o valor lgico VERDADEIRO traduzido no nmero 1.
17
2.4.3.12.
SOMASE
Intervalo
Critrios
so os critrios na forma de um nmero, expresso, ou texto, que define
quais clulas a serem adicionadas. Por exemplo, critrios pode ser expresso como 32,
"32", ">32", "mas".
Intervalo_soma so clulas a serem realmente somadas. As clulas em intervalo_soma
so somadas somente se suas clulas correspondentes em intervalo coincidirem com os
critrios estipulados. Se intervalo_soma for omitido, as clulas em intervalo sero
somadas.
Exemplo:
Suponha que A1:A4 contm os seguintes valores de propriedade para quatro casas: R$
100000, R$ 200000, R$ 300000, R$ 400000, respectivamente. B1:B4 conter as
seguintes comisses de vendas em cada um dos valores de propriedade
correspondentes: R$ 7000, R$ 14000, R$ 21000, R$ 28000.
SOMASE(A1:A4;">160000";B1:B4)
2.4.3.13.
igual a R$ 63000
PROCV / PROCH
matriz_tabela;
nm_ndice_coluna;
18
19
2.4.3.14.
TEXTO
TEXTO(valor; formato_texto)
Exemplo:
Verificao/comparao de datas, quando uma delas esta em formato texto.
SE(TEXTO(A1;dd/mm/)=TEXTO(A2;dd/mm/);IGUAIS;DIFERENTES)
2.4.3.15.
EERROS
EERROS(valor)
Valor: e o valor que se deseja testar. Valor pode se referir a uma clula, formula ou a
um nome que faz referencia a uma clula, formula ou valor.
Exemplo:
Se a clula A1 contem o numero 2 e na clula B1 contem a palavra teste.
SE(ERROS(A1+B1);"problema";A1+B1)
igual a problema
Se a clula A1 contem o numero 2 e na clula B1 contem o numero 7.
SE(ERROS(A1+B1);"problema";A1+B1)
igual a 9
20
2.4.3.16.
CONCATENAR
CONCATENAR(texto1;texto2;texto3;...)
Texto1:
Exemplo:
Se a clula A1 contem o numero 2 e na clula B1 contem a palavra teste.
CONCATENAR(A1;B1)
2teste
CONCATENAR(A1;-;B1)
2-teste
2.4.3.17.
SOMARPRODUTO
SOMARPRODUTO(matriz1;matriz2)
Matriz1:
ate 30 matrizes para as quais voc deseja multiplicar e somar os valores
correspondentes.
Exemplo:
Se a clula A1 contem o numero 2 e na clula B1 contem a palavra teste.
SOMARPRODUTO(A1:A10;H1:H10)
2.4.3.18.
DIREITA / ESQUERDA
21
Exemplo:
Se a clula A1 contem o texto Curso de Excel Intermedirio / Avanado e o numero
informado e 14.
ESQUERDA(A1;14)
e igual a Curso de Excel
DIREITA (A1;24)
e igual a Intermedirio / Avanado
22
23
#DIV/0!
O valor de erro #DIV/0! significa que uma frmula est tentando efetuar uma diviso
por zero.
D$4
D4
DICA: Edite a formula com o mouse ou com a tecla F2 e utilize a tecla F4 para alternar
as combinaes de fixao da referencia de clulas.
24
Teclas
2.11.
Operao
Ctrl +
Ctrl +
Ctrl + home
Ctrl + end
Ctrl + Shift +
Ctrl + Shift +
25
invs de agilizar nosso dia-a-dia, atrasar nossas atividades. Porem, alguns atalhos que
realizam as funes mais freqentemente utilizadas otimizam nosso tempo:
Teclas
Referencia
na Tecla
Ctrl + Shift + 1
Ctrl + Shift + 2
Ctrl + Shift + 3
Ctrl + Shift + 4
Ctrl + Shift + 5
Ctrl + Shift + 6
Ctrl + Shift + 7
&
Ctrl + Shift + 8
Ctrl + Shift + -
Operao
Utilizado em clulas numricas:
Inclui duas casas decimais
Inclui separador de milhar
Utilizado para horas:
Formata o numero em hh:mm
Inclui indicao AM ou PM
Utilizado em datas:
Formata a data em d-mmm-aa
Utilizado em nmeros:
Inclui o numero com o $
Inclui o separador de milhar
Formata para duas casas decimais
Utilizado em percentual:
Formata o numero como percentual
Utilizado em nmeros:
Formata o numero em notao cientifica
Utilizado em formatao de clulas:
Inclui a linha de grade externa da clula ou
range selecionado
Utilizado em seleo de dados:
Seleciona a tabela a qual sua clula
pertence
Utilizado em formatao de clulas:
Exclui todas as linhas de grade da clula
ou range selecionado
26
2.12.
Funo
Significado__________________________________
ABS
ACOSH
ACOS
AGORA
ALEATRIO.ENTRE
Retorna um
especificados
ALEATRIO
AMORDEGRC
AMORLINC
ANO
REAS
ARREDMULTB
nmero
aleatrio
dentre
os
nmeros
ARRUMAR
ASENH
ASEN
ATAN2
ATANH
ATAN
BDCONTARA
27
BDCONTAR
BDDESVPA
BDD
BDEST
BDEXTRAIR
BDMX
BDMDIA
Retorna a mdia
selecionadas
BDMN
BDMULTIPL
BDSOMA
BDVAREST
BDVARP
BDV
BD
BESSELI
BESSELJ
BESSELK
BESSELY
das
entradas
do
banco
de
dados
28
BETA.ACUM.INV
BINADEC
BINAHEX
BINAOCT
CL
CARACT
CHAMAR
CDIGO
COLS
COL
COMBIN
COMPLEXO
CONCATENAR
CONT.NM
CONT.SE
CONT.VALORES
Calcula o nmero
argumentos
CONTAR.VAZIO
CONVERTER
CORREL
CORRESP
COSH
COS
de
valores
existentes
na
lista
de
29
COVAR
CRESCIMENTO
CRIT.BINOM
CUPDATAANT
CUPDATAPRX
CUPDIASINLIQ
CUPDIASPRX
CUPDIAS
CUPNM
CURT
DATA.VALOR
DATAM
DATA
DECABIN
DECAHEX
DECAOCT
DEF.NM.DEC
DEGRAU
DELTA
DESC
DESLOC
30
DESV.MDIO
DESVPADP
DESVPAD
DEVSQ
DIA.DA.SEMANA
DIA.TRABALHO.TOTAL
DIA.TRABALHO
DIAS360
DIA
DIREITA
DIST.BIN.NEG
DIST.HIPERGEOM
DIST.LOGNORMAL
DIST.NORMP
DIST.NORM
DIST.QUI
DISTBETA
DISTEXPON
DISTF
DISTGAMA
DISTORO
DISTRBINOM
DISTT
31
DPD
DURAO
MPAR
.NO.DISP
.NO.TEXTO
PAR
CL.VAZIA
ERROS
ERRO
EFETIVA
LGICO
ENDEREO
NM
EPADYX
REF
ESCOLHER
ESQUERDA
TEXTO
EXATO
Retorna VERDADEIRO
VERDADEIROS
EXP
EXT.TEXTO
se
todos
os
argumentos
forem
32
FALSO
FATDUPLO
FATORIAL
FIMMS
FISHERINV
FISHER
FRAO.ANO
FREQNCIA
FUNERROCOMPL
FUNERRO
GRAUS
HEXABIN
HEXADEC
HEXAOCT
HOJE
HORA
IDENT.REGISTRO
IMABS
IMAGINRIO
IMARG
IMCONJ
IMCOS
IMDIV
IMEXP
33
IMLN
IMLOG10
IMLOG2
MPAR
IMPOT
IMPROD
IMRAIZ
IMREAL
IMSENO
IMSOMA
IMSUBTR
INCLINAO
NDICE
INDIRETO
INFORMAO
INT.CONFIANA
INTERCEPO
INT
INV.NORMP
INV.NORM
INV.QUI
Retorna o inverso da
distribuio qui-quadrada
INVF
INVGAMA
INVLOG
probabilidade
uni-caudal
da
34
INVT
IPGTO
JUROSACUMV
JUROSACUM
LINS
LIN
LNGAMA
LN
LOCALIZAR
LOG10
LOG
Retorna o logaritmo
especificada
LUCRO
LUCRODESC
LUCROPRIMINC
LUCROLTINC
LUCROVENC
MAIOR
MAISCULA
MARRED
MATRIZ.DETERM
MATRIZ.INVERSO
MATRIZ.MULT
de
um
nmero
de
uma
base
35
MXIMO
MDC
MDURAO
MDIA.GEOMTRICA
MDIA.HARMNICA
MDIA.INTERNA
MDIA
MED
MENOR
MS
MNIMO
MINSCULA
MINUTO
MMC
MODO
MOD
MOEDA
MOEDADEC
MOEDAFRA
MTIR
MUDAR
MULTINOMIAL
MULT
NO.DISP
36
NO
NOMINAL
NPER
NM.CARACT
OCTABIN
OCTADEC
OCTAHEX
ORDEM.PORCENTUAL
ORDEM
OTNLUCRO
OTNVALOR
OTN
OU
Retorna
VERDADEIRO
VERDADEIRO
PADRONIZAR
PAR
PEARSON
PERCENTIL
PERMUT
PGTOCAPACUM
PGTOJURACUM
PGTO
se
qualquer
argumento
for
37
PI
Retorna o valor de Pi
POISSON
POTNCIA
PPGTO
PREODESC
PREOPRIMINC
PREOLTINC
PREOVENC
PREO
PREVISO
PRI.MAISCULA
PROB
PROCH
PROCURAR
PROCV
PROC
PROJ.LIN
PROJ.LOG
QUARTIL
QUOCIENTE
38
RADIANOS
RAIZPI
RAIZ
RECEBER
REPETIR
ROMAN
RQUAD
SDA
SEGUNDO
SENH
SEN
SE
SINAL
SOMAQUAD.
SOMARPRODUTO
SOMASE
SOMASEQNCIA
SOMAX2DY2
SOMAX2SY2
SOMA
SOMAXMY2
SQL.REQUEST
de
correlao
do
39
SUBSTITUIR
SUBTOTAL
TANH
TAN
TAXAJUROS
TAXA
TEMPO
TENDNCIA
TESTE.QUI
TESTEF
TESTET
TESTEZ
TETO
TEXTO
TIPO.ERRO
TIPO
TIRAR
TIR
TRANSPOR
TRUNCAR
VALOR.TEMPO
VALOR
VARP
40
VAR
VERDADEIRO
VFPLANO
VF
VPL
VP
WEIBULL
XTIR
XVPL
41
3. FILTRO AVANADO
Para filtrar um intervalo de clulas utilizando critrios complexos, use o comando
Avanado no grupo Filtrar. O comando Avanado trabalha de forma diferente do
comando Filtro em vrios aspectos diferentes, sendo que o mais utilizado o filtro
avanado para registros exclusivos, com a remoo de registros exclusivos.
Um valor duplicado aquele em que todos os valores da linha so um equivalente exato
de todos os valores em outra linha. Valores duplicados so determinados pelo valor
exibido na clula e no necessariamente pelo valor armazenado na clula. Por exemplo,
se voc tem o mesmo valor de data em clulas diferentes, um formatado como
"8/3/2006" e outro como "Mar 8, 2006", os valores so nicos.
Convm filtrar valores nicos primeiro para confirmar se os resultados so os desejados
antes de remover valores duplicados.
Dica: combine as funes SOMASE, CONTSE e PROCV com o filtro avanado para
registros exclusivos.
42
4. VALIDAO DE DADOS
Para facilitar a entrada de dados, ou para limitar a incluso de itens indesejados, a
validao de dados fundamental e mostra-se como uma ferramenta muito importante
na formatao e segurana de seus dados
H diversas opes nas formas de restringir ou permitir a insero de dados em sua
planilha. Algumas das mais utilizadas esto exemplificadas abaixo.
43
No exemplo acima, foi definido que a clula A1 devera receber como informao, apenas
nmeros inteiros entre 0 e 100. Qualquer que seja a informao inserida que no
pertena a este conjunto de dados permitidos, uma mensagem ser exibida ao usurio
informando a infrao cometida.
Veja o exemplo abaixo:
44
5. TABELAS DINAMICAS
Muitas vezes necessria a anlise de diversas perspectivas de um mesmo relatrio.
Para evitar que sejam confeccionadas vrias planilhas de anlise, com base em um
mesmo banco de dados, o Excel utilizar um recurso muito interessante conhecido como
Tabela Dinmica.
Os dados de origem podem ser de diversos programas. Veja a tela inicial abaixo:
45
Nome
Produto
Cliente7
Cliente8
Cliente6
Cliente14
Cliente15
Cliente1
Cliente5
Cliente15
Cliente6
Cliente15
Cliente15
Cliente4
Cliente10
Cliente8
Cliente6
Item12
Item8
Item12
Item14
Item15
Item1
Item1
Item11
Item1
Item1
Item1
Item4
Item10
Item14
Item15
Valor
da
venda
624
3.133,00
5.221,67
1.305,42
3.916,25
100
25
41,67
69,44
116
20,5
100
166,67
5.286,94
135
Preo
de
Margem Representante
Custo
374,4
67% Vendedor3
1.566,50
100% Vendedor8
4.177,33
25% Vendedor3
1.096,55
19% Vendedor3
3.681,28
6% Vendedor15
80
25% Vendedor1
20
25% Vendedor3
25
67% Vendedor11
63,89
9% Vendedor3
81,2
43% Vendedor3
12,3
67% Vendedor3
50
100% Vendedor4
121,67
37% Vendedor10
4.177,33
25% Vendedor11
1.096,55
19% Vendedor3
Regio
Leste
Leste
Leste
Leste
Leste
Norte
Norte
Norte
Norte
Oeste
Sul
Sul
Sul
Leste
Norte
5 passo: Defina agora onde voc quer que a Tabela Dinmica ser inserida (se em uma
nova planilha ou em uma planilha existente). Em nosso exemplo vamos utilizar uma
Nova Planilha.
46
6 passo: A tela abaixo ser exibida. Agora devemos montar a nossa tabela dinmica.
Para um bom aproveitamento dos relatrios deveremos ter em mente qual o objetivo do
relatrio.
Em nosso exemplo queremos emitir uma consulta que permita consultar por regio: o
nome do vendedor, o produto vendido, o representante e o total das vendas. Veja tela
abaixo.
47
A ordem dos campos pode mudar o resultado do relatrio. Agora iremos inverter os
campos representantes e cliente. Observe que o resultado o mesmo, mas o
agrupamento mudou.
Agora as vendas esto agrupadas por vendedor. Na primeira consulta estava agrupada
por cliente.
48
6. LGICA DE PROGRAMAO
A lgica para programao consiste em aprender a pensar na mesma seqncia em que
o computador executa as tarefas, aprende-se a imaginar como as aes sero
executadas partindo-se do estudo de um problema at chegar construo de um
algoritmo (soluo).
Quando pensamos em fazer um programa no computador, temos que ter em mente que
a mquina desconhece totalmente alguns conceitos que para ns muito bvio. Por isto,
devemos descrever cada passo por mais simples que seja para que haja uma seqncia
lgica em nossa programao e assim, o computador executar todas as instrues
necessrias para a execuo de uma determinada tarefa.
Ser que para o computador to simples somar 1+1 como para ns, seres humanos?
Vamos analisar...
Primeiramente necessrio armazenar o primeiro nmero fornecido pelo usurio na
memria do computador. Ler e armazenar o primeiro nmero seria a primeira tarefa.
Por que armazenar?
Porque ele somar o primeiro nmero com o prximo nmero fornecido! Enquanto isto,
ele deve memorizar o primeiro nmero, seno, quando fornecermos o prximo, ele j
esqueceu o primeiro!
Ler e armazenar o segundo nmero pelo mesmo motivo que o primeiro!
Executar a operao de soma
Memorizar o resultado da soma para mostrar em sua tela!
Quando falamos em memorizar, estamos dizendo que o dado deve ser colocado na
memria do computador. Inserimos valores na memria de um computador atravs de
VARIVEIS.
49
PROBLEMA
PROGRAMA
ANLISE
ALGORITMO
Diagrama em
50
6.3.1.
DESCRIO NARRATIVA
Esta representao pouco usada na prtica porque o uso da linguagem natural muitas
vezes d oportunidade a ms interpretaes, ambigidades e imprecises.
51
6.3.2.
FLUXOGRAMA CONVENCIONAL
52
6.3.3.
PSEUDOCDIGO
53
7. MACROS
7.1. O QUE UMA MACRO?
Uma macro um pequeno programa que contm uma lista de instrues a realizar no
Excel. Como sendo um repositrio de operaes, uma macro pode executar um conjunto
de tarefas atravs de um nico procedimento o qual pode ser invocado rapidamente.
As instrues que formam o corpo da macro so escritas num cdigo prprio para que o
computador as possa entender, essa linguagem designada por VBA Visual Basic for
Applications.
7.2.1.
1.
54
2.
3.
Shortcut Key composto por uma combinao de teclas que podero ser utilizadas
para executar uma macro.
4.
Opte por armazenar a macro numa das seguintes alternativas: Esta Pasta de
Trabalho, Nova Pasta de Trabalho ou Pasta de Trabalho Pessoal de macro, sendo que
cada uma corresponde a macros de mbito diferente. Assim devero armazenar a
macro na opo Esta Pasta de Trabalho para que ela esteja ativa sempre que o
documento estiver aberto, e para que ela esteja armazenada no prprio ficheiro no
correndo o risco de ficar armazenada nas Macros do Excel.
5.
6.
Clique em OK para iniciar a gravao da macro neste momento ser exibida uma
toolbar (barra de ferramenta) semelhante da figura abaixo, e o cone do mouse
ser transformado em um sinal de +, indicando o estado de gravao.
Nota: ao gravar uma macro, tenha ateno ao passos executados, pois tudo ser
registrado, o que significa que quando for executar a macro, esses procedimentos sero
efetuados exatamente da mesma maneira que voc os gravou.
55
7.2.2.
Quando se grava uma macro no Excel, este cria um objeto designado por Modulo no
workbook, onde registra todas as operaes gravadas em linguagem Visual Basic for
Applications - VBA. Este Modulo no aparece no Excel com as restantes Sheets.
Para ser visualizado necessrio abrir o Editor de Visual Basic for Applications:
1. Ferramentas / Macro / Macros
2. Selecione a Macro e clique no boto Editar
3. Neste ambiente, e possvel executar as mesmas tarefas que num editor de texto
normal: escrever, apagar, copiar, mover, mas instrues de VBA.
7.2.3.
1. Para acessar ao editor de Visual Basic for Applications: Ferramentas / Macro / Visual
Basic Editor (para se familiarizar mais com o editor consulte o capitulo Editor Visual
Basic for Applications e o capitulo Funes e SubRotinas)
56
2. Para inserir um mdulo: Insert / Modulo isto porque as macros que construir
devero ser escritas dentro de um mdulo (repare na Figura 3 que o Modulo 1 est
selecionado na janela de projeto e do lado direito tem-se uma rea de edio onde e
possvel escrever as macros)
4. Sempre que precisar construir uma macro um pouco mais complicada, voc poder
comear gravando no EXCEL pequenas macros com operaes muito simples e depois
no editor de VBA tentar compreender a sua funcionalidade e assim construir uma
macro cada vez mais complexa, completa e adequada s suas exigncias.
5. Poder em cada macro fazer uma chamada a uma outra, bastando para tal escrever
o respectivo nome.
7.3.1.
7.3.2.
EXECUTAR
57
7.3.3.
58
7.4.1.
7.4.2.
7.4.3.
59
Note que a janela dividida em trs grandes reas: Project Explorer, Propriedades
Window e do lado direito a janela de edio de texto.
60
Janela de propriedades
Nesta janela voc poder visualizar e alterar as propriedades que definem cada objeto:
o nome - neste caso.
Janela de edio
61
Significado
Azul
Vermelho
Preto
Verde
Amarelo
62
7.10.
IDENTAO
7.11.
FUNES E SUBROTINAS
Como foi referido anteriormente, quando se grava uma macro no Excel, este tem um
comportamento em background que realiza a respectiva codificao para Visual Basic for
Applications. Este resultado bem visvel quando procedemos edio de uma macro
no Editor de Visual Basic for Applications. Cada macro que se cria tem um
comportamento concreto e autnomo relativamente a outras macros implementadas, e
tem como Objetivo executar um determinado nmero de instrues1 que respondam s
exigncias do utilizador.
Cada macro criada d origem a um procedimento ou rotina. Existem dois tipos de
rotinas:
as subrotinas ou rotinas Sub, e
1
Entenda-se instruo como uma tarefa a executar que corresponde a uma linha de cdigo.
63
as funes.
7.11.1. SUBROTINAS
7.11.1.1.
DEFINIO DE SUBROTINAS
Sub <nome_da_macro> ( )
<corpo_da_macro>
End Sub
7.11.1.2.
SubRotina e Macro so duas designaes para a mesma realidade, portanto tudo o que
foi referido relativamente a Macros vlido tambm para as SubRotinas.
Neste contexto a execuo de SubRotinas segue o mesmo mecanismo das macros.
Porm neste momento j se pode referir uma nova forma de executar as macros ou
SubRotinas dentro de outras rotinas, isto , quando se escreve dentro de uma rotina o
nome de outra a execuo da rotina tem continuidade na execuo da rotina que est a
ser invocada.
O nome da rotina pode ser qualquer um desde que no contenha espaos, comece por caracteres alfa
Para ter a noo do que so parmetros recorde-se do funcionamento das funes do Excel, que para
executarem determinada funo necessitavam de receber parmetros que colocamos entre parntesis separados
por vrgulas.
64
7.11.2. FUNES
7.11.2.1.
DEFINIO DE FUNES
Funes so rotinas cuja definio comea com a palavra-chave Function e termina com
as palavras End Function. Todas as funes que voc utiliza no Excel so deste tipo de
rotina (soma, VP, Etc). A sua definio tem a estrutura seguinte:
Function <Nome da Funo> ( <parametro1>, <parametro2>,)
End Function
A funo identificada pelo nome, pelo nmero e tipo de parmetros recebidos, e tem
como objetivo executar um conjunto de instrues e produzir um valor final. Isto ,
sempre que se pretender executar uma funo sabido priori que ela produzir um
valor. Para definir o valor produzido por uma funo basta no seu interior, atribuir ao
nome da funo um determinado valor ou expresso.
7.11.2.2.
End Function
Nota: Se os tipos no forem definidos ser assumido por default como sendo do tipo
Variant
65
7.11.2.3.
Uma vez que uma funo produz um valor, ela poder ser executada:
dentro de uma clula numa WorkSheet, semelhana de qualquer uma outra
funo do Excel
dentro de qualquer outra funo ou SubRotina.
7.11.2.3.1.
66
Resumindo:
Qualquer funo poder ser chamada a partir da WorkSheet do Excel, sendo que a sua
chamada ser realizada semelhana de qualquer outra funo: numa clula
= <nome da funo> (<Param_1> , <Param_2>)
7.11.2.3.2.
No exemplo que segue, a funo Valor_Liquido faz uma chamada funo IVA de forma
que o valor produzido seja adicionado varivel Valor produzindo assim produzir o
output final da funo Valor_Liquido.
67
68
2.
8. VARIVEIS
8.1. O QUE SO VARIVEIS?
As variveis constituem repositrios temporrios de dados, podendo ser utilizadas para
diversos fins.
Manuseamento de Variveis
69
8.1.1.
<Nome_Varivel> = <Valor>
Pela observao do procedimento Adio - Figura 22- podemos verificar que as variveis
Parcela_1 e Parcela_2 armazenam os valores introduzidos pelo utilizador atravs das
InputBox (Ver captulo "InputBox e MsgBox"). Tambm varivel Total vai ser atribudo
o valor resultante da adio das duas parcelas - Total = Parcela_1 + Parcela_2.
8.1.2.
TIPO
TAMANHO
Boolean
2 bytes
Byte
1 Byte
Currency
8 Bytes
AO
Permite armazenar valores Boolenos: True ou
False
Permite armazenar nmeros sem sinal entre 0 e
255
permite armazenar moeda
Date
8 Bytes
70
Double
8 bytes
Single
4 bytes
Integer
2 bytes
Long
4 bytes
Object
4 bytes
String
Variant
1 byte por
caractere
16 bytes
User-Defined
71
8.5.1.
8.5.2.
8.5.3.
A utilizao genrica do tipo Objeto serve para suportar qualquer tipo de objeto Excel
(WorkBook,WorkSheet,Range,)
Exemplo:
72
8.5.4.
Utiliza-se o tipo exato do objeto que se pretende atribuir varivel. Esse tipo especfico
de objetos coincide com o nome dos objetos em EXCEL.
Exemplo:
Dim Range_1 as Range
Range_1 = Worksheet(1).Range(A1)
Range_1.Value = 10
Contudo estas declaraes tambm podem ser feitas da seguinte forma genrica:
Dim Range_1 As Objet
Dim WB_1 As Objet
Dim WS_1 As Objet
Dim XL As Objet
73
8.6.1.
8.6.1.1. PRS
Diminui o nmero de linhas de cdigo
No necessrio estar preocupado se a varivel est ou no declarada porque o
VBA automaticamente o faz
8.6.1.2. CONTRAS
Aumenta o tempo de execuo o VBA primeiro precisa de reconhecer o tipo de
dados com os quais est a trabalhar.
Este tipo de dados consome mais memria (uma vez que tem que alocar espao
para qualquer tipo de dados que lhe seja atribudo) 16 bytes mais um byte por
caractere se for String => problemas de performance para subrotinas grandes.
No possvel saber o tipo de dados que uma determinada varivel contm
dificultando a deteco de erros.
8.6.2.
Para que o VBA detecte um erro sempre que uma varivel no seja declarada dever
fazer:
74
Ferramentas / Options
Editor Tab
Activar Require Variable Declaration
DEFINIO DO TIPO
Criou-se um tipo de dados que representa uma estrutura com dados de diferentes tipos.
Esta definio dever ocorrer no incio do mdulo VBA.
75
Onde:
Type
Dados_Pessoais
Nome As String
Idade As Integer
DataNascimento As Date
BI As Long
End Type
8.7.2.
76
O QUE UM ARRAY?
0
1
2
3
4
5
2
0
1
2
3
77
8.8.2.
DECLARAO DE UM ARRAY
Array_Numerico
0
1
2
3
4
5
6
7
8
9
78
Tabela_Textual
0
2
0
1
2
3
8.8.3.
UTILIZAO DE UM ARRAY
<Nome_do_Array>(<Indice1_do_Elemento>[,<Indice2_do_Elemento>, ])
<Nome_do_Array>(<Indice1_do_Elemento>[,<Indice2_do_Elemento>, ]) = <Valor>
79
Exemplo 1:
Sub Pases()
Dim Pases(3) As String
Pases(0) = "Portugal"
Pases(1) = "Brasil"
Pases(2) = "Moambique"
MsgBox "Pases Armazenados:" & Chr(13) & Pases(0) & Chr(13) & Pases(1) &_
Chr(13) & Pases(2)
End Sub
Aps a atribuio de valores a cada elemento do array, este passa a ter o contedo
seguinte:
Pases
Portugal
Brasil
Moambique
8.8.4.
A indexao de um array por default tem inicio em 0, sendo que os respectivos ndices
vo de 0 a dimenso-1. Para alterar a base de indexao possa a ter inicio em 1 basta
colocar no inicio do mdulo Option Base 1
80
Exemplo:
Sub Utilizacao_Array()
Dim Loteria(4 To 5) As Integer
Loteria(4)=int(10000*Rnd())
Loteria(5)=int(10000*Rnd())
MsgBox Nmeros da Loteria: & Loteria(4) & , & Loteria(5)
End Sub
9. CONSTANTES
9.1. O QUE SO CONSTANTES?
Constantes so valores que no alteram durante a execuo de uma rotina. So
declaradas da mesma forma que as variveis, a nica diferena reside no fato da
atribuio ser feita na mesma instruo da declarao, e s poder ser feita uma nica
vez.
Const <Nome_Constante> As <Tipo> = <Valor>
Const <Nome_Constante> As <Tipo> = <Expresso de clculo>
Manuseamento de Constantes
81
10.
INPUTBOX E MSGBOX
10.1.
O QUE SO?
Para haver interao entre o utilizador e uma macro ou programa necessrio que
exista um interface de comunicao. Este poder ser mais ou menos complexo e
completo, contudo existem dois elementos bsicos para estabelecer esta ligao:
InputBox e MsgBox.
Neste contexto a InputBox uma funo que permite ao utilizador introduzir dados no
programa portanto um mecanismo de input. O MsgBox um mecanismo de Output e
permite ao utilizador visualizar os dados produzidos pelo programa.
10.2.
INPUTBOX
10.2.2. SINTAXE
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
Numa primeira avaliao da funo, pode-se dizer que a mesma possui diversos
parmetros, mas somente o primeiro obrigatrio, sendo que todos os outros quando
ignorados assumem valores atribudos por defeito.
82
Parmetro
Prompt
(Obrigatrio )
Comentrio
Expresso textual exibida como mensagem na janela de
input.
A dimenso mxima de 1024 caracteres.
Se se pretender construir uma mensagem com mais do que
uma linha poder utilizar o caractere Enter - Chr(13). A
juno dos elementos que constituem a mensagem
realizada atravs do operador &.
Exemplo:
"A Soma de 3 com 5 :" & Chr(13) & " 8 "
Title
(Facultativo)
Default
(Facultativo)
Xpos
(Facultativo)
Ypos
(Facultativo)
HelpFile
(Facultativo)
Context
(Facultativo)
83
Exemplo:
InputBox(Introduza o Nome da Aplicao:, , Excel)
Na janela de input ser exibida a mensagem Introduza o Nome da Aplicao:, o ttulo
da caixa ser o definido por defeito e o valor na caixa de insero ser Excel.
10.3.
MSGBOX
10.3.2. SINTAXE
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
10.3.3. PARMETROS
Parmetro
Prompt
(Obrigatrio )
Comentrio
Expresso textual exibida como mensagem na janela de
input.
A dimenso mxima de 1024 caracteres.
Se se pretender construir uma mensagem com mais do que
uma linha poder utilizar o caractere Enter Chr(13)
84
Exemplo:
"A Soma de 3 com 5 :" & Chr(13) & " 8 "
Buttons
(Facultativo)
Title
(Facultativo)
HelpFile
(Facultativo)
Context
(Facultativo)
Exemplo:
MsgBox(Erro de Sintaxe !!!, , Mensagem de Erro)
Na janela de output ser exibida a mensagem Erro de Sintaxe, o boto exibido ser o
de OK (por defeito) e o titulo da janela ser Mensagem de Erro.
Constante de VBA
Valor
Descrio
VbOKOnly
VbOKCancel
VbAbortRetryIgnore
VbYesNoCancel
VbYesNo
85
VbRetryCancel
VbCritical
16
VbQuestion
32
VbExclamation
48
VbInformation
64
VbDefaultButton1
VbDefaultButton2
256
VbDefaultButton3
512
VbDefaultButton4
768
VbApplicationModal
VbSystemModal
4096
Pela anlise desta tabela poder constatar que existem diferentes agrupamentos de
cdigos: para definir o tipo de botes (0-5), para definir o tipo de cones (16,32,48,64),
para definir o boto selecionado por defeito (0,256,512,768) e para indicar o modo de
execuo (0 e 4096). Poder adicionar os cdigos e assim fazer combinaes entre
diversas opes destes 4 grupos, contudo nunca dever adicionar mais do que um
cdigo por agrupamento.
Exemplos:
Para a instruo:
MsgBox "Erro de Sintaxe!!!", 2 + 48 + 512 + 4096, "Mensagem de Erro"
86
MsgBox
Para a instruo:
MsgBox "Erro de Sintaxe!!!", 5 + 64 + 256 + 4096, "Mensagem de Erro"
exibida a seguinte janela:
MsgBox
Valor
Boto Acionado
vbOK
OK
vbCancel
Cancel
vbAbort
Abort
vbRetry
Retry
vbIgnore
Ignore
vbYes
Yes
vbNo
No
87
11.
DOMNIO DAS VARIVEIS, CONSTANTES E
ROTINAS
11.1.
O QUE O DOMNIO?
88
Ambito_Procedimento_2
End Sub
Sub Ambito_Procedimento_2()
MsgBox Foi este o nmero que introduziu: & Var_1
End Sub
Exemplo:
Private Var_2 As String
89
Exemplo:
Dim Var_1 As Integer ou Private Var_1 As Integer
Sub Ambito_Modulo()
Var_1 = InputBox (Introduza um nmero Inteiro)
Ambito_Modulo_2
End Sub
Sub Ambito_Modulo_2()
MsgBox Foi este o nmero que introduziu: & Var_1
End Sub
Neste caso como a varivel reconhecida no mdulo por qualquer rotina nele existente,
desde que seja referida sempre pelo mesmo nome, o procedimento Ambito_Modulo_2
ir exibir o valor introduzido pelo utilizador no procedimento Ambito_Modulo.
Exemplo:
No Modulo_1 tem-se:
Public Var_1 As Integer
Sub Ambito_Projeto()
Var_1 = InputBox (Introduza um nmero Inteiro)
Ambito_Projeto _2
End Sub
No Modulo_2 tem-se:
Sub Ambito_Projeto _2()
MsgBox Foi este o nmero que introduziu: & Var_1
End Sub
90
11.3.
Exemplo:
Sub Ambito_Procedimento()
Const Taxa_Desc As Single = 0.05
Dim Desconto As Double
Desconto = InputBox (Introduza o montante das Compras) * Taxa_Desc
MsgBox O desconto de : & Desconto
End Sub
91
Exemplo:
Private Cons Const_1 As String
Exemplo:
Public Const Const_1 As String
11.4.
Exemplo:
Public Sub Ambito_Procedimento()
Const Taxa_Desc As Single = 0.05
Dim Desconto As Double
Desconto = InputBox (Introduza o montante das Compras) * Taxa_Desc
MsgBox O desconto de : & Desconto
End Sub
92
Para que uma rotina tenha o mbito do mdulo onde est definida, dever ser
antecedida pela palavra chave Private.
12.
ESTRUTURAS DE CONTROLE
12.1.
12.2.
QUAIS AS ESTRUTURAS
VBA Control
If -Then Else
For Next
While-Wend
Do Loop
Select - Case
tarefa
um
determinado
93
12.3.
IF-THEN-ELSE
A palavra Else opcional num If-Then-Else Statement, sendo que no caso de ser
omitida, a avaliao negativa da condio implica uma sada automtica da Instruo If.
94
Nsorteio = NAposta
Then
95
Else
End If
12.3.4.1.
APLICAO PRTICA
Pretende-se criar uma macro que classifique etariamente um indivduo em funo da sua
idade. A classificao pretendida a seguinte:
Idade
Classe Etria
Menos de 3 anos
Beb
Dos 3 aos 12
Criana
Dos 13 aos 17
Adolescente
Dos 18 aos 25
Jovem
Dos 26 aos 65
Adulto
Mais de 65
Idoso
Aplicao Prtica com ElseIf
96
12.4.
FOR NEXT
12.4.1. SINTAXE
For <Inicializao do Contador> To <Valor > [ Step <Valor a Incrementar>]
<Instrues a realizar em cada iterao>
Next
97
12.4.2.1.
Varivel
Funo
Base
Elemento a elevar.
Potncia
Contador
Resultado
12.4.2.2.
CONSTRUO DO CICLO:
For
Contador = 1 To
Potncia
Step 1
Resultado = Resultado Instruo a realizar de cada vez que o ciclo for executado.
* Base
Neste caso a instruo nica, contudo poder-se-o
adicionar outras instrues.
Next
98
12.4.2.3.
TRADUO INTEGRAL
99
12.5.
WHILE-WEND
12.5.1. SINTAXE
While <Condio>
<Instrues a realizar em cada iterao>
Wend
100
12.5.2.1.
Varivel
Funo
Num_Loteria
Aposta
Num_Lanc
101
12.5.2.2.
CONSTRUO DO CICLO:
While
Num_Lanc = Num_Lanc +1
Beep
Wend
12.5.2.3.
TRADUO INTEGRAL
Enquanto o nmero sorteado no for igual ao valor da aposta, o sorteio continua, o que
implica sortear um nmero contabilizar o nmero de sorteios realizados e apitar para
que o utilizador tenha a percepo do que est a ser realizado.
102
103
Corpo do jogo
Funo Auxiliar
104
12.6.
DO LOOP
Do Loop permite ainda especificar se o loop se vai realizar enquanto (while) uma
expresso for verdadeira ou at que (until) a condio seja verdadeira (facilidade
conseguida atravs do operador Not)
12.6.1. SINTAXE
Poder ser:
Ou ento:
Do
<Instrues a realizar em cada iterao>
Loop[{While | Until} <condio>]
105
106
107
12.7.
SELECT CASE
12.7.1. SINTAXE
Select Case <Expresso a ser avaliada>
[Case <Valor da Expresso>
[Instrues a realizar]]
...
[Case Else
[Instrues a realizar na situao residual]]
End Select
108
12.7.2.1.
CONSTRUO DA ESTRUTURA
Select Case
Palavras-Chave que
controle Select Case
Idade
indicam
inicio
de
um
109
Case Is<3 ou
Case Is<=12 ou
Case Is<=17 ou
Case Is<=25 ou
Case Is<=65 ou
Case Else
End Select
12.8.
12.8.1. SINTAXE
For Each <Varivel do tipo dos elementos do grupo> In <Grupo>
<Instrues a realizar para cada elemento do grupo>
Next
110
12.8.1.1.
UTILIZANDO ARRAYS
Exemplo no-funcional
Repare que o exemplo, poder estar conceitualmente correto, mas no funciona devido
restrio do For-Each-Next para a alterao de valores de arrays tarefa impossvel
de realizar. A alternativa poderia ser a exibida na figura 39:
111
12.8.1.1.1.
CONSTRUO DO CICLO
For Each
Palavras-Chave que
controlo For-Each
Pais
In
Array_Pais
MsgBox Pais
Next
indicam
inicio
de
um
112
12.8.1.2.
113
13.
13.1.
O QUE SO OBJETOS?
13.2.
13.2.1. PROPRIEDADES
As propriedades dos objetos constituem o conjunto de caracteristicas que o definem. Por
exemplo: nome, cor, dimenso, designao, valor contido,
13.2.2. MTODOS
Os mtodos traduzem o comportamento de um objeto. Estes mtodos representam
procedimentos que executam uma determinada tarefa, que pode ser complementada
atravs da passagem de argumentos ou parmetros.
13.2.3. EVENTOS
Eventos ou acontecimentos, representam todas as actividades que envolvam o objeto e
que normalmente directa ou indirectamente so despoletadas pelo utilizador. Por
exemplo: abrir ou fechar um workbook, clicar sobre um boto ou worksheet, alterar o
contedo de um elemento,
114
Estes eventos servem para que possamos activar uma determinada tarefa aquando da
sua ocorrncia.
Exemplo:
Suponha que pretende executar uma macro quando abre o seu workbook.
13.3.
13.3.1. APPLICATION
Application o objeto de topo hierrquico, representa o prprio Excel.
13.3.1.1.
PROPRIEDADES
Propriedades
Caption
DisplayAlerts
Path
115
ScreenUpdating
WindoWorkSheetState
DisplayStatusBar
DisplayFormulaBar
13.3.1.2.
MTODOS
Mtodos
Calculate
Argumentos: no tem
Help
Argumentos:
Helpfile: nome do ficheiro, incluindo a path se necessrio
Helpcontextid: nmero que faz referncia ao ndice de help
116
Quit
Argumentos : no tem
Run
13.3.1.3.
WORKBOOK
13.3.1.4.
PROPRIEDADES
Propriedades
Name
Path
117
Saved
13.3.1.5.
MTODOS
Mtodos
Activate
118
Close
Fecha um documento.
Argumentos:
ser
Save
Grava o WorkBook.
Argumentos: No Tem
SaveCopyAs
13.3.1.6.
WORKSHEET
13.3.1.7.
PROPRIEDADES
119
Propriedades
Index
Name
Nome da WorkSheet.
UsedRange
Visible
13.3.1.8.
MTODOS
Mtodos
Activate
Calculate
Delete
120
Protect
True
protege
os
cenrios
afectos
Range
13.4.
PROPRIEDADES
121
Propriedades
Count
Dependents
Name
Value
Formula
Text
13.4.1.1.
MTODOS
Mtodos
Calculate
ClearContents
Copy
122
OffSet
EntireRow
Select
Cell
13.5.
Objeto Singular refere um nico objeto que pode ser referenciado pelo nome.
123
13.6.
Perante uma coleo de objetos necessrio identificar cada um dos diferentes itens
que a compem para que a eles seja possvel acessar.
Por analogia poder-se- mencionar o exemplo do array, este uma varivel plural, dado
que composto por um conjunto de variveis. Quando se pretende acessar a uma
posio do array utiliza-se o nome do array e o ndice da posio requerida.
Assim, a indexao de colees pode ser realizada com base:
em nmeros ou
em nomes.
Exemplo:
WorkSheets(3).Name=Terceiro
Exemplo:
WorkSheets(Sheet3).Name=Terceiro
124
13.6.2.1.
VANTAGEM
13.6.2.2.
DESVANTAGEM
Exemplo:
WorkSheets(Sheet3).Name=Terceiro
WorkSheets(Sheet3).Visible=False o objeto no reconhecido
13.6.3.1.
Range(A1).Value=1
Equivalente a colocar na primeira clula da Sheet o valor 1.
13.6.3.2.
Range (A1:F20).Value= 1
125
Ou ento:
13.7.
REFERNCIA IMPLCITA
Quando se faz referncia a uma clula da worksheet, pode-se faz-lo de diversas formas
equivalentes. No quadro seguinte exibida a equivalncia entre a expresso mais
completa e a mais reduzida, sendo que ambas tm a mesma funo (colocar na clula
A1 o valor 1):
Aplication.Workbooks(1).Worksheets(1).Range(A1).Value=1
Range(A1).Value=1
Assim, pode-se afirmar que a segunda forma faz uma aluso implcita aplicao, ao
workbook e worksheet onde se trabalha.
126
127
Ento, se existem tantas formas de referenciar uma clula, qual a forma devemos
privilegiar?
14.
MISCELANEOUS
14.1.
A INSTRUO WITH
14.2.
128
Abs
CurDir
Diretorio corrente.
Date
Data do sistema.
Exit Do
Exit For
Exit Function
Exit Sub
Fix
FormatDateTime
Int
Is Array
IsDate
IsEmpty
IsError
IsNull
IsNumeric
IsObjet
Len
Now
Sqr
Str
StrComp
129
Time
TypeName
Cint
Cbool
Cdate
CLng
CStr
numrica ou textual
numrica ou textual
numrica ou textual
numrica ou textual
numrica ou textual
130