Você está na página 1de 139

TREINAMENTO MS EXCEL

AVANADO FRMULAS E INTERMEDIRIO VBA

Treinamento Excel Avanado Frmulas / Intermedirio VBA


[Foco: Automatizao de Atividades]

www.melhordesempenho.com.br sua consultoria online

1.

EDIO DO CONTEDO DE UMA CLULA .................................................................... 1

2.

FRMULAS E FUNES, CRIAO E MANUTENO................................................... 1


2.1.
2.2.
2.3.
2.4.

OPERADORES .............................................................................................................. 2
ORDEM DE PRECEDNCIA DOS OPERADORES ...................................................... 3
O ASSISTENTE DE FUNO......................................................................................... 4
FUNES...................................................................................................................... 5

2.4.1.

ESTRUTURA DE UMA FUNO............................................................................ 6

2.4.2.

ARGUMENTOS...................................................................................................... 6

2.4.3.

FUNES MAIS UTILIZADAS................................................................................ 7

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

www.melhordesempenho.com.br sua consultoria online

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.

FILTRO AVANADO .........................................................................................................42

4.

VALIDAO DE DADOS..................................................................................................43
4.1.
4.2.

LISTA SUSPENSA ......................................................................................................... 43


CRITRIOS DE VALIDAO...................................................................................... 44

5.

TABELAS DINAMICAS .......................................................................................................45

6.

LGICA DE PROGRAMAO .......................................................................................49


6.1.
6.2.
6.3.

7.

ALGUMAS DEFINIES DE LGICA....................................................................... 49


O USO DA LGICA NA ANLISE DE UM PROBLEMA........................................... 50
FORMAS DE REPRESENTAO DE ALGORITMOS................................................. 51

6.3.1.

DESCRIO NARRATIVA ..................................................................................51

6.3.2.

FLUXOGRAMA CONVENCIONAL....................................................................52

6.3.3.

PSEUDOCDIGO ..............................................................................................53

MACROS............................................................................................................................54
7.1.
7.2.

O QUE UMA MACRO? .......................................................................................... 54


CRIAR MACROS ........................................................................................................ 54

7.2.1.

GRAVAR UMA MACRO ....................................................................................54

7.2.2.

PROCEDIMENTO BACKGROUND DO EXCEL.................................................56

7.2.3.

PROGRAMAO EM VISUAL BASIC FOR APPLICATIONS ...........................56

7.3.

EXECUTAR UMA MACRO ......................................................................................... 57

7.3.1.

TECLA DE ATALHO SHORTCUT KEY...............................................................57

7.3.2.

EXECUTAR ...........................................................................................................57

www.melhordesempenho.com.br sua consultoria online

iii

7.3.3.
7.4.

EDITOR DE VISUAL BASIC FOR APPLICATIONS...............................................58

REMOVER MACROS ................................................................................................. 59

7.4.1.

REMOO DE MACROS EM AMBIENTE EXCEL.............................................59

7.4.2.

REMOO DE MACROS NO EDITOR DE VBA...............................................59

7.4.3.

EDITOR DE VISUAL BASIC FOR APPLICATIONS...............................................59

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.

DEFINIO DE SUBROTINAS .....................................................................64

7.11.1.2.

EXECUO DE UMA SUBROTINA.............................................................64

7.11.2. FUNES ............................................................................................................65


7.11.2.1.

DEFINIO DE FUNES..........................................................................65

7.11.2.2.

DEFINIO DO TIPO DE PARMETROS E DO TIPO DA FUNO........65

7.11.2.3.

EXECUO DE UMA FUNO ................................................................66

7.11.2.3.1. EXECUO DENTRO DE UMA CLULA ..............................................66


7.11.2.3.2. EXECUO DENTRO DE UMA ROTINA ..............................................67
7.11.3. DIFERENAS ENTRE FUNES E ROTINAS ......................................................68
7.11.4. REGRAS PARA A PASSAGEM DE PARMETROS............................................69
8.

VARIVEIS..........................................................................................................................69
8.1.

O QUE SO VARIVEIS? .......................................................................................... 69

8.1.1.

ATRIBUIO DE VALORES A VARIVEIS:........................................................70

8.1.2.

UTILIZAO DE VARIVEIS COMO SE FOSSEM VALORES: ..........................70

8.2.
8.3.

TIPOS DE VARIVEIS.................................................................................................. 70
DECLARAO DE VARIVEIS ................................................................................. 71

www.melhordesempenho.com.br sua consultoria online

iv

8.4.
8.5.

VARIVEIS VANTAGENS DA UTILIZAO ........................................................... 72


VARIVEIS DO TIPO OBJETO ................................................................................... 72

8.5.1.

DECLARAO DA VARIVEL OBJETO...........................................................72

8.5.2.

ATRIBUIO DE UMA VARIVEL OBJETO ......................................................72

8.5.3.

UTILIZAO GENRICA DA VARIVEL OBJETO ............................................72

8.5.4.

UTILIZAO ESPECIFICA DA VARIVEL OBJETO...........................................73

8.6.

VARIVEIS DECLARAO OPCIONAL E O TIPO VARIANT .............................. 74

8.6.1.

8.6.1.1.

PRS ............................................................................................................74

8.6.1.2.

CONTRAS ....................................................................................................74

8.6.2.
8.7.

VARIVEIS DECLARAO FORADA.........................................................74

VARIVEIS TIPOS DEFINIDOS PELO UTILIZADOR - ESTRUTURAS......................... 75

8.7.1.

DEFINIO DO TIPO .........................................................................................75

8.7.2.

UTILIZAO DAS ESTRUTURAS DE DADOS .....................................................76

8.8.

VARIVEIS ARRAYS ................................................................................................ 77

8.8.1.

O QUE UM ARRAY? ........................................................................................77

8.8.1.1.

ARRAY UNI-DIMENSIONAL ........................................................................77

8.8.1.2.

ARRAY BI-DIMENSIONAL ...........................................................................77

8.8.2.

DECLARAO DE UM ARRAY .........................................................................78

8.8.2.1.

ARRAYS UNI-DIMENSIONAIS .....................................................................78

8.8.2.2.

ARRAYS BI-DIMENSIONAIS ........................................................................79

8.8.3.

UTILIZAO DE UM ARRAY ..............................................................................79

8.8.3.1.

PARA ACESSAR O ELEMENTO ..................................................................79

8.8.3.2.

ATRIBUIO DE VALORES.........................................................................79

8.8.4.
9.

OS PRS E CONTRAS DA UTILIZAO DO TIPO VARIANTS.........................74

OPTION BASE E ARRAY BOUNDS .....................................................................80

CONSTANTES .....................................................................................................................81

www.melhordesempenho.com.br sua consultoria online

9.1.

O QUE SO CONSTANTES? ..................................................................................... 81

10. INPUTBOX E MSGBOX.......................................................................................................82


10.1. O QUE SO?.............................................................................................................. 82
10.2. INPUTBOX ................................................................................................................... 82
10.2.1. O QUE FAZ ......................................................................................................82
10.2.2. SINTAXE ...............................................................................................................82
10.3. MSGBOX..................................................................................................................... 84
10.3.1. O QUE FAZ ......................................................................................................84
10.3.2. SINTAXE ...............................................................................................................84
10.3.3. PARMETROS .....................................................................................................84
10.3.4. VALORES PRODUZIDOS.................................................................................87
11. DOMNIO DAS VARIVEIS, CONSTANTES E ROTINAS ..................................................88
11.1. O QUE O DOMNIO? ............................................................................................. 88
11.2. DOMNIO DAS VARIVEIS........................................................................................ 88
11.2.1. MBITO DO PROCEDIMENTO..........................................................................88
11.2.2. MBITO DO MDULO ......................................................................................89
11.2.3. MBITO DO PROJETO .......................................................................................90
11.3. DOMNIO DAS CONSTANTES................................................................................... 91
11.3.1. MBITO DO PROCEDIMENTO..........................................................................91
11.3.2. MBITO DO MDULO ......................................................................................91
11.3.3. MBITO DO PROJETO .......................................................................................92
11.4. DOMNIO DE SUBROTINAS E FUNES.................................................................. 92
12. ESTRUTURAS DE CONTROLE ............................................................................................93
12.1. O QUE SO ESTRUTURAS DE CONTROLE? ............................................................. 93
12.2. QUAIS AS ESTRUTURAS .......................................................................................... 93
12.3. IF-THEN-ELSE ............................................................................................................... 94
12.3.1. FUNO IF DO EXCEL.......................................................................................94
12.3.2. SINTAXE DA ESTRUTURA IF-THEN-ELSE..............................................................94

www.melhordesempenho.com.br sua consultoria online

vi

12.3.3. APLICAO PRTICA ......................................................................................95


12.3.4. A INSTRUO ADICIONAL ELSEIF....................................................................96
12.3.4.1.

APLICAO PRTICA ...............................................................................96

12.4. FOR NEXT ................................................................................................................. 97


12.4.1. SINTAXE ...............................................................................................................97
12.4.2. APLICAO PRTICA ......................................................................................97
12.4.2.1.

A FUNO DAS VARIVEIS: .....................................................................98

12.4.2.2.

CONSTRUO DO CICLO:.......................................................................98

12.4.2.3.

TRADUO INTEGRAL...............................................................................99

12.4.3. FUNCIONAMENTO DO CICLO:........................................................................99


12.4.4. PERIGOS ASSOCIADOS UTILIZAO DO CICLO FOR-NEXT: ...................99
12.4.5. OUTRA APLICAO........................................................................................100
12.5. WHILE-WEND............................................................................................................ 100
12.5.1. SINTAXE .............................................................................................................100
12.5.2. APLICAO PRTICA ....................................................................................101
12.5.2.1.

A FUNO DAS VARIVEIS: ...................................................................101

12.5.2.2.

CONSTRUO DO CICLO:.....................................................................102

12.5.2.3.

TRADUO INTEGRAL.............................................................................102

12.5.3. FUNCIONAMENTO DO CICLO.......................................................................103


12.5.4. PERIGOS ASSOCIADOS UTILIZAO DO CICLO WHILE-WEND ............103
12.5.5. OUTRA APLICAO........................................................................................104
12.6. DO LOOP............................................................................................................... 105
12.6.1. SINTAXE .............................................................................................................105
12.6.2. APLICAES PRTICAS..................................................................................106
12.7. SELECT CASE ............................................................................................................ 108
12.7.1. SINTAXE .............................................................................................................108

www.melhordesempenho.com.br sua consultoria online

vii

12.7.2. APLICAO PRTICA ....................................................................................108


12.7.2.1.

CONSTRUO DA ESTRUTURA...............................................................109

12.8. FOR EACH NEXT................................................................................................. 110


12.8.1. SINTAXE .............................................................................................................110
12.8.1.1.

UTILIZANDO ARRAYS ................................................................................111

12.8.1.1.1. CONSTRUO DO CICLO.................................................................112


12.8.1.2.

UTILIZANDO COLEES DE OBJETOS ...................................................113

13. COLEES DE OBJETOS E OBJETOS ...........................................................................114


13.1. O QUE SO OBJETOS?........................................................................................... 114
13.2. OBJETOS: PROPRIEDADES, MTODOS E EVENTOS ............................................. 114
13.2.1. PROPRIEDADES ................................................................................................114
13.2.2. MTODOS .........................................................................................................114
13.2.3. EVENTOS ...........................................................................................................114
13.3. OBJETOS MAIS UTILIZADOS NO EXCEL ................................................................. 115
13.3.1. APPLICATION ...................................................................................................115
13.3.1.1.

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

13.4. PROPRIEDADES........................................................................................................ 121


13.4.1.1.

MTODOS..................................................................................................122

13.5. OBJETOS SINGULARES VS COLEES DE OBJETOS........................................... 123


13.6. INDEXAO DE COLEES POR NMERO OU NOME .................................... 124

www.melhordesempenho.com.br sua consultoria online

viii

13.6.1. INDEXAO COM BASE EM NMEROS.......................................................124


13.6.2. INDEXAO COM BASE NO NOME.............................................................124
13.6.2.1.

VANTAGEM...............................................................................................125

13.6.2.2.

DESVANTAGEM ........................................................................................125

13.6.3. O OBJETO RANGE UMA EXCEO ...........................................................125


13.6.3.1.

TRATAMENTO COMO OBJETO:..............................................................125

13.6.3.2.

TRATAMENTO COMO COLEO DE OBJETOS: ..................................125

13.7. REFERNCIA IMPLCITA........................................................................................... 126


13.7.1. DECLARAO IMPLCITA DA APLICAO:................................................127
13.7.2. DECLARAO IMPLCITA DO WORKBOOK: ...............................................127
13.7.3. DECLARAO IMPLCITA DA WORKSHEET:.................................................127
13.7.4. NVEL DE REFERNCIA A PRIVILEGIAR ..........................................................127
14. MISCELANEOUS ..............................................................................................................128
14.1. A INSTRUO WITH................................................................................................. 128
14.1.1. APLICAO PRTICA ....................................................................................128
14.2. OUTRAS FUNES TEIS DO VBA ......................................................................... 128

www.melhordesempenho.com.br sua consultoria online

ix

1. EDIO DO CONTEDO DE UMA CLULA


Se voc quiser alterar o contedo de uma clula, posicione o seletor sobre ela e d
um duplo clique no boto esquerdo do mouse. Se preferir usar o teclado, pressione F2.
Essas opes permitem a edio diretamente na clula.
Se voc quiser editar o contedo da clula por meio da barra de frmulas, posicione
o seletor na clula desejada e d um clique na barra de frmulas.
Em qualquer uma das situaes, voc passa a contar com os seguintes recursos de
edio no teclado:
Tecla

Operao - Move o cursor

HOME

Para o incio da linha

END

Para o final da linha

Seta Esquerda

Uma posio para a esquerda

Seta Direita

Uma posio para a direita

Seta para cima

Uma linha para cima

Seta para baixo

Uma linha para baixo

CTRL+Seta direita

Para a palavra da direita

CTRL+Seta esquerda

Para a palavra da esquerda

CTRL+HOME

Para o incio da clula

CTRL+END

Para o fim da clula

2. FRMULAS E FUNES, CRIAO E


MANUTENO
A principal caracterstica de uma planilha reside na possibilidade de utilizar e
relacionar o contedo de clulas para a obteno de algum resultado. O relacionamento
de clulas obtido por meio da criao de frmulas. Com elas, voc pode realizar
operaes matemticas, estatsticas e manipular o contedo das demais clulas da
planilha. Uma frmula composta basicamente de referncias a outras clulas,

www.melhordesempenho.com.br sua consultoria online

operadores matemticos e funes do EXCEL. Contudo, na possibilidade de se referir


a outras clulas que reside a maior vantagem de uma planilha.

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

www.melhordesempenho.com.br sua consultoria online

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

>=

Maior ou igual que

<=

Menor ou igual que

<>

Diferente de

2.2. ORDEM DE PRECEDNCIA DOS OPERADORES


Quando voc cria uma frmula que contm mais de um operador do mesmo tipo, as
operaes matemticas vo sendo realizadas da esquerda para a direita at que a
ltima tenha sido efetuada. Contudo, quando voc mistura operadores, o EXCEL segue
uma tabela de prioridades executando determinadas operaes matemticas antes de
outras.
Operador

Descrio

()

Parnteses

Percentual

Exponenciao

*e/

Multiplicao e Diviso

+e-

Adio e subtrao

= <> <= >=


<>

Comparao

www.melhordesempenho.com.br sua consultoria online

2.3. O ASSISTENTE DE FUNO


O EXCEL possui centenas de funes, e voc certamente perderia muito tempo
aprendendo cada uma delas. Voc deve se preocupar somente com as funes mais
utilizadas, para as outras voc pode utilizar o Assistente de Funo. Por meio desse
recurso voc diz ao EXCEL qual funo quer introduzir na clula atual e ele, mediante as
caixas de dilogo, ensina e pergunta qual o contedo dos argumentos da funo.
Na figura abaixo, introduziremos a funo Mdia na clula E4. Depois de posicionar o
seletor sobre ela, pressione o boto do assistente de funo
boto Auto-soma.

, que fica ao lado do

Essa caixa de dilogo possui duas caixas de seleo. A da esquerda mostra as


categorias de funes. Se voc sabe a qual categoria pertence funo que quer
utilizar, d um clique sobre o nome da categoria. Caso contrrio, selecione "todas". Na
caixa de seleo da direita aparecero todas as funes em ordem alfabtica. Use a
barra de rolamento at encontrar a funo MDIA e d um clique sobre o seu nome.

www.melhordesempenho.com.br sua consultoria online

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.

www.melhordesempenho.com.br sua consultoria online

2.4.1.

ESTRUTURA DE UMA FUNO

Uma funo se caracteriza pela seguinte estrutura genrica:

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

O nmero e tipo de argumentos requeridos variam de funo para funo.


argumento pode ser:

Um

Nmeros
Texto
Valores lgicos
Valores de erro

www.melhordesempenho.com.br sua consultoria online

Referncias
Matrizes

Usando referncias a outras clulas, voc pode especificar diretamente o endereo de


uma clula ou ento uma faixa de clulas, usando o smbolo de dois-pontos para separar
a clula inicial e final.
Exemplo:
SOMA(A1:A20)

Quando uma funo possuir mais de um argumento, eles devem ser separados por um
ponto-e-vrgula.
Exemplos:
SOMA(A1;A15;A30)

### Soma as trs clulas especificadas.

SOMA(C1:C15;B1:B15)

### Soma as duas faixas especificadas.

2.4.3.

FUNES MAIS UTILIZADAS

A seguir, relacionamos as funes matemticas mais utilizadas no dia-a-dia. Elas so


mostradas com uma explicao sobre sua finalidade, sua sintaxe e alguns exemplos. O
nome do argumento normalmente j indica qual o seu tipo, ou seja, se deve ser um
texto, um nmero ou valor lgico.

2.4.3.1. ARRED

Arredonda um nmero at uma quantidade especificada de dgitos.

Sintaxe:

ARRED(nm; nm_dgitos)

Nm: o nmero que voc deseja arredondar.


Nm_dgitos: especifica o nmero de dgitos para o qual voc deseja arredondar nm.

www.melhordesempenho.com.br sua consultoria online

Se nm_dgitos for maior que 0, ento nm ser arredondado para o nmero


especificado de casas decimais.
Se nm_dgitos for 0, ento nm ser arredondado para o inteiro mais prximo.
Se
nm_dgitos for menor que 0, ento nm ser arredondado para a esquerda da vrgula
decimal.

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

Calcula o nmero de clulas no vazias em um intervalo que corresponde a um dado


critrio.

Sintaxe:

CONT.SE(intervalo; critrios)

Intervalo: o intervalo de clulas no qual se deseja contar clulas no vazias.


Critrios: o critrio na forma de um nmero, expresso ou texto que define quais
clulas sero contadas. Por exemplo, os critrios podem ser expressados como 32, "32",
">32", "mas".

Exemplos:
Suponha que A3:A6 contenha "mas", "laranjas", "peras", "mas", respectivamente.
CONT.SE(A3:A6;"mas")

igual a 2

www.melhordesempenho.com.br sua consultoria online

Suponha que B3:B6 contenha 32, 54, 75, 86, respectivamente.


CONT.SE(B3:B6;">55")

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.

um intervalo contguo de clulas que contm valores possveis de

Matriz_procurada pode ser uma matriz ou uma referncia matricial.


Tipo_correspondncia

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.

www.melhordesempenho.com.br sua consultoria online

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

Arredonda um nmero para baixo at o nmero inteiro mais prximo.

Sintaxe:

INT(nm)

Nm: o nmero real que se deseja arredondar para baixo at um inteiro.

Exemplos:

INT(8,9)

igual a 8

INT(-8,9)

igual a -9

www.melhordesempenho.com.br sua consultoria online

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

Retorna o valor mximo de uma lista de argumentos.

Sintaxe:

MXIMO(nm1; nm2; ...)

Nm1; nm2;...

so 1 a 30 nmeros cujo valor mximo voc deseja encontrar.

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

Retorna a mdia aritmtica dos argumentos.

www.melhordesempenho.com.br sua consultoria online

11

Sintaxe:

MDIA(nm1; nm2; ...)

Nm1; nm2;...
obter a mdia.

so de 1 a 30 argumentos numricos para os quais voc deseja

Os argumentos devem ser nmeros ou nomes, matrizes ou referncias que contenham


nmeros. Se uma matriz ou argumento de referncia contiver texto, valores lgicos ou
clulas vazias, estes valores sero ignorados; no entanto, clulas com o valor nulo sero
includos.

Exemplos:
MDIA(B1:B15)
MDIA(B1:B10;20)

2.4.3.7. MNIMO

Retorna o menor nmero na lista de argumentos.

Sintaxe:

MNIMO(nm1; nm2; ...)

Nm1; nm2;...
mnimo.

so nmeros de 1 a 30 para os quais voc deseja encontrar o valor

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.

www.melhordesempenho.com.br sua consultoria online

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

o nmero para o qual voc deseja encontrar o resto.

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

MOD(-3; -2) igual a -1

2.4.3.9. MULT

www.melhordesempenho.com.br sua consultoria online

13

Multiplica todos os nmeros fornecidos como argumentos e retorna o produto.

Sintaxe:

MULT(nm1; nm2; ...)

Nm1, nm2,...

so nmeros de 1 a 30 que voc deseja multiplicar.

Os argumentos que so nmeros, valores lgicos ou representaes em forma de texto


de nmeros sero contados; os argumentos que so valores de erro ou texto que no
podem ser traduzidos em nmeros causam erros.
Se um determinado argumento for uma matriz ou referncia, apenas os nmeros na
matriz ou referncia sero contados. As clulas vazias, valores lgicos ou de erro na
matriz ou referncia sero ignorados.

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

Retorna um valor se teste_lgico avaliar como VERDADEIRO e um outro valor se for


avaliado como FALSO.
Use SE para conduzir testes condicionais sobre valores e frmulas e para efetuar
ramificaes de acordo com o resultado deste teste. O resultado do teste determina o
valor retornado pela funo SE.

Sintaxe:

Planilhas e folhas de macro

www.melhordesempenho.com.br sua consultoria online

14

SE(teste_lgico; valor_se_verdadeiro; valor_se_falso)

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:

www.melhordesempenho.com.br sua consultoria online

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))

Suponha que uma planilha de despesa contenha os seguintes dados em B2:B4 em


relao s "Despesas reais" para janeiro, fevereiro e maro: 1500, 500, 500. C2:C4
contm os seguintes dados para "Despesas previstas" para os mesmos perodos: 900,
900, 925. Voc poderia escrever uma macro para verificar se est acima do oramento
em um ms especfico, gerando texto para uma mensagem com as seguintes frmulas:

SE(B2>C2;"Acima do oramento";"OK")

igual a "Acima do oramento"

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

Voc poderia usar a seguinte funo aninhada SE:

SE(Mdia>89;"A";SE(Mdia>79;"B";SE(Mdia>69;"C";SE(Mdia>59;"D";"F"))))

No exemplo anterior, a segunda instruo SE tambm o argumento valor_se_falso


para a primeira instruo SE.
Da mesma maneira, a terceira instruo SE o
argumento valor_se_falso para a segunda instruo SE. Por exemplo, se o primeiro
teste_lgico (Mdia>89) for VERDADEIRO, "A" ser fornecido.
Se o primeiro
teste_lgico for FALSO, a segunda instruo SE avaliada e assim por diante.

www.melhordesempenho.com.br sua consultoria online

16

Funes relacionadas
E

Retorna VERDADEIRO se todos os argumentos forem VERDADEIROS

FALSO

Retorna o valor lgico FALSO

NO

Inverte a lgica do argumento

OU

Retorna VERDADEIRO se qualquer argumento for VERDADEIRO

VERDADEIRO

Retorna o valor lgico VERDADEIRO

2.4.3.11.

SOMA

Retorna a soma de todos os nmeros na lista de argumentos.


Sintaxe:

SOMA(nm1; nm2, ...)

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.

Diferentemente do exemplo anterior, se A1 contiver "3" e B1 contiver VERDADEIRO,


ento: SOMA(A1, B1, 2) igual a 2 porque as referncias a valores no-numricos nas
referncias no so traduzidas.

www.melhordesempenho.com.br sua consultoria online

17

2.4.3.12.

SOMASE

Adiciona as clulas especificadas por um determinado critrio.


Sintaxe:

SOMASE(intervalo; critrios; intervalo_soma)

Intervalo

o intervalo de clulas que se deseja que seja calculado.

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

Localiza um valor especfico na primeira coluna esquerda de uma matriz, e retorna o


valor na clula indicada.
Use PROCV em vez de PROCH quando os valores da
comparao estiverem posicionados em uma coluna esquerda ou direita dos dados
que voc deseja localizar.
Sintaxe:
PROCV(valor_procurado;
procurar_intervalo)

matriz_tabela;

nm_ndice_coluna;

Valor_procurado o valor a ser encontrado na primeira coluna da matriz; pode ser um


valor, uma referncia ou uma cadeia de caracteres de texto.
Matriz_tabela a tabela de informaes em que os dados so procurados. Use uma
referncia para um intervalo ou nome de intervalo, tal como Banco de dados ou Lista.
Se procurar_intervalo for VERDADEIRO, os valores na primeira coluna de
matriz_tabela devero ser colocados em ordem ascendente: ..., -2, -1, 0, 1, 2, ... , A-Z,

www.melhordesempenho.com.br sua consultoria online

18

FALSO, VERDADEIRO; caso contrrio, PROCV pode no retornar o valor correto. Se


procurar_intervalo for FALSO, matriz_tabela no precisar ser ordenada. Voc pode
colocar os valores em ordem ascendente escolhendo o comando Classificar do menu
Dados e selecionando "Ascendente". Os valores na primeira coluna de matriz_tabela
podem ser nmeros ou valores lgicos. Textos em maisculas e minsculas so
equivalentes.
Nm_ndice_coluna o nmero da coluna em matriz_tabela a partir do qual o valor
correspondente deve ser fornecido. Um nm_ndice_coluna de 1 retornar o valor na
primeira coluna em matriz_tabela; um nm_ndice_coluna de 2 retornar o valor na
segunda coluna em matriz_tabela, e assim por diante. Se nm_ndice_coluna for menor
do que 1, PROCV retornar o valor de erro #VALOR!; se nm_ndice_coluna for maior do
que o nmero de colunas em matriz_tabela, PROCV retornar o valor de erro #REF!.
Procurar_intervalo um valor lgico que especifica se voc quer que PROCV encontre
a correspondncia exata ou uma correspondncia aproximada. Se VERDADEIRO ou
omitida, uma correspondncia aproximada retornada; em outras palavras, se uma
correspondncia exata no for encontrada, o valor maior mais prximo que menor que
o valor_procurado retornado. Se FALSO,
PROCV encontrar uma correspondncia exata. Se nenhuma correspondncia for
encontrada, o valor de erro #N/D retornado.
Comentrios
Se PROCV no localizar valor_procurado, e procurar_intervalo for VERDADEIRO, ela
usar o maior valor que for menor do que ou igual a valor_procurado.
Se valor_procurado for menor do que o menor valor na primeira coluna de
matriz_tabela, PROCV fornecer o valor de erro #N/D.
Se PROCV no localizar valor_procurado e procurar_intervalo for FALSO, PROCV
fornecer o valor #N/D.

Dica: combinar as formulas SE, EERROS e PROCV produzem um excelente resultado.


Exemplo: SE(EERROS(PROCV(...));;PROCV(...))

PROCH: a utilizao do PROCH e idntica ao PROCV, porem ao inves de retornar a


coluna, ele retorna a linha procurada.

www.melhordesempenho.com.br sua consultoria online

19

2.4.3.14.

TEXTO

Converte um valor em texto com um formato de numero especifico


Sintaxe:

TEXTO(valor; formato_texto)

valor: e um valor numrico ou uma formula avaliada como um valor numrico;


formato_texto:
exibio.

e um formato de numero, existente no Excel que se deseja fazer a

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

Verifica se um valor e um erro (#N/D, #VALOR, #REF!, #DIV/0!, #NUM!, #NOME? Ou


#NULO!) e retorna VERDADEIRO ou FALSO.
Sintaxe:

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

Dica: combinar as formulas SE, EERROS e PROCV produzem um excelente resultado.


Exemplo: SE(EERROS(PROCV(...));;PROCV(...))

www.melhordesempenho.com.br sua consultoria online

20

2.4.3.16.

CONCATENAR

Faz o agrupamento de vrios itens de seqncia de caracteres em uma nica seqncia


(clula)
Sintaxe:

CONCATENAR(texto1;texto2;texto3;...)

Texto1:

seqncia de caracteres a ser agrupado.

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

Dica: utilize & ao invs da formula CONCATENAR: =A1&A2&A3...

2.4.3.17.

SOMARPRODUTO

Retorna a soma dos produtos de intervalos ou matrizes correspondentes.


Sintaxe:

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

Esta formula retorna a quantidade de caracteres a direita (esquerda) da seqncia


indicada.
Sintaxe:
DIREITA(texto;num_caract)
ESQUERDA(texto;num_caract)
texto: seqncia de caracteres do qual se deseja extrair a quantidade num_caract.
num_caract: numero / quantidade de caracteres a serem extrados de texto.

www.melhordesempenho.com.br sua consultoria online

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

2.5. REFERNCIA CIRCULAR


A referncia circular um erro muito comumente criado quando voc introduz uma
frmula em uma clula cujo contedo faz uma referncia a ele prpria.

2.6. FRMULAS - GERAO E CORREO DE ERROS


Quando voc trabalha com frmulas, a possibilidade de gerar um erro muito grande e
pode ocorrer pelo uso indevido de uma funo ou erro de digitao. O EXCEL muitas
vezes constata o erro durante a digitao, exibindo uma mensagem de erro e permitindo
que voc o corrija.

www.melhordesempenho.com.br sua consultoria online

22

2.7. VALORES DE ERRO


#N/D
O valor de erro #N/D significa "No h valor disponvel". Este valor de erro pode ajudlo a certificar-se de que no foi feita acidentalmente uma referncia a uma clula vazia.
Se houver clulas em sua planilha que devam necessariamente conter dados, mas estes
dados ainda no estiverem disponveis, inclua o valor #N/D nestas clulas. As frmulas
que fazem referncia a estas clulas retornaro o valor #N/D ao invs de calcular um
valor.
#NOME?
O valor de erro #NOME? ocorre quando voc usa um nome que o Microsoft Excel no
reconhea.
#NULO!
O valor de erro #NULO! ocorre quando voc especifica uma interseo entre duas reas
que no se Intersectam.
#NM!
O valor de erro #NM! indica um problema com um nmero.
#VALOR!
O valor de erro #VALOR! ocorre quando voc usa um tipo de argumento ou operando
invlido.

www.melhordesempenho.com.br sua consultoria online

23

#DIV/0!
O valor de erro #DIV/0! significa que uma frmula est tentando efetuar uma diviso
por zero.

2.8. FIXANDO REFERNCIAS EM FRMULAS


O endereo de uma clula uma referncia sua localizao dentro da planilha. Como
padro, as referncias a clulas que so criadas com o formato letra+nmero so
consideradas referncias relativas.
Alm de uma referncia do tipo relativa, que permite a sua alterao durante a cpia, o
Excel permite criar referncias absolutas (fixas) ou mistas. Uma referncia absoluta no
muda nem a linha nem a coluna da clula especificada. Uma referncia mista pode fixar
apenas a linha ou coluna da clula permitindo o seu ajuste parcial.
Para fixar uma linha ou coluna de uma referncia de clula, deve ser especificado o
smbolo cifro imediatamente antes da letra, se o usurio desejar fixar a referncia
coluna, ou antes do nmero, se quiser fixar a linha. Veja os exemplos possveis de
combinaes.
$D$4 Fixa a linha e a coluna
$D4

Fixa apenas a coluna, permitindo a variao da linha

D$4

Fixa apenas a linha, permitindo a variao da coluna

D4

No fixa linha nem coluna

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.

2.9. MOVIMENTAO DE CLULAS


Quando voc usar o boto Copiar, o contedo da clula ou do grupo de clulas
selecionado copiado para a rea de transferncia, deixando a clula com seu contedo
intacto. O EXCEL permite que voc movimente o contedo de uma ou mais clulas por
meio do boto cortar.
Este boto copia o contedo das clulas selecionadas para a rea de transferncia,
apagando o contedo das clulas selecionadas. Para inserir o contedo da rea de

www.melhordesempenho.com.br sua consultoria online

24

transferncia, basta usar o mtodo normal de posicionar o cursor na clula-destino e


pressionar o boto Colar.

2.10. TECLAS SHIFT, CTRL, HOME, END E SETAS NO


EXCEL
Sempre que precisamos selecionar uma planilha ou parte dela, a primeira ferramenta
que temos mao o mouse e a utilizamos como sendo a nica e mais eficiente para
execuo desta tarefa. Porem, utilizar combinao de teclas Shift, Ctrl, Home, End e
Setas, obtemos grande eficincia, agilidade na seleo de uma rea. Veja como:

Teclas

2.11.

Operao

Ctrl +

Localiza a ultima (ou primeira) clula no


vazia direita

Ctrl +

Localiza a ultima (ou primeira) clula no


vazia esquerda

Ctrl + home

Seleciona imediatamente a clula A1 da


planilha

Ctrl + end

Seleciona a combinao de linha e coluna


com contedo mais distante da clula
A1

Ctrl + Shift +

Seleciona desde a clula atual ate ultima


(ou primeira) clula no vazia a direita

Ctrl + Shift +

Seleciona desde a clula atual ate ultima


(ou primeira) clula no vazia esquerda

Ctrl + Shift + end

Seleciona desde a clula atual ate a


combinao de linha e coluna com
contedo mais distante da clula A1

ALGUNS ATALHOS INTERESSANTES

Todos os comandos existentes no Excel podem ser executas a partir do teclado,


dispensando a utilizao do mouse. Obviamente eliminar a utilizao do mouse pode, ao

www.melhordesempenho.com.br sua consultoria online

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

www.melhordesempenho.com.br sua consultoria online

26

2.12.

LISTA ALFABTICA DE FUNES DE PLANILHA

Funo

Significado__________________________________

ABS

Retorna o valor absoluto de um nmero

ACOSH

Retorna o cosseno hiperblico inverso de um nmero

ACOS

Retorna o arco tangente de um nmero

AGORA

Retorna o nmero de srie da data e hora atual

ALEATRIO.ENTRE

Retorna um
especificados

ALEATRIO

Retorna um nmero aleatrio entre 0 e 1

AMORDEGRC

Retorna a depreciao pro rata de um ativo para cada


perodo contbil

AMORLINC

Retorna a depreciao pro rata de um ativo para cada


perodo contbil

ANO

Converte um nmero de srie em um ano

REAS

Retorna o nmero de reas em uma referncia

ARREDMULTB

Arredonda um nmero para baixo at zero

nmero

aleatrio

dentre

os

nmeros

ARREDONDAR.PARA.BAIXO Arredonda um nmero para baixo at zero


ARREDONDAR.PARA.CIMA Arredonda um nmero para cima afastando-o de zero
ARRED

Arredonda um nmero at uma quantidade especificada de


dgitos

ARRUMAR

Remove os espaos do texto

ASENH

Retorna o seno hiperblico inverso de um nmero

ASEN

Retorna o arco seno de um nmero

ATAN2

Retorna o arco tangente das coordenadas x e y

ATANH

Retorna a tangente hiperblica inversa de um nmero

ATAN

Retorna o arco tangente de um nmero

BDCONTARA

Conta as clulas no vazias de um banco de dados e


critrios especificados

www.melhordesempenho.com.br sua consultoria online

27

BDCONTAR

Conta as clulas contendo nmeros de um banco de dados e


critrios especificados

BDDESVPA

Calcula o desvio padro com base na populao total de


entradas selecionadas do banco de dados

BDD

Retorna a depreciao de um ativo durante um perodo


especificado usando o mtodo de balano de declnio duplo

BDEST

Estima o desvio padro com base em uma amostra de


entradas selecionadas do banco de dados

BDEXTRAIR

Extrai de um banco de dados um nico registro que


corresponde aos critrios especificados

BDMX

Retorna o valor mximo das entradas do banco de dados


selecionado

BDMDIA

Retorna a mdia
selecionadas

BDMN

Retorna o valor mnimo das entradas do banco de dados


selecionado

BDMULTIPL

Multiplica os valores em um determinado campo de registros


que correspondem aos critrios em um banco de dados

BDSOMA

Soma os nmeros da coluna do campo de registros em um


banco de dados que corresponde aos critrios

BDVAREST

Estima a varincia com base em uma amostra das entradas


selecionadas do banco de dados

BDVARP

Calcula a varincia com base na populao total de entradas


selecionadas de banco de dados

BDV

Retorna a depreciao de um ativo para um perodo


especfico ou parcial utilizando um mtodo de balano
decrescente

BD

Retorna a depreciao de um ativo para um determinado


perodo utilizando o mtodo de balano de declnio fixo

BESSELI

Retorna a funo Bessel modificada ln(x)

BESSELJ

Retorna a funo Bessel Jn(x).

BESSELK

Retorna a funo Bessel modificada Kn(x)

BESSELY

Retorna a funo Bessel Yn(x)

www.melhordesempenho.com.br sua consultoria online

das

entradas

do

banco

de

dados

28

BETA.ACUM.INV

Retorna o inverso da funo de densidade da probabilidade


beta cumulativa

BINADEC

Converte um nmero binrio em decimal

BINAHEX

Converte um nmero binrio em hexadecimal.

BINAOCT

Converte um nmero binrio em octal.

CL

Retorna informaes sobre o formato, a localizao e o


contedo de uma clula

CARACT

Retorna o caractere especificado pelo cdigo nm

CHAMAR

Chama um procedimento em uma biblioteca de vnculo


dinmico (DLL) ou recurso de cdigo

CDIGO

Retorna um cdigo numrico para o primeiro caractere de


uma seqncia de texto

COLS

Retorna o nmero de colunas contidas em uma referncia

COL

Retorna o nmero da coluna de uma referncia

COMBIN

Retorna o nmero de combinaes para um determinado


nmero de objetos

COMPLEXO

Converte coeficientes reais e imaginrios em um nmero


complexo

CONCATENAR

Agrupa vrios itens de texto em um item de texto

CONT.NM

Calcula quantos nmeros h na lista de argumentos

CONT.SE

Calcula o nmero de clulas no vazias em um intervalo que


corresponde a um dado critrio

CONT.VALORES

Calcula o nmero
argumentos

CONTAR.VAZIO

Conta o nmero de clulas vazias em um intervalo

CONVERTER

Converte um nmero de um sistema de medida para outro

CORREL

Retorna o coeficiente de correlao entre dois conjuntos de


dados

CORRESP

Procura por valores em uma referncia ou matriz

COSH

Retorna o cosseno hiperblico de um nmero

COS

Retorna o cosseno de um nmero

www.melhordesempenho.com.br sua consultoria online

de

valores

existentes

na

lista

de

29

COVAR

Retorna a covarincia, a mdia dos produtos dos desvios em


pares

CRESCIMENTO

Retorna valores ao longo de uma tendncia exponencial

CRIT.BINOM

Retorna o menor valor para o qual a distribuio binomial


cumulativa maior ou igual ao valor padro

CUPDATAANT

Retorna a ltima data do cupom antes da data de liquidao

CUPDATAPRX

Retorna a prxima data do cupom depois da data de


liquidao

CUPDIASINLIQ

Retorna o nmero de dias entre o incio do cupom e a data


de liquidao

CUPDIASPRX

Retorna o nmero de dias entre a data de liquidao e a


prxima data do cupom

CUPDIAS

Retorna o nmero de dias no perodo do cupom que contm


a data de liquidao

CUPNM

Retorna o nmero de cupons a serem pagos entre a data de


liquidao e a data do vencimento

CURT

Retorna a curtose de um conjunto de dados

DATA.VALOR

Converte uma data em forma de texto em um nmero de


srie

DATAM

Retorna o nmero de srie da data que o nmero


indicador de meses antes ou depois da data inicial

DATA

Retorna o nmero de srie de uma data especfica

DECABIN

Converte um nmero decimal em binrio

DECAHEX

Converte um nmero decimal em hexadecimal

DECAOCT

Converte um nmero decimal em octal

DEF.NM.DEC

Formata um nmero como texto com um nmero fixo de


decimais

DEGRAU

Testa se um nmero maior que um valor limite

DELTA

Testa se dois valores so iguais

DESC

Retorna a taxa de desconto de um ttulo

DESLOC

Retorna um deslocamento de referncia de uma referncia


determinada

www.melhordesempenho.com.br sua consultoria online

30

DESV.MDIO

Retorna a mdia aritmtica dos desvios absolutos dos


pontos de dados a partir de sua mdia

DESVPADP

Calcula o desvio padro com base na populao total

DESVPAD

Calcula o desvio padro a partir de uma amostra

DEVSQ

Retorna a soma dos quadrados dos desvios

DIA.DA.SEMANA

Converte um nmero de srie em um dia da semana

DIA.TRABALHO.TOTAL

Retorna o nmero de dias teis entre duas datas

DIA.TRABALHO

Retorna o nmero de srie da data antes ou depois de um


nmero especificado de dias teis

DIAS360

Calcula o nmero de dias decorridos entre duas datas com


base em um ano de 360 dias

DIA

Converte um nmero de srie em um dia do ms

DIREITA

Retorna os caracteres extrema direita de um valor de


texto

DIST.BIN.NEG

Retorna a distribuio binomial negativa

DIST.HIPERGEOM

Retorna a distribuio hipergeomtrica

DIST.LOGNORMAL

Retorna a distribuio log-normal cumulativa

DIST.NORMP

Retorna a distribuio cumulativa normal padro

DIST.NORM

Retorna a distribuio cumulativa normal

DIST.QUI

Retorna a probabilidade uni-caudal da distribuio quiquadrada

DISTBETA

Retorna a funo de densidade da probabilidade beta


cumulativa

DISTEXPON

Retorna a distribuio exponencial

DISTF

Retorna a distribuio de probabilidade F

DISTGAMA

Retorna a distribuio gama

DISTORO

Retorna a distoro de uma distribuio

DISTRBINOM

Retorna a probabilidade da distribuio binomial do termo


individual

DISTT

Retorna a distribuio t de Student

www.melhordesempenho.com.br sua consultoria online

31

DPD

Retorna a depreciao em linha reta de um ativo durante


um perodo

DURAO

Retorna a durao anual de um ttulo com pagamentos de


juros peridicos

MPAR

Retorna VERDADEIRO se o nmero for mpar

.NO.DISP

Retorna VERDADEIRO se o valor for o valor de erro #N/D

.NO.TEXTO

Retorna VERDADEIRO se o valor no for um texto

PAR

Retorna VERDADEIRO se o nmero for par

CL.VAZIA

Retorna VERDADEIRO se o valor for vazio

ERROS

Retorna VERDADEIRO se o valor for qualquer valor de erro

ERRO

Retorna VERDADEIRO se o valor for qualquer valor de erro


com exceo de #N/D

EFETIVA

Retorna a taxa de juros anual efetiva

LGICO

Retorna VERDADEIRO se o valor for um valor lgico

ENDEREO

Retorna uma referncia como texto para uma nica clula


de uma planilha

NM

Retorna VERDADEIRO se o valor for um nmero

EPADYX

Retorna o erro padro do valor-y previsto para cada x da


regresso

REF

Retorna VERDADEIRO se o valor for uma referncia

ESCOLHER

Escolhe um valor a partir de uma lista de valores

ESQUERDA

Retorna os caracteres da extremidade esquerda de um valor


de texto

TEXTO

Retorna VERDADEIRO se o valor for um texto

EXATO

Verifica se h dois valores de texto idnticos

Retorna VERDADEIRO
VERDADEIROS

EXP

Retorna e elevado potncia de um determinado nmero

EXT.TEXTO

Retorna um nmero especfico de caracteres de uma


seqncia de texto a partir da posio especificada

www.melhordesempenho.com.br sua consultoria online

se

todos

os

argumentos

forem

32

FALSO

Retorna o valor lgico FALSO

FATDUPLO

Retorna o fatorial duplo de um nmero

FATORIAL

Retorna o fatorial de um nmero

FIMMS

Retorna o nmero de srie do ltimo dia do ms antes ou


depois de um dado nmero de meses

FISHERINV

Retorna o inverso da transformao Fisher

FISHER

Retorna a transformao Fisher

FRAO.ANO

Retorna a diferena do ano que representa o nmero entre


data_inicial e data_final

FREQNCIA

Retorna uma distribuio da freqncia como uma matriz


vertical

FUNERROCOMPL

Retorna a funo de erro complementar

FUNERRO

Retorna a funo de erro

GRAUS

Converte radianos em graus

HEXABIN

Converte um nmero hexadecimal em binrio

HEXADEC

Converte um nmero hexadecimal em decimal

HEXAOCT

Converte um nmero hexadecimal em octal

HOJE

Retorna o nmero de srie da data de hoje

HORA

Converte um nmero serial em uma hora

IDENT.REGISTRO

Retorna o recurso de cdigo ou a identificao de registro da


biblioteca
de
vnculo
dinmico
(DLL)
especificado
anteriormente registrado

IMABS

Retorna o valor absoluto (mdulo) de um nmero complexo

IMAGINRIO

Retorna o coeficiente imaginrio de um nmero complexo

IMARG

Retorna o argumento q, expresso em radianos

IMCONJ

Retorna o conjugado complexo de um nmero complexo

IMCOS

Retorna o cosseno de um nmero complexo

IMDIV

Retorna o quociente de dois nmeros complexos

IMEXP

Retorna o exponencial de um nmero complexo

www.melhordesempenho.com.br sua consultoria online

33

IMLN

Retorna o logaritmo natural de um nmero complexo

IMLOG10

Retorna o logaritmo de base-10 de um nmero complexo

IMLOG2

Retorna o logaritmo de base-2 de um nmero complexo

MPAR

Arredonda um nmero para cima at o nmero mpar inteiro


mais prximo

IMPOT

Retorna um nmero complexo elevado a uma potncia


inteira

IMPROD

Retorna o produto de dois nmeros complexos

IMRAIZ

Retorna a raiz quadrada de um nmero comlexo

IMREAL

Retorna o coeficiente real de um nmero complexo

IMSENO

Retorna o seno de um nmero complexo

IMSOMA

Retorna a soma de nmeros complexos

IMSUBTR

Retorna a diferena de dois nmeros complexos

INCLINAO

Retorna a inclinao da reta de regresso linear

NDICE

Utiliza um ndice para selecionar um valor de uma referncia


ou matriz

INDIRETO

Retorna uma referncia indicada por um valor de texto

INFORMAO

Retorna informaes sobre o ambiente operacional atual

INT.CONFIANA

Retorna o intervalo de confiana para uma mdia da


populao

INTERCEPO

Retorna a intercepo da linha de regresso linear

INT

Arredonda um nmero para baixo at o nmero inteiro mais


prximo

INV.NORMP

Retorna o inverso da distribuio cumulativa normal padro

INV.NORM

Retorna o inverso da distribuio cumulativa normal

INV.QUI

Retorna o inverso da
distribuio qui-quadrada

INVF

Retorna o inverso da distribuio de probabilidades

INVGAMA

Retorna o inverso da distribuio cumulativa gama

INVLOG

Retorna o inverso da distribuio log-normal

www.melhordesempenho.com.br sua consultoria online

probabilidade

uni-caudal

da

34

INVT

Retorna o inverso da distribuio t de Student

IPGTO

Retorna o pagamento dos juros de um investimento durante


um determinado perodo

JUROSACUMV

Retorna os juros incorridos de um ttulo que paga juros no


vencimento

JUROSACUM

Retorna os juros incorridos de um ttulo que paga juros no


vencimento

LINS

Retorna o nmero de linhas em uma referncia

LIN

Retorna o nmero da linha de uma referncia

LNGAMA

Retorna o logaritmo natural da funo gama, G(x)

LN

Retorna o logaritmo natural de um nmero

LOCALIZAR

Localiza um valor de texto dentro de outro (no distingue


maisculas de minsculas)

LOG10

Retorna o logaritmo de base 10 de um nmero

LOG

Retorna o logaritmo
especificada

LUCRO

Retorna o rendimento de um ttulo que paga juros peridicos

LUCRODESC

Retorna o rendimento anual de um ttulo com desgio. Por


exemplo, a letra do Tesouro

LUCROPRIMINC

Retorna o rendimento de um ttulo com um perodo inicial


incompleto

LUCROLTINC

Retorna o rendimento de um ttulo com um perodo final


incompleto

LUCROVENC

Retorna o rendimento anual de um ttulo que paga juros no


vencimento

MAIOR

Retorna o maior valor k-simo de um conjunto de dados

MAISCULA

Converte o texto em maisculas

MARRED

Retorna um nmero arrendondado ao mltiplo desejado

MATRIZ.DETERM

Retorna a matriz determinante de uma matriz

MATRIZ.INVERSO

Retorna a matriz inversa de uma matriz

MATRIZ.MULT

Retorna a matriz produto de duas matrizes

www.melhordesempenho.com.br sua consultoria online

de

um

nmero

de

uma

base

35

MXIMO

Retorna o valor mximo de uma lista de argumentos

MDC

Retorna o maior divisor comum

MDURAO

Retorna a durao modificada Macauley de um ttulo com


um valor par atribudo de $100

MDIA.GEOMTRICA

Retorna a mdia geomtrica

MDIA.HARMNICA

Retorna a mdia harmnica

MDIA.INTERNA

Retorna a mdia do interior de um conjunto de dados

MDIA

Retorna a mdia dos argumentos

MED

Retorna a mediana dos nmeros indicados

MENOR

Retorna o menor valor k-simo do conjunto de dados

MS

Converte um nmero de srie em ms

MNIMO

Retorna o valor mnimo contido em uma lista de argumentos

MINSCULA

Converte o texto para minsculas

MINUTO

Converte nmero de srie em minuto

MMC

Retorna o menor mltiplo comum

MODO

Retorna o valor mais comum em um conjunto de dados

MOD

Retorna o resto da diviso

MOEDA

Converte um nmero em texto, utilizando o formato de


moeda

MOEDADEC

Converte um preo em moeda, expreso com uma frao, em


um preo em moeda, expresso como um nmero decimal

MOEDAFRA

Converte um preo em moeda, expresso com um nmero


decimal, em um preo em moeda, expresso como uma
frao

MTIR

Retorna a taxa interna de retorno em que fluxos de caixa


positivos e negativos so financiados com taxas diferentes

MUDAR

Substitui caracteres no texto

MULTINOMIAL

Retorna o multinominal de um conjunto de nmeros

MULT

Multiplica os seus argumentos

NO.DISP

Retorna o valor de erro #N/D

www.melhordesempenho.com.br sua consultoria online

36

NO

Inverte a lgica do argumento

NOMINAL

Retorna a taxa de juros nominal anual

NPER

Retorna o nmero de perodos de um investimento

NM.CARACT

Retorna o nmero de caracteres em uma seqncia de texto

Retorna um valor convertido para um nmero

OCTABIN

Converte um nmero octal em binrio

OCTADEC

Converte um nmero octal em decimal

OCTAHEX

Converte um nmero octal em hexadecimal

ORDEM.PORCENTUAL

Retorna a ordem porcentual de um valor em um conjunto de


dados

ORDEM

Retorna a posio de um nmero em uma lista de nmeros

OTNLUCRO

Retorna o rndimento de uma letra do Tesouro

OTNVALOR

Retorna o preo por $100 do valor nominal de uma letra do


Tesouro

OTN

Retorna o rendimento de uma letra do Tesouro equivalente


ao rendimento de um ttulo

OU

Retorna
VERDADEIRO
VERDADEIRO

PADRONIZAR

Retorna um valor normalizado

PAR

Arredonda um nmero para cima at o valor inteiro mais


prximo

PEARSON

Retorna o coeficiente de correlao do momento do produto


Pearson

PERCENTIL

Retorna o k-simo percentil de valores em um intervalo

PERMUT

Retorna o nmero de permutaes para um dado nmero de


objetos

PGTOCAPACUM

Retorna o capital cumulativo pago em um emprstimo entre


dois perodos

PGTOJURACUM

Retorna os juros cumulativo pago entre dois perodos

PGTO

Retorna o pagamento peridico de uma anuidade

www.melhordesempenho.com.br sua consultoria online

se

qualquer

argumento

for

37

PI

Retorna o valor de Pi

POISSON

Retorna a distribuio Poisson

POTNCIA

Retorna o resultado de um nmero elevado a uma potncia

PPGTO

Retorna o pagamento sobre o montante de um investimento


em um determinado perodo

PREODESC

Retorna o preo por $100 do valor nominal de um ttulo com


desgio

PREOPRIMINC

Retorna o preo por $100 do valor nominal de um ttulo com


um perodo inicial incompleto

PREOLTINC

Retorna o preo por $100 do valor nominal de um ttulo com


um perodo final incompleto

PREOVENC

Retorna o preo por $100 do valor nominal de um ttulo que


paga juros no vencimento

PREO

Retorna o preo por $100 do valor nominal de um ttulo que


paga juros peridicos

PREVISO

Retorna um valor ao longo de uma tendncia linear

PRI.MAISCULA

Coloca em maiscula a primeira letra de cada palavra de um


valor de texto

PROB

Retorna a probabilidade de valores em um intervalo estarem


entre dois limites

PROCH

Pesquisa na linha superior de uma matriz e retorna o valor


da clula indicada

PROCURAR

Localiza um valor de texto dentro de outro (distingue


maisculas de minsculas)

PROCV

Procura a partir da primeira coluna e linha de uma matriz


para retornar o valor de uma clula

PROC

Procura valores em um vetor ou matriz

PROJ.LIN

Retorna os parmetros de uma tendncia linear

PROJ.LOG

Retorna os parmetros de uma tendncia exponencial

QUARTIL

Retorna o quartil do conjunto de dados

QUOCIENTE

Retorna a parte inteira de uma diviso

www.melhordesempenho.com.br sua consultoria online

38

RADIANOS

Converte graus em radianos

RAIZPI

Retorna a raiz quadrada de (nm*pi)

RAIZ

Retorna uma raiz quadrada positiva

RECEBER

Retorna a quantia recebida no vencimento para um ttulo


totalmente investido

REPETIR

Repete o texto um determinado nmero de vezes

ROMAN

Converte um algarismo arbico em romano, como texto

RQUAD

Retorna o quadrado do coeficiente


momento do produto de Pearson

SDA

Retorna a depreciao dos dgitos da soma dos anos de um


ativo para um perodo especificado

SEGUNDO

Converte um nmero de srie em segundo

SENH

Retorna o seno hiperblico de um nmero

SEN

Retorna o seno de um nmero dado

SE

Especifica um teste lgico a ser executado

SINAL

Retorna o sinal de um nmero

SOMAQUAD.

Retorna a soma dos quadrados dos argumentos

SOMARPRODUTO

Retorna a soma dos produtos dos componentes das matrizes


correspondentes

SOMASE

Adiciona as clulas especificadas por um determinado


critrio

SOMASEQNCIA

Retorna a soma de sries de potncia baseado na frmula

SOMAX2DY2

Retorna a soma da diferena dos quadrados de valores


correspondentes em duas matrizes

SOMAX2SY2

Retorna a soma da soma dos quadrados de valores


correspondentes em duas matrizes

SOMA

Soma seus argumentos

SOMAXMY2

Retorna a soma dos quadrados das diferenas dos valores


correspondentes em duas matrizes

SQL.REQUEST

Requere uma conexo e executa uma consulta SQL

www.melhordesempenho.com.br sua consultoria online

de

correlao

do

39

SUBSTITUIR

Substitui um texto antigo por outro novo em uma seqncia


de texto

SUBTOTAL

Retorna um subtotal em uma lista ou banco de dados

TANH

Retorna a tangente hiperblica de um nmero

TAN

Retorna a tangente de um nmero

TAXAJUROS

Retorna a taxa de juros de um ttulo totalmente investido

TAXA

Retorna a taxa de juros por perodo em uma anuidade

TEMPO

Retorna o nmero de srie de uma hora especfica

TENDNCIA

Retorna valores ao longo de uma tendncia linear

TESTE.QUI

Retorna o teste para independncia

TESTEF

Retorna o resultado de um teste F

TESTET

Retorna a probabilidade associada ao teste t de Student

TESTEZ

Retorna o valor-P bi-caudal do teste-z

TETO

Arredonda um nmero para o prximo nmero inteiro ou at


o prximo mtiplo significativo

TEXTO

Formata um nmero e o converte para texto

TIPO.ERRO

Retorna um nmero que corresponde a um tipo de erro

TIPO

Retorna um nmero que indica o tipo de dados de um valor

TIRAR

Remove todos os caracteres do texto que no podem ser


impressos

TIR

Retorna a taxa interna de retorno de uma seqncia de


fluxos de caixa

TRANSPOR

Retorna a transposio de uma matriz

TRUNCAR

Trunca um nmero at um nmero inteiro

Converte os argumentos em texto

VALOR.TEMPO

Converte uma hora em forma de texto em um nmero de


srie

VALOR

Converte um argumento de texto em um nmero

VARP

Calcula a varincia com base na populao total

www.melhordesempenho.com.br sua consultoria online

40

VAR

Estima a varincia a partir de uma amostra

VERDADEIRO

Retorna o valor lgico VERDADEIRO

VFPLANO

Retorna o valor futuro de um capital inicial depois de ter


sido aplicado uma srie de taxas de juros compostos

VF

Retorna o valor futuro de um investimento

VPL

Retorna o valor lquido atual de um investimento, baseado


em uma srie de fluxos de caixa peridicos e em uma taxa
de desconto

VP

Retorna o valor presente de um investimento

WEIBULL

Retorna a distribuio Weibull

XTIR

Retorna a taxa de retorno interna de um programa de fluxos


de caixa

XVPL

Retorna o valor presente lquido de um programa de


fluxos de caixa

www.melhordesempenho.com.br sua consultoria online

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.

Ateno: ao utilizar os registros exclusivos, voc obter como resultado somente a


quantidade de colunas selecionadas no intervalo da lista, ou seja, se sua tabela
contiver 10 colunas e voc selecionou apenas 2, os valores obtidos sero apenas
referentes aos das duas colunas selecionadas.

Dica: combine as funes SOMASE, CONTSE e PROCV com o filtro avanado para
registros exclusivos.

www.melhordesempenho.com.br sua consultoria online

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.

4.1. LISTA SUSPENSA


O EXCEL permite criar uma lista suspensa de entradas vlidas que compilada a partir
de clulas de qualquer local da pasta de trabalho. Ao criar uma lista suspensa para uma
clula, ela exibe uma seta naquela clula. Para inserir informaes na clula, clique na
seta e, em seguida, clique na entrada desejada
Para criar uma lista suspensa a partir de um intervalo de clulas:
Menu Ferramentas
Validao de Dados
Permitir = Lista
Fonte: selecione a lista de dados desejada ou digite, separada por ponto-evirgula ; as entradas permitidas

Observao: Convm classificar os dados na ordem em que deseja que


apaream na lista suspensa.

www.melhordesempenho.com.br sua consultoria online

43

4.2. CRITRIOS DE VALIDAO


A ferramenta de Validao de Dados do EXCEL permite tambm restringir tipos de dados
e/ou intervalos de dados a serem inseridos em sua planilha.
Para utilizar esta opo, de restringir tipos de dados ou mesmo restringir o intervalo dos
dados, siga os seguintes passos:
Menu Ferramentas
Validao de Dados
Permitir = Numero Inteiro; Data; Hora; etc
Dados = escolha o tipo de dados a serem inseridos (maior que; entre; menor
que; etc)
Defina o range ou valor conforme a escolha do item anterior.

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:

www.melhordesempenho.com.br sua consultoria online

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:

www.melhordesempenho.com.br sua consultoria online

45

O processo de criao de uma tabela dinmica um pouco complexo. Temos que


obedecer alguns passos (vamos trabalhar somente com planilhas).
1 passo: Primeiro passo vamos criar uma tabela de exemplo. Siga o modelo abaixo:

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

2 passo: Clique no menu Dados. Depois clique em Relatrio de Tabela e grficos


dinmicos.
3 passo: Escolha Banco de Dados ou lista do Microsoft Office Excel.
4 passo: Defina a rea de origem das informaes. Esse passo muito importante e
geralmente o Excel j seleciona todas as clulas do intervalo dos dados.

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.

www.melhordesempenho.com.br sua consultoria online

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.

www.melhordesempenho.com.br sua consultoria online

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.

Experimente agora alterar outros campos do relatrio

www.melhordesempenho.com.br sua consultoria online

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.

6.1. ALGUMAS DEFINIES DE LGICA


LGICA a seqncia coerente, regular e necessria de acontecimentos, de coisas;
coerncia de raciocnio, de idias; maneira do raciocnio particular que cabe a um
indivduo ou a um grupo (Dicionrio Aurlio).
LGICA a tcnica de encadear os pensamentos para se atingir um objetivo (Sonia
Maria Duarte).

www.melhordesempenho.com.br sua consultoria online

49

LGICA a cincia dos princpios formais do raciocnio (Manzano).

6.2. O USO DA LGICA NA ANLISE DE UM PROBLEMA


Quando pensamos em desenvolver um programa, devemos ter domnio sobre o mesmo,
analisando cada etapa do problema, para que possamos fornecer ao computador uma
seqncia lgica de passos que a mquina dever executar para que resolva o nosso
problema.

PROBLEMA

PROGRAMA

ANLISE

ALGORITMO
Diagrama em

Para resolver qualquer problema, iremos dividi-lo em trs partes:


1) Dados de entrada: so as informaes necessrias que eu preciso obter para
atingir o objetivo.
2) Processamento: o calculo (caso tenha um) que dever ser feito para
solucionar o problema.
3) Sada: objetivo a atingindo.
Exemplo:
Calcular a mdia de um aluno. Sabendo que a mdia a soma das duas notas dividido
por 2.
Dados de entrada: Nota1 e Nota2
Processamento: Mdia=(Nota1+Nota2)/2
Sada: Mdia

www.melhordesempenho.com.br sua consultoria online

50

6.3. FORMAS DE REPRESENTAO DE ALGORITMOS


Existem diversas formas de representao de algoritmos, mas no h um consenso com
relao melhor delas.
O critrio usado para classificar hierarquicamente estas formas est diretamente ligado
ao nvel de detalhe ou, inversamente, ao grau de abstrao oferecido.
Algumas formas de representao de algoritmos tratam os problemas apenas em nvel
lgico, abstraindo-se de detalhes de implementao muitas vezes relacionados com
alguma linguagem de programao especfica. Por outro lado existem formas de
representao de algoritmos que possuem uma maior riqueza de detalhes e muitas
vezes acabam por obscurecer as idias principais do algoritmo, dificultando seu
entendimento.
Dentre as formas de representao de algoritmos mais conhecidas podemos citar:
- Descrio Narrativa;
- Fluxograma Convencional;
- Pseudocdigo, tambm conhecido como Linguagem Estruturada ou Portugol.

6.3.1.

DESCRIO NARRATIVA

Nesta forma de representao os algoritmos so expressos diretamente em linguagem


natural. Como exemplo tem-se os algoritmos seguintes:
Receita de bolo:
Misture os ingredientes
Unte a forma com manteiga
Despeje a mistura na forma
Se houver coco ralado ento despeje sobre a mistura
Leve a forma ao forno
Enquanto no corar deixe a forma no forno
Retire do forno
Deixe esfriar

Esta representao pouco usada na prtica porque o uso da linguagem natural muitas
vezes d oportunidade a ms interpretaes, ambigidades e imprecises.

www.melhordesempenho.com.br sua consultoria online

51

6.3.2.

FLUXOGRAMA CONVENCIONAL

uma representao grfica de algoritmos onde formas geomtricas diferentes


implicam aes (instrues, comandos) distintas. Tal propriedade facilita o entendimento
das idias contidas nos algoritmos e justifica sua popularidade.
Esta forma aproximadamente intermediria descrio narrativa e ao pseudocdigo
(subitem seguinte), pois menos imprecisa que a primeira e, no entanto, no se
preocupa com detalhes de implementao do programa, como o tipo das variveis
usadas.
Nota-se que os fluxogramas convencionais preocupam-se com detalhes de nvel fsico da
implementao do algoritmo. Por exemplo, figuras geomtricas diferentes so adotadas
para representar operaes de sada de dados realizadas em dispositivos distintos, como
uma fita magntica ou um monitor de vdeo. Como esta apostila no est interessada
em detalhes fsicos da implementao, mas to somente com o nvel lgico das
instrues do algoritmo, ser adotada a notao simplificada abaixo para os
fluxogramas. Principais formas geomtricas usadas em fluxogramas:
Incio e final do fluxograma
Operao de entrada de dados
Operao de sada de dados
Operao de processamento
Deciso

De modo geral, um fluxograma se resume a um nico smbolo inicial por onde a


execuo do algoritmo comea, e um ou mais smbolos finais, que so pontos onde a
execuo do algoritmo se encerra.
Partindo do smbolo inicial, h sempre um nico caminho orientado a ser seguido,
representando a existncia de uma nica seqncia de execuo das instrues. Isto
pode ser melhor visualizado pelo fato de que, apesar de vrios caminhos poderem
convergir para uma mesma figura do diagrama, h sempre um nico caminho saindo
desta. Excees a esta regra so os smbolos finais, dos quais no h nenhum fluxo
saindo, e os smbolos de deciso, de onde pode haver mais de um caminho de sada
(usualmente dois caminhos), representando uma bifurcao no fluxo.

www.melhordesempenho.com.br sua consultoria online

52

6.3.3.

PSEUDOCDIGO

Esta forma de representao de algoritmos rica em detalhes, como a definio dos


tipos das variveis usadas no algoritmo. Por assemelhar-se bastante forma em que os
programas so escritos, encontra muita aceitao.
Na verdade, esta representao suficientemente geral para permitir a traduo de um
algoritmo nela representado para uma linguagem de programao especfica seja
praticamente direta.
A forma geral da representao de um algoritmo na forma de pseudocdigo a
seguinte:
Algoritmo <nome_do_algoritmo>
<declarao_de_variveis>
Incio
<corpo do algoritmo>
Fim Lgica

Algoritmo uma palavra que indica o incio da definio de um algoritmo em forma de


pseudocdigo.
<nome_do_algoritmo> um nome simblico dado ao algoritmo com a finalidade de
distingui-los dos demais.
<declarao_de_variveis> consiste em uma poro opcional onde so declaradas as
variveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos.
Incio e Fim so respectivamente as palavras que delimitam o incio e o trmino do
conjunto de instrues do corpo do algoritmo.
Como exemplo, abaixo mostra a representao do algoritmo do clculo da mdia de um
aluno, na forma de um pseudocdigo.
Algoritmo Calculo_Media
Declare N1, N2, MEDIA: real
Incio
Leia N1, N2
MEDIA = (N1 + N2) / 2

www.melhordesempenho.com.br sua consultoria online

53

Se MEDIA >= 7 ento


Escreva Aprovado
Seno
Escreva Reprovado
Fim_se
Fim

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. CRIAR MACROS


Existem duas possibilidades de criao de macros:
Atravs do Gravador de Macros; e
Utilizando o editor e programando em Visual Basic for Applications (VBA).

7.2.1.
1.

GRAVAR UMA MACRO

Ferramentas / Macro / Gravar Macro. O Excel exibir a caixa de dilogo da fig.1.

www.melhordesempenho.com.br sua consultoria online

54

Caixa de dilogo para a gravao de macros.

2.

O nome da Macro ser constitudo por um conjunto de caracteres que identificaro a


Macro e a sua funcionalidade.

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.

No campo Descrio, introduza um comentrio funo este poder ser


importante para que no seja esquecido o respectivo objetivo e funcionalidade.

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.

Toolbar exibida para a gravao de macros.

7. Na barra de ferramentas, existem dois botes: Parar Gravao e usar referencias


Relativas O boto de Parar Gravao termina a gravao da macro, o boto de
Referencias Relativas seleciona o modo de gravao da macro se feito com base
em referncias relativas (boto selecionado) ou referncias absolutas.

8. No caso barra de ferramentas Parar Gravao desaparecer, poder acessar o menu


Ferramentas: Macros / Parar 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.

www.melhordesempenho.com.br sua consultoria online

55

7.2.2.

PROCEDIMENTO BACKGROUND DO EXCEL

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.

PROGRAMAO EM VISUAL BASIC FOR APPLICATIONS

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)

Editor de Visual Basic for Applications

www.melhordesempenho.com.br sua consultoria online

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)

3. Voc pode agora programar os procedimentos manualmente ou com recurso a


algumas funcionalidades do Editor:

a) Inserir / Procedimento insere um procedimento para o qual dever indicar o


tipo de procedimento.
b) Ao introduzir variveis, ser exibida a lista de tipos de variveis possveis.

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. EXECUTAR UMA MACRO


A execuo de uma macro pode ser concretizada de diversas formas:
Tecla de Atalho Shortcut Key
Executar
Editor de Visual Basic for Applications

7.3.1.

TECLA DE ATALHO SHORTCUT KEY

A associao a teclas de atalho realizada na criao da macro.

7.3.2.

EXECUTAR

1. Ferramentas / Macro / Macros


2. Na caixa de dilogo Macros seleciona-se a macro pretendida na lista da Macro Name
(Figura 6)

www.melhordesempenho.com.br sua consultoria online

57

3. Clique sobre o boto Executar

Janela para seleo da macro a executar

7.3.3.

EDITOR DE VISUAL BASIC FOR APPLICATIONS

1. Ferramentas / Macro / Visual Basic Editor - para acessar ao Editor


2. Posicionando-se no corpo de uma macro, na janela do lado direito inferior, poder
executar a macro atravs de: Run / Run Sub-UserForms (figura 9) ou boto Run.

Execuo de uma macro no Editor de Visual Basic for Applications

www.melhordesempenho.com.br sua consultoria online

58

7.4. REMOVER MACROS


A remoo das macros poder ser feita:
no ambiente Excel, ou
no Editor de VBA

7.4.1.

REMOO DE MACROS EM AMBIENTE EXCEL

1. Ferramentas / Macro / Macros


2. Seleciona-se a Macro a remover
3. Clica-se no boto Delete

7.4.2.

REMOO DE MACROS NO EDITOR DE VBA

1. Ferramentas / Macro / Visual Basic Editor - para acessar ao Editor


2. Apagar as macros que se encontram na janela do lado direito inferior e que tm
incio com a palavra Sub e fim com as palavras End Sub (Ver capitulo de funes e
procedimentos)

7.4.3.

EDITOR DE VISUAL BASIC FOR APPLICATIONS

Para acessar o editor de VBA: Ferramentas / Macro / Visual Basic Editor

Editor de Visual Basic for Applications

www.melhordesempenho.com.br sua consultoria online

59

Note que a janela dividida em trs grandes reas: Project Explorer, Propriedades
Window e do lado direito a janela de edio de texto.

7.5. PROJECT EXPLORER


Se a janela no estiver visvel, ative-a atravs do Ferramentas / Projet Explorer ou
utilizando o atalho Alt + F11.
Nesta janela poder visualizar a hierarquia dos projetos de Visual Basic for Applications
ativos no momento.
Entre eles dever encontrar um cujo nome corresponde ao nome do WorkBook do Excel
com que est a trabalhar. Exemplo: VBAProject (Book1). dentro deste projeto que
dever trabalhar para que todas as funcionalidades que voc implemente estejam nele
ativas sempre que necessrio.

Janela do Project Explorer

Assim se fizer o desdobramento do seu VBAProjet, encontrar um folder cuja designao


Microsoft Excel Objets, e um outro designado Modulos (se este no aparecer significa
que o seu projeto ainda no possui qualquer macro implementada. Para criar este folder
dever fazer: Inserir / Modulo).
No folder do Microsoft Excel Objets, encontrar todos os objetos que fazem parte do seu
documento: as WorkSheets e o WorkBook (que no fundo o conjunto de WorkSheets).
Se clicar duplamente em cada um destes objetos, uma nova janela ser visualizada na
rea da direita, em cada uma dessas reas poder definir a ao a ser executada em
funo dos eventos de cada objeto.
No Folder Mdulos, aparecer o conjunto de mdulos onde poder programar as suas
macros. Clicando duplamente em cada um dos mdulos indicados poder visualizar as
macros que o compem.

www.melhordesempenho.com.br sua consultoria online

60

7.6. JANELA DE PROPRIEDADE


Se a janela das propriedades no estiver visvel ative-a atravs do menu Ferramentas /
Propriedades ou utilizando o boto F4.

Janela de propriedades

Nesta janela voc poder visualizar e alterar as propriedades que definem cada objeto:
o nome - neste caso.

7.7. JANELA DE EDIO


A janela de edio exibir a cada momento o cdigo em Visual Basic for Applications
associado ao elemento selecionado na janela do Project Explorer.

Janela de edio

www.melhordesempenho.com.br sua consultoria online

61

7.8. HELP ONLINE


O Editor de Visual Basic for Applications, disponibiliza ao utilizador um sistema de ajuda
constante. Assim, quando se constri procedimentos, na janela de edio, medida que
a linguagem escrita o editor abre oportunamente listas de opes para ajudar a
escrever o cdigo.

7.9. AS CORES DO VBA


Na Janela de Edio so programados, armazenados e exibidos os procedimentos VBA
criados. Porm, o texto envolvido em cada procedimento dotado de uma srie de cores
diferentes, sendo que cada uma tem seu significado.
Cor

Significado

Azul

Palavras-Chave da linguagem. Ex: Sub, End Sub, Function, If,


Then, Else, While, Loop,

Vermelho

Sempre que escreve na janela uma linha em linguagem VBA, o


editor vai retificar a sintaxe da linguagem por forma a indicar se
existe ou no algum erro de escrita. Se for detectado um erro a
linha fica a vermelho e exibida uma mensagem de erro, seno
todas as palavras so reconhecidas, coloridas da cor da respectiva
categoria e alteradas para letras maisculas ou minsculas,
conforme esteja pr-definido.

Preto

Nome de variveis, procedimentos, valores, operadores,

Verde

Comentrios introduzidos no procedimento. Estes comentrios


servem para o utilizador poder associar algumas explicaes aos
procedimentos realizados. De referir que as palavras com esta cor
so ignoradas no procedimento, i.e., no produzem qualquer
efeito na sua execuo. Para introduzir comentrios bastar que o
caractere anteceda o texto desejado.

Amarelo

Um sombreado amarelo poder aparecer sobre a linha que


identifica um procedimento. Esta cor simboliza a ocorrncia de um
erro na execuo do respectivo procedimento e o estado de
execuo do mesmo, i.e., o procedimento iniciou a execuo,
durante a qual detectou um erro e agora est parado, mas ainda
em execuo. Quando isto acontecer no dever voltar a dar
ordem de execuo do procedimento, sem antes parar (Stop) a
execuo mal sucedida.

www.melhordesempenho.com.br sua consultoria online

62

7.10.

IDENTAO

Dentro da computao, identao um termo aplicado ao cdigo fonte de um programa


para indicar que os elementos hierarquicamente dispostos tm o mesmo avano
relativamente posio.
Na maioria das linguagens, a identao tem um papel meramente esttico, tornando a
leitura do cdigo fonte muito mais fcil (read-friendly), porm obrigatria em outras:
Phyton, Occan e Haskell, por exemplo, utilizam-se deste recurso tornando desnecessrio
o uso de certos identificadores de blocos (Begin e/ou end).
A verdadeira valia deste processo visvel em arquivos de cdigos fonte extensos, no
se fazendo sentir tanto sua necessidade em arquivos pequenos (relativamente ao
numero de linhas).
Para qualquer programador, deve ser a ter em conta, principalmente, por aqueles que
pretendem partilhar o seu cdigo com outros usurios. A identao facilita tambm a
modificao, seja para correo ou aprimoramento de seu cdigo fonte.
Existem centenas de estilos de identao, mas, basicamente, consiste na adio de
tabulaes no incio de cada linha na quantidade equivalente ao nmero de blocos em
que cada linha est contida.

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.

www.melhordesempenho.com.br sua consultoria online

63

as funes.

7.11.1. SUBROTINAS
7.11.1.1.

DEFINIO DE SUBROTINAS

As SubRotinas so aquelas cuja definio delimitada pelas palavras-chave Sub e


EndSub. Note que todas as macros gravadas no Excel so deste tipo. Repare ainda como
que so definidas:

Sub <nome_da_macro> ( )
<corpo_da_macro>
End Sub

Estas SubRotinas so designadas pelo nome2 que lhe atribumos e, em geral, no


recebem parmetros3 do exterior e tm como funo desempenhar um conjunto de
tarefas que compem o seu corpo.

7.11.1.2.

EXECUO DE UMA SUBROTINA

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.

www.melhordesempenho.com.br sua consultoria online

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>,)

<Nome da Funo> = <Valor / Expresso>

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.

DEFINIO DO TIPO DE PARMETROS E DO TIPO DA


FUNO

Todos os elementos de input e output de uma funo tm um tipo de dados atribudo.


Assim os parmetros devero ser definidos com o tipo de dados respectivo e a funo
dever ser definida do tipo de dados que ela envie para o exterior.
Aps isto podemos refinar a definio de uma funo:
Function <Nome da Funo> ( <parametro1> As <Tipo>, ) As <Tipo>

<Nome da Funo> = <Valor / Expresso>

End Function

Nota: Se os tipos no forem definidos ser assumido por default como sendo do tipo
Variant

www.melhordesempenho.com.br sua consultoria online

65

7.11.2.3.

EXECUO DE UMA FUNO

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.

Janela de Edio com a funo IVA

7.11.2.3.1.

EXECUO DENTRO DE UMA CLULA

1. Posicione-se na clula onde pretende inserir a funo


2. Inserir / Funo
3. Selecione a categoria User Defined repare que aparece listada a funo que acabou
de criar IVA.

www.melhordesempenho.com.br sua consultoria online

66

Caixa de Dilogo para introduo da funo


4. Clique em OK e de imediato uma janela de ajuda vir auxiliar a utilizao da sua
funo

Caixa de Dilogo para apoio utilizao da funo

Caixa de Dilogo para apoio utilizao da funo introduo de valores

5. Introduza os parmetros e clique em OK

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.

EXECUO DENTRO DE UMA ROTINA

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.

www.melhordesempenho.com.br sua consultoria online

67

Funo Valor_Liquido ao ser executada d ordens de execuo funo IVA

Um outro exemplo poder ilustrar melhor:

A Subrotina Ident_Maior ao ser executada d ordens de execuo funo Ver_Maior

7.11.3. DIFERENAS ENTRE FUNES E ROTINAS


As funes so similares s subrotinas, existem simplesmente trs diferenas:
1.

As Funes Comeam com a palavra-chave Function e terminam com as palavras


End Function

www.melhordesempenho.com.br sua consultoria online

68

2.

As Funes podem ser chamadas a partir de frmulas introduzidas numa WorkSheet


3. As funes retornam valores para as frmulas ou subrotinas que as chamarem

7.11.4. REGRAS PARA A PASSAGEM DE PARMETROS


Regra 1: Como uma funo retorna um valor, esta dever ser utilizada numa
expresso.
Regra 2: Pode-se chamar uma funo ou subrotina com a palavra-chave Call, neste
caso deve-se colocar todos os parmetros entre parnteses.
Regra 3: Quando uma rotina chamada de forma isolada e sem a palavra-chave Call,
no se deve utilizar parnteses.

8. VARIVEIS
8.1. O QUE SO VARIVEIS?
As variveis constituem repositrios temporrios de dados, podendo ser utilizadas para
diversos fins.

Manuseamento de Variveis

www.melhordesempenho.com.br sua consultoria online

69

8.1.1.

ATRIBUIO DE VALORES A VARIVEIS:

Quando se pretende atribuir valores a variveis, deve-se indicar o nome da varivel, o


operador "=" e o valor que se pretende que a varivel armazene.

<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.

UTILIZAO DE VARIVEIS COMO SE FOSSEM VALORES:

O nome da varivel representa o contedo da mesma, i.e., sempre que mencionar o


nome da varivel o seu contedo que ser considerado.
No exemplo da figura 22, pode-se constatar que na expresso:
Total = Parcela_1 + Parcela_2
Parcela_1 representa o primeiro valor introduzido e Parcela_2 representa o segundo
valor, no se trata de adicionar o nome de duas variveis, mas adicionar os contedos
que elas armazenam.

8.2. TIPOS DE VARIVEIS


O tipo de varivel est associado ao gnero de informao que esta devera armazenar.

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

permite armazenar datas

www.melhordesempenho.com.br sua consultoria online

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

permite armazenar um real desde 1.79769313486232E308 at 4.94065645841247E-324 para valores negativos,


e desde 1.79769313486232E308 at
4.94065645841247E-324 para valores positivos.
permite armazenar um real desde -3.402823E38
at -1.4011298E-45, para valores negativos e
desde 3.402823E38 at 1.4011298E-45, para
valores positivos
permite armazenar nmeros inteiros entre 32.768 e 32767
permite armazenar nmeros inteiros entre -2 147
483 648 e 2 147 483 648
utilizado para fazer referncia a um objeto do
Excel
permite armazenar conjuntos de caracteres
permite armazenar qualquer tipo de dados
permite armazenar valores de tipos diferentes

8.3. DECLARAO DE VARIVEIS


A declarao de variveis deve seguir a seguinte estrutura:
Dim I_Numero As Integer
Onde:
Dim Palavra chave que indica uma declarao de variveis (abreviatura de dimenso)
I_Numero - nome da varivel a utilizar
As palavra chave utilizada para separar o nome da varivel do tipo de dados
Integer tipo de dados atribudo varivel
possvel na mesma declarao de variveis declarar variveis de diversos tipos:
Dim var1 As Integer, var2 As Date, var3 As Double
Para declarar diversas variveis do mesmo tipo:
Dim var_1, var_2, var_3 As Currency
Dica: padronize o nome de suas variveis para obter um cdigo mais fcil de ser
interpretado. Exemplo: strNome para armazenar strings com contedo nome;
bolCheck para armazenar valores lgicos (true ou false) na vaiavel check, etc

www.melhordesempenho.com.br sua consultoria online

71

8.4. VARIVEIS VANTAGENS DA UTILIZAO


Simplificam a codificao, principalmente quando se necessita de utilizar um
valor especifico inmeras vezes
Com variveis o cdigo mais rpido

8.5. VARIVEIS DO TIPO OBJETO


Uma varivel objeto representa uma referncia a um objeto. Uma varivel de extrema
importncia que facilita a codificao e melhora a performance da subrotina.

8.5.1.

DECLARAO DA VARIVEL OBJETO

Dim <Var_Objeto> As Object

8.5.2.

ATRIBUIO DE UMA VARIVEL OBJETO

Set <Var_Objeto> = <Objeto>


Onde:
Set palavra chave que indica a atribuio de uma varivel objeto
<Var_Objeto> - Varivel Objeto
= Operador de atribuio
<Objeto> - Objeto a ser atribudo varivel

8.5.3.

UTILIZAO GENRICA DA VARIVEL OBJETO

A utilizao genrica do tipo Objeto serve para suportar qualquer tipo de objeto Excel
(WorkBook,WorkSheet,Range,)

Exemplo:

www.melhordesempenho.com.br sua consultoria online

72

Dim Range_1 as Objet


Range_1 = Worksheet(1).Range(A1)
Range_1.Value = 10

8.5.4.

UTILIZAO ESPECIFICA DA VARIVEL OBJETO

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.

Dim Range_1 As Range


Dim WB_1 As Workbook
Dim WS_1 As WorkSheet
Dim XL As Aplicativo

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

www.melhordesempenho.com.br sua consultoria online

73

Ento qual o interesse de definir as variveis de forma especifica se o podemos


fazer de forma genrica?
Por uma questo de performance, se utilizar um objeto genrico, o VBA antes de
executar qualquer funo com o objeto tem que primeiramente o identificar (perdendo
tempo) em subrotinas simples essa diferena no substancial mas quando se trata
de grandes subrotinas j se denotam diferenas significativas.

8.6. VARIVEIS DECLARAO OPCIONAL E O TIPO


VARIANT
A declarao de variveis opcional, se as variveis no forem declaradas o VBA faz a
sua declarao por default. Assim, sempre que a instruo Dim omitida para uma
varivel, essa assume o tipo Variant.

8.6.1.

OS PRS E CONTRAS DA UTILIZAO DO TIPO VARIANTS

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.

VARIVEIS DECLARAO FORADA

Para que o VBA detecte um erro sempre que uma varivel no seja declarada dever
fazer:

www.melhordesempenho.com.br sua consultoria online

74

Ferramentas / Options
Editor Tab
Activar Require Variable Declaration

Ou ento, escrever no incio de cada mdulo Option Explicit


Neste caso sempre que seja detectada uma varivel que ainda no foi declarada d uma
mensagem de erro - Variable Not Defined

8.7. VARIVEIS TIPOS DEFINIDOS PELO UTILIZADOR ESTRUTURAS


8.7.1.

DEFINIO DO TIPO

A primeira fase constituda pela definio do tipo:


Type Dados_Pessoais
Nome As String
Idade As Integer
DataNascimento As Date
BI As Long
End Type

Criou-se um tipo de dados que representa uma estrutura com dados de diferentes tipos.
Esta definio dever ocorrer no incio do mdulo VBA.

www.melhordesempenho.com.br sua consultoria online

75

Onde:
Type

Palavra-Chave que indica a definio de um tipo de


dados criado pelo utilizador.

Dados_Pessoais

Nome atribudo ao tipo de dados.

Nome As String

Primeiro elemento da estrutura de dados definida.

Idade As Integer

Segundo elemento da estrutura de dados definida.

DataNascimento As Date

Terceiro elemento da estrutura de dados definida.

BI As Long

Quarto elemento da estrutura de dados definida.

End Type

Palavra-Chave que indica o fim da definio da


estrutura de dados.

8.7.2.

UTILIZAO DAS ESTRUTURAS DE DADOS

Como utilizar as estruturas de dados:


Sub Tipos_definidos_Utilizador()
Dim Pessoa As Dados_Pessoais
Pessoa.Nome = Francisco
Pessoa.DataNascimento = #8/7/73#
Pessoa.Idade = WorksheetFunction.Year(Date)_
WorksheetFunction.Year(Pessoa.DataNascimento)
Pessoa.BI = 103582915
MsgBox 4Pessoa.Nome & Chr(13) & , Idade & Pessoa.Idade & Chr(13) & _
, Data de Nascimento & Pessoa.DataNascimento & Chr(13) & _
, com o BI nmero _ & Pessoa.BI
End Sub

Ver captulo InputBox e MsgBox

www.melhordesempenho.com.br sua consultoria online

76

8.8. VARIVEIS ARRAYS


8.8.1.

O QUE UM ARRAY?

Um Array uma varivel que representa um conjunto de variveis do mesmo tipo.


Os Arrays podem ser multi-dimensionais, onde todas as dimenses so indexadas
numericamente.

8.8.1.1. ARRAY UNI-DIMENSIONAL

0
1
2
3
4
5

Um array uni-dimensional constitudo por uma nica lista de elementos indexveis.


Esta lista tem um elemento inicial e um outro final sendo que a cada elemento da lista
corresponde um nico ndice, traduo do lugar que ocupa na lista, que o identifica
univocamente.

8.8.1.2. ARRAY BI-DIMENSIONAL

2
0
1
2
3

www.melhordesempenho.com.br sua consultoria online

77

Um array bi-dimensional um pouco mais complexo e constitudo por um conjunto de


listas do mesmo comprimento, este formato normalmente conhecido como array ou
matriz. , portanto, constituda por linhas e colunas e cada elemento identificado por
um ndice composto pela intercepo dos nmeros da linha e da coluna.

8.8.2.

DECLARAO DE UM ARRAY

8.8.2.1. ARRAYS UNI-DIMENSIONAIS

Dim ArrayNumerico(10) As Integer

Array_Numerico o nome da varivel array, o nmero entre parntesis indica o nmero


de elementos que o array pode armazenar, isto

Array_Numerico
0
1
2
3
4
5
6
7
8
9

Em que cada elemento do tipo Integer.

www.melhordesempenho.com.br sua consultoria online

78

8.8.2.2. ARRAYS BI-DIMENSIONAIS

Dim Tabela_Textual (4, 3) As String

Tabela_textual o nome da varivel, os nmero entre parntesis indicam que a tabela


ir ter 4 linhas e 3 colunas, podendo assim armazenar 12 elementos do tipo String.

Tabela_Textual
0

2
0
1
2
3

8.8.3.

UTILIZAO DE UM ARRAY

8.8.3.1. PARA ACESSAR O ELEMENTO

<Nome_do_Array>(<Indice1_do_Elemento>[,<Indice2_do_Elemento>, ])

8.8.3.2. ATRIBUIO DE VALORES

<Nome_do_Array>(<Indice1_do_Elemento>[,<Indice2_do_Elemento>, ]) = <Valor>

www.melhordesempenho.com.br sua consultoria online

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

Valor estes que sero exibidos atravs da MsgBox.


Exemplo:
Option Base 1
Sub Utilizacao_Array()
Dim Loteria(3) As Integer
Loteria(1)=int(10000*Rnd())
Loteria(2)=int(10000*Rnd())
Loteria(3)=int(10000*Rnd())
MsgBox Nmeros da Loteria: & Loteria(1) & , & Loteria(2) & , &_ Loteria(3)
End Sub

8.8.4.

OPTION BASE E ARRAY BOUNDS

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

www.melhordesempenho.com.br sua consultoria online

80

Contudo se pretender que um array comece em um nmero que no seja 0 ou 1,


necessrio especificar os limites inferior e superior do ndice na declarao do array.

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

www.melhordesempenho.com.br sua consultoria online

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.1. O QUE FAZ


1. Exibe uma janela com uma caixa text box para a insero de dados.
2. Espera que o utilizador introduza os dados e/ou acione um dos botes.
3. Como uma funo, produz um valor final. Este consiste nos dados inseridos pelo
utilizador na forma textual - String.

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.

www.melhordesempenho.com.br sua consultoria online

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)

Titulo da janela de input. Se este for omitido, aparecer por


defeito o nome da aplicao.
Expresso inserida por defeito na caixa de insero de dados
e constituir a resposta por defeito se o utilizador no
introduzir outra.
Se este parmetro for omitido aparecer uma text box vazia.

Xpos
(Facultativo)
Ypos
(Facultativo)

HelpFile
(Facultativo)
Context
(Facultativo)

Nmero que identifica a distncia horizontal entre o lado


esquerdo do cran e a janela de input. Se este valor for
omitido a janela aparecer centrada horizontalmente.
Nmero que identifica a distncia vertical entre o lado
superior do monitor e a janela de input. Se este valor for
omitido a janela ficar posicionada a 1/3 da parte inferior do
monitor.
Nome do ficheiro de Help que ser utilizado para dar apoio ao
preenchimento desta janela. Se for indicado este parmetro o
seguinte obrigatrio.
Nmero do ndice do tpico de Help constante no ficheiro
HelpFile, e que corresponde janela em questo.

Ateno: Se pretender enviar mais que um parmetro optativo respeite a ordem


atravs de , (virgulas)

www.melhordesempenho.com.br sua consultoria online

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.1. O QUE FAZ


1. Exibe no cran uma janela com uma mensagem.
2. Espera que o utilizador acione um dos botes.
3. Como uma funo produz um valor final. Devolve um nmero inteiro indicando o
boto que foi clicado.

10.3.2. SINTAXE
MsgBox(prompt[, buttons] [, title] [, helpfile, context])

semelhana da InputBox , 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.

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)

www.melhordesempenho.com.br sua consultoria online

84

Exemplo:
"A Soma de 3 com 5 :" & Chr(13) & " 8 "
Buttons
(Facultativo)

Nmero que identifica o tipo de botes que se pretende


visualizar na janela de output. Ver tabela seguinte.
Se for omitido assumir o valor 0 por defeito.

Title
(Facultativo)
HelpFile
(Facultativo)
Context
(Facultativo)

Titulo da janela de input. Se este for omitido, aparecer por


defeito o nome da aplicao.
Nome do ficheiro de Help que ser utilizado para dar apoio ao
preenchimento desta janela. Se for indicado este parmetro o
seguinte obrigatrio.
Nmero do ndice do tpico de Help constante no ficheiro
HelpFile, e que corresponde janela em questo.

Ateno: Se pretender enviar mais que um parmetro optativo, respeite a ordem


atravs de , (virgulas)

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

Exibe somente o boto de OK.

VbOKCancel

Exibe os botes OK e Cancel.

VbAbortRetryIgnore

Exibe os botes Abort, Retry, e Ignore.

VbYesNoCancel

Exibe os botes Yes, No, e Cancel .

VbYesNo

Exibe os botes Yes e No.

www.melhordesempenho.com.br sua consultoria online

85

VbRetryCancel

Exibe os botes Retry e Cancel.

VbCritical

16

Exibe o cone de Critical Message.

VbQuestion

32

Exibe o cone de Warning Query.

VbExclamation

48

Exibe o cone de Warning Message.

VbInformation

64

Exibe o cone de Information Message.

VbDefaultButton1

O primeiro boto o selecionado por defeito.

VbDefaultButton2

256

O segundo boto o selecionado por defeito.

VbDefaultButton3

512

O terceiro boto o selecionado por defeito.

VbDefaultButton4

768

O quarto boto o selecionado por defeito.

VbApplicationModal

VbSystemModal

Application modal o utilizador s depois de responder


MsgBox que poder dar continuidade ao trabalho na
aplicao corrente.

4096

System modal - o utilizador s depois de responder


MsgBox que poder dar continuidade ao trabalho em
qualquer aplicao em curso no sistema.

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"

exibida a seguinte janela:

www.melhordesempenho.com.br sua consultoria online

86

MsgBox

Para a instruo:
MsgBox "Erro de Sintaxe!!!", 5 + 64 + 256 + 4096, "Mensagem de Erro"
exibida a seguinte janela:

MsgBox

10.3.4. VALORES PRODUZIDOS


Como j foi referido, a funo MsgBox produz um valor em funo do boto acionado,
assim produzir como output um dos valores constantes da tabela seguinte:
Constante de VBA

Valor

Boto Acionado

vbOK

OK

vbCancel

Cancel

vbAbort

Abort

vbRetry

Retry

vbIgnore

Ignore

vbYes

Yes

vbNo

No

www.melhordesempenho.com.br sua consultoria online

87

11.
DOMNIO DAS VARIVEIS, CONSTANTES E
ROTINAS

11.1.

O QUE O DOMNIO?

Scope ou domnio de um elemento refere-se rea na aplicao na qual esse mesmo


elemento pode ser acessvel e utilizado, ou seja, onde que o elemento reconhecido.

11.2. DOMNIO DAS VARIVEIS


Refere-se rea onde a varivel permanece ativa, mantendo o valor que lhe vai sendo
atribudo.
Existem 3 nveis de domnio para as variveis:
mbito do Procedimento ou Procedimental
mbito do Modulo ou Modular
mbito do Projeto

As declaraes de tipos User Defined que so escritas no Declarations do mdulo tm


domnio de Projeto.

11.2.1. MBITO DO PROCEDIMENTO


Estas variveis so declaradas no corpo do procedimento com recurso palavra chave
Dim.
So variveis criadas quando da execuo do procedimento e automaticamente
destrudas quando o procedimento termina, sendo que s so reconhecidas no
interior do procedimento que as declarou. Assim sendo, qualquer tentativa
realizada por um procedimento no sentido de trabalhar com variveis definidas no corpo
de um outro procedimento no ter xito.
Exemplo:
Sub Ambito_Procedimento()
Dim Var_1 As Integer
Var_1 = InputBox (Introduza um nmero Inteiro)
MsgBox Foi este o nmero que introduziu: & Var_1

www.melhordesempenho.com.br sua consultoria online

88

Ambito_Procedimento_2
End Sub
Sub Ambito_Procedimento_2()
MsgBox Foi este o nmero que introduziu: & Var_1
End Sub

A execuo destas rotinas resultar no seguinte:


A primeira mensagem (MsgBox no Procedimento Ambito_Procedimento)exibir o
nmero introduzido pelo utilizador que fora armazenado na varivel Var_1.
A segunda mensagem, oriunda da instruo MsgBox do Procedimento
Ambito_Procedimento_2 no exibir o valor introduzido, porque a varivel Var_1 nele
referida considerada como uma varivel interna do processo, e portanto criada dentro
do procedimento Ambito_Procedimento_2. Como tal, embora possua o mesmo nome
que a varivel da rotina Ambito_Procedimento_1 no existe qualquer ligao entre elas,
so duas variveis distintas.
Se pretendssemos que o valor da primeira varivel fosse reconhecido no procedimento
chamado, teramos de pass-lo por parmetro.

11.2.2. MBITO DO MDULO


Uma varivel como mbito do Mdulo pode ser acessada por todas as rotinas
existentes no mdulo onde a varivel declarada.
Para declarar uma varivel do nvel modular, dever declar-la com a palavra chave
Dim na seo Declarations do respectivo mdulo VBA. Neste caso qualquer varivel
a declarada ser considerada de nvel modular por defeito, para tornar esse fato mais
explicito poder-se- utilizar a palavra chave Private na declarao:

Exemplo:
Private Var_2 As String

www.melhordesempenho.com.br sua consultoria online

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.

11.2.3. MBITO DO PROJETO


As variveis assim definidas tm o mbito correspondente a todo o projeto, isto
podem ser acessadas e alteradas em todos e quaisquer mdulos. Para declarar
variveis deste tipo dever faz-lo na seo Declarations de qualquer mdulo, para
tal dever utilizar a palavra chave Public.

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

www.melhordesempenho.com.br sua consultoria online

90

A execuo do procedimento Ambito_Projeto no Modulo_1 mandou executar o


procedimento Ambito_Projeto do Modulo_2, e o valor atribudo varivel Var_1 foi
acessado posteriormente no outro procedimento de outro mdulo, visto que Var_1
uma varivel global.

11.3.

DOMNIO DAS CONSTANTES

semelhana das variveis tambm as constantes tm 3 nveis de domnio:


mbito do Procedimento ou Procedimental
mbito do Modulo ou Modular
mbito do Projeto

11.3.1. MBITO DO PROCEDIMENTO


Estas constantes so declaradas no corpo do procedimento com recurso palavra
chave Const. S tm existncia dentro do procedimento onde so declaradas.

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

11.3.2. MBITO DO MDULO


Uma constante com mbito do Mdulo pode ser utilizada por todas as rotinas
existentes no mdulo onde definida.
Para declarar uma constante a nvel modular, dever declar-la com a palavra chave
Const na seo Declarations do respectivo mdulo VBA. Neste caso qualquer
constante a declarada ser considerada de nvel modular por defeito, para tornar esse
fato mais explicito poder-se- utilizar a palavra chave Private na declarao:

www.melhordesempenho.com.br sua consultoria online

91

Exemplo:
Private Cons Const_1 As String

11.3.3. MBITO DO PROJETO


As constantes assim definidas tm o mbito correspondente a todo o projeto, isto
podem ser utilizadas em todos e qualquer mdulo. Para definir constantes deste tipo
dever faz-lo na seo Declarations de qualquer mdulo, para tal dever utilizar a
palavra chave Public.

Exemplo:
Public Const Const_1 As String

11.4.

DOMNIO DE SUBROTINAS E FUNES

Estas s tm dois nveis de Scope: o nvel do projeto e o nvel do mdulo.


Por default, as rotinas so de mbito do projeto sem qualquer indicao adicional.
Contudo poder tornar este fato mais explicito pela introduo da Palavra-Chave Public,
que em termos operacionais no adicionar qualquer funcionalidade, mas em termos de
leitura dar uma maior percepo.

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

www.melhordesempenho.com.br sua consultoria online

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.

O QUE SO ESTRUTURAS DE CONTROLE?

O VBA disponibiliza algumas estruturas que podem auxiliar no controle durante a


execuo da rotina. Estas estruturas do ao programador um poder enorme para
construir rotinas bastante complexas e flexveis.

12.2.

QUAIS AS ESTRUTURAS

VBA Control
If -Then Else

Testa uma condio e executa um determinado conjunto


de instrues consoante o resultado dessa avaliao

For Next

Executa uma determinada


nmero de vezes.

While-Wend

Executa uma determinada tarefa enquanto que uma


determinada condio permanea verdadeira, i.e., com o
valor True.

Do Loop

Executa uma determinada tarefa enquanto que a


avaliao de uma condio permanea True ou ento at
que seja True.

Select - Case

Seleciona um dos segmentos de cdigo a processar


mediante a avaliao consecutiva de condies.

For Each Next

Realiza uma determinada tarefa repetitiva em cada


objeto de uma coleo ou em cada item de um array.

www.melhordesempenho.com.br sua consultoria online

tarefa

um

determinado

93

12.3.

IF-THEN-ELSE

12.3.1. FUNO IF DO EXCEL


Recorrendo funo IF do Excel, recorde:
=IF( <condio>, <se condio verdadeira>, <se condio falsa> )
A funo IF tinha o seguinte comportamento:
1. Avalia a condio, que dever ser uma expresso booleana colocada como
primeiro parmetro;
2. Se a condio for verdadeira, ento (then) realiza as operaes colocadas no
segundo parmetro;
3. Caso contrrio (else), realiza as operaes que formam o terceiro parmetro

A estrutura IF do VBA tem o mesmo tipo de funcionamento, o que difere a sintaxe.

12.3.2. SINTAXE DA ESTRUTURA IF-THEN-ELSE


If <Condio> Then
<se condio verdadeira>
[ Else
<se condio falsa> ]
End If

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.

www.melhordesempenho.com.br sua consultoria online

94

Aplicao Prtica com um IF

12.3.3. APLICAO PRTICA


A rotina Aposta recebe uma aposta do utilizador e mediante o Sorteio a realizar pela
respectiva funo, verifica se o jogador ganhou ou no a aposta, comunicando-lhe esse
fato.
Para uma maior clarificao do funcionamento do IF, atenda ao quadro seguinte:
If

Palavra chave que indica o inicio de uma instruo If-ThenElse

Nsorteio = NAposta

A condio a testar. Determina a sequncia da rotina. Da


avaliao desta condio, obtem-se um de dois valores True
ou False, sendo que depende deste resultado o caminho a
prosseguir. Se for True executar as instrues que
seguirem a palavra-chave Then at encontrar a palavra
chave Else, no executando mais nada dentro do IF, caso
contrrio executar o cdigo que se seguir palavra chave
Else at ao End If.

Then

Palavra chave que determina o fim da condio teste. Todas


as instrues que tm inicio nesta palavra-chave at
palavra-chave Else sero executadas se a condio for
verdadeira.

www.melhordesempenho.com.br sua consultoria online

95

MsgBox Parabns!! Acertou


em cheio! O nmero sorteado
foi o & NSorteio

Instrues a executar se a condio for verdadeira.

Else

Palavra-chave que determina o termino de execuo das


instrues quando o resultado da avaliao for True, e que
determina o inicio das instrues a executar se o resultado
da condio for False.

MsgBox Continue a Tentar!! O


nmero sorteado foi o &
NSorteio

Instrues a executar se a condio for falsa.

End If

Palavra-chave que indica o fim do controlo de If-Then-Else


e como tal onde se deve retomar as instrues para
prosseguir a execuo do procedimento.

12.3.4. A INSTRUO ADICIONAL ELSEIF


Esta instruo prope uma condio alternativa se o teste da condio anterior tiver tido
um resultado negativo.

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

www.melhordesempenho.com.br sua consultoria online

96

12.4.

FOR NEXT

Permite a execuo de uma tarefa durante um determinado nmero de vezes.

12.4.1. SINTAXE
For <Inicializao do Contador> To <Valor > [ Step <Valor a Incrementar>]
<Instrues a realizar em cada iterao>
Next

12.4.2. APLICAO PRTICA


Pretende-se criar uma rotina que recebendo a base e a potncia calcule o valor
respectivo.

Procedimento que calcula a potncia de um nmero


A instruo For-Next tem como funo calcular a potncia. O mesmo efeito poderia ser
obtido recorrendo expresso Resultado = Base ^ Potncia, contudo para fins de
demonstrao de funcionamento este exemplo bastante simples.

www.melhordesempenho.com.br sua consultoria online

97

12.4.2.1.

A FUNO DAS VARIVEIS:

Varivel

Funo

Base

Elemento a elevar.

Potncia

Nmero de vezes a multiplicar a base.

Contador

Conta o nmero de vezes que a base j foi multiplicada, uma


varivel que ser automaticamente incrementada em cada looping
do ciclo.

Resultado

Varivel que armazena o resultado sucessivo por cada vez que se


multiplica.

12.4.2.2.

CONSTRUO DO CICLO:

For

Palavra-chave que indica o inicio do ciclo For-Next

Contador = 1 To
Potncia

Expresso que contm a inicializao do contador,


indicando o valor de inicio e de fim. Assim, o nmero de
vezes que o ciclo executado ser: Valor_Fim
Valor_Inicio +1.
A palavra To utilizada para separar o valor do contador
no momento inicial do valor no momento final. (Traduo:
O contador iniciar-se- a um e atingir o valor mximo
traduzido pela varivel Potncia)

Step 1

Palavra chave utilizada para especificar o valor a


incrementar ou decrementar ao contador do ciclo por cada
vez que o loop concretizado. Normalmente o valor a
incrementar um, contudo qualquer outro valor pode ser
utilizado, desde nmeros decimais, a nmeros negativos
(Provocando assim o decrscimo). A palavra-chave Step
opcional, sempre que for omitida assumido 1 como o
valor a incrementar por defeito.

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

Palavra Chave que indica o fim de um ciclo For-Next .


Sempre que a execuo do ciclo chega instruo Next
incrementa a varivel contador e volta ao inicio do ciclo.

www.melhordesempenho.com.br sua consultoria online

98

12.4.2.3.

TRADUO INTEGRAL

For Contador = 1 To Potncia Step 1


Resultado = Resultado * Base
Next

Para o nmero de vezes, a iniciar em 1 at que atinja, o valor Potncia, pela


incrementao de 1 na execuo de cada ciclo, dever multiplicar sucessivamente o
resultado acumulado, pela base.

12.4.3. FUNCIONAMENTO DO CICLO:


A primeira execuo do ciclo distingue-se das restantes por a ela estar associada
inicializao do contador, sendo o restante procedimento semelhante a qualquer outra
execuo.
No inicio de cada execuo do ciclo, a varivel contador comparada com o valor
final de execuo. Se o Step for um valor positivo (incrementar) e o valor do
contador for superior ao valor final significa que o ciclo j foi realizado o nmero de
vezes pretendido, e ento o cdigo acabar a execuo da instruo For-Next e seguir
na linha de cdigo que esteja situada imediatamente a seguir, caso contrrio executa
uma vez mais o ciclo e incrementa a varivel contador. Por outro lado, se o Step
contiver valor negativo (decrementar) e o valor do contador for inferior ao valor final
significa que o ciclo j foi realizado o nmero de vezes pretendido, e ento o cdigo
acabar a execuo da instruo For-Next e seguir na linha de cdigo que esteja
situada imediatamente a seguir, caso contrrio executa uma vez mais o ciclo e
decrementa a varivel contador.

12.4.4. PERIGOS ASSOCIADOS UTILIZAO DO CICLO FOR-NEXT:

No definir o limite de execuo (no atribuir valor varivel que o define)


Definir erroneamente o Step, por forma a que nunca seja obtido o valor que
determina o fim da execuo
estas condies implicaro que o ciclo no tenha fim Ciclos Infinitos

www.melhordesempenho.com.br sua consultoria online

99

12.4.5. OUTRA APLICAO


Pretende-se criar uma rotina para calcular um fatorial.

Procedimento que calcula o fatorial

12.5.

WHILE-WEND

A estrutura While-Wend tem um funcionamento similar ao For-Next. Realiza um looping


um determinado nmero de vezes, at que uma determinada condio seja verdadeira.

12.5.1. SINTAXE
While <Condio>
<Instrues a realizar em cada iterao>
Wend

www.melhordesempenho.com.br sua consultoria online

100

12.5.2. APLICAO PRTICA

Procedimento Loteria Viciada


A instruo While-Wend tem como funo gerar nmeros aleatrios entre 1 e 10 por
forma a encontrar o nmero da aposta, e saber qual o nmero de lanamentos
necessrios para que aquele valor fosse obtido.

12.5.2.1.

A FUNO DAS VARIVEIS:

Varivel

Funo

Num_Loteria

Nmero sorteado. Este ser inicializado a 0 por forma a que no


corresponda a nenhum valor introduzido pelo utilizador e assim
possa realizar o primeiro sorteio.

Aposta

Nmero em que o utilizador pretende apostar.

Num_Lanc

Nmero de lanamentos realizados at obter o resultado da aposta.


Este valor tem de ser incrementado cada vez que realizado um
sorteio.

www.melhordesempenho.com.br sua consultoria online

101

12.5.2.2.

CONSTRUO DO CICLO:

While

Palavra-chave que indica o inicio do ciclo


While-Wend

Num_Loteria <> Aposta

Condio teste utilizada para determinar o


terminus da realizao do ciclo. Se esta
condio for Verdadeira executa as instrues
que esto dentro do While-Wend, se for Falsa a
execuo do ciclo terminada tendo o
programa sequncia nas instrues que
seguem a palavra chave Wend.

Num_Loteria = Int ( 9 * Rnd() +


1)

Instruo a realizar de cada vez que o ciclo


executado. Tem como funo gerar nmeros
aleatrios entre 1 e 10.

Num_Lanc = Num_Lanc +1

Instruo a realizar de cada vez que o ciclo


executado. Tem como funo fazer a contagem
de quantos lanamentos foram realizados at
se obter o valor da aposta.

Beep

Instruo a realizar de cada vez que o ciclo


executado. Tem como funo apitar em cada
sorteio

Wend

Palavra Chave que indica o fim de um ciclo


While-Wend.

12.5.2.3.

TRADUO INTEGRAL

While Num_Loteria <> Aposta


Num_Loteria = Int ( 9 * Rnd() + 1 )
Num_Lanc = Num_Lanc +1
Beep
Wend

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.

www.melhordesempenho.com.br sua consultoria online

102

12.5.3. FUNCIONAMENTO DO CICLO


Existe uma fase de inicializao das variveis envolvidas na condio Teste para
garantir o correto funcionamento do ciclo.
Avalia a condio teste e se for verdadeira executa todas as instrues at palavrachave Wend voltando de novo avaliao da condio, se for falsa prossegue a
execuo da rotina nas instrues que se localizam depois da palavra-chave Wend.

12.5.4. PERIGOS ASSOCIADOS UTILIZAO DO CICLO WHILEWEND

M ou inexistncia de inicializao das variveis envolvidas na condio-teste.


Garantir que as variveis envolvidas na condio teste podero ter valores diferentes
por cada vez que o ciclo seja executado.
Garantir que em algum momento a condio teste falsa e o ciclo termina a sua
execuo.

Ateno: A no verificao destas condies implicar que o ciclo no tenha fim


Ciclos Infinitos

www.melhordesempenho.com.br sua consultoria online

103

12.5.5. OUTRA APLICAO


Pretende-se realizar um jogo de geografia. Tente compreender o seu funcionamento.

Corpo do jogo

Funo Auxiliar

www.melhordesempenho.com.br sua consultoria online

104

12.6.

DO LOOP

Esta estrutura similar estrutura do While-Wend. Contudo fornece duas possibilidades


que esto limitadas quela estrutura:

Do Loop permite posicionar a condio teste no inicio ou fim do loop, a


condio no fim do Loop evita uma inicializao prvia do valor das variveis
envolvidas na condio teste, dado que essa inicializao pode ser feita no decurso
do ciclo com valores reais.

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:

Do [{While | Until} <condio>]


<Instrues a realizar em cada iterao>
Loop

Ou ento:
Do
<Instrues a realizar em cada iterao>
Loop[{While | Until} <condio>]

www.melhordesempenho.com.br sua consultoria online

105

12.6.2. APLICAES PRTICAS

Utilizando a condio teste no inicio do Loop e com a palavra While

Condio teste no inicio com While

Utilizando a condio teste no inicio do Loop e com a palavra Until

Condio teste no inicio com Until

www.melhordesempenho.com.br sua consultoria online

106

Utilizando a condio teste no fim do Loop e com a palavra Until

Condio teste no fim com Until

Utilizando a condio teste no fim do Loop e com a palavra While

Condio teste no fim com While

www.melhordesempenho.com.br sua consultoria online

107

12.7.

SELECT CASE

Permite a escolha de um percurso mediante a avaliao de n condies. de extrema


utilidade para evitar os Ifs encadeados, dando um maior grau de legibilidade e
simplicidade ao cdigo construdo.

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

12.7.2. APLICAO PRTICA


Recordem o processo resolvido com recurso a If Then Else ElseIf
Mais facilmente seria resolvido com recurso estrutura Select Case

www.melhordesempenho.com.br sua consultoria online

108

Aplicao da estrutura Select Case rotina Classe_Etaria

12.7.2.1.

CONSTRUO DA ESTRUTURA

Select Case

Palavras-Chave que
controle Select Case

Idade

Expresso sujeita a teste, i.e., varivel cujo


contedo est a ser avaliado. Esta varivel vai ser
comparada
sucessivamente
pelos
valores
alternativos apresentados nas instrues Case
<Valor>, se encontrar o valor nalguma dessas
opes Case executar as linhas de cdigo que a
tero inicio at opo de Case seguinte. Caso o
valor da varivel a ser comparada no
corresponda a nenhum valor apresentado nas
opes Case, existe uma opo Case especial Case Select - para os restantes valores, neste
caso sero executadas todas as instrues que se
localizem entre o Case Else e o Case Select.

www.melhordesempenho.com.br sua consultoria online

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

Expresses Case. Se o valor da varivel for igual a


qualquer um dos valores apresentados em cada
uma destas expresses, o fluxo de execuo ter
continuidade na linha abaixo da expresso case
que faz o matching, at que uma nova expresso
case seja encontrada. Sendo que nessa altura
termina o controlo Select Case dando continuidade
ao programa nas instrues que se seguirem ao
End Select.

Case Else

Ser a instruo Case residual, selecionada


somente se nenhuma das outras o tiver sido.
Neste caso sero realizadas todas as instrues de
cdigo que se lhe seguirem at expresso End
Select. Findo o qual seguir todas as instrues
aps o controlo Select case.

End Select

Palavra-Chave que indica o fim do controlo Select


Case.

12.8.

FOR EACH NEXT

A estrutura For-each-next de longe a mais potente do VBA. De facto permite executar


uma determinada instruo em todos os elementos de uma coleo de objetos, ou em
todos os elementos de um array.

Esta estrutura quando aplicada em arrays no funciona para a actualizao dos


valores do array, mas somente para a extrao do seu contedo. Contudo quando
aplicada a colees de objetos pode s-lo para alterao das suas propriedades ou
extrao de valores.

12.8.1. SINTAXE
For Each <Varivel do tipo dos elementos do grupo> In <Grupo>
<Instrues a realizar para cada elemento do grupo>
Next

www.melhordesempenho.com.br sua consultoria online

110

12.8.1.1.

UTILIZANDO ARRAYS

Pretende-se inicializar um array com um conjunto de 5 pases e posteriormente


visualizar os elementos introduzidos.

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:

Alterao da sub-rotina Inicializa_Array

www.melhordesempenho.com.br sua consultoria online

111

12.8.1.1.1.

CONSTRUO DO CICLO

For Each

Palavras-Chave que
controlo For-Each

Pais

Varivel qual vo ser atribudos sucessivamente


todos os elementos do grupo de objetos. Este
grupo pode ser constitudo por uma array ou uma
coleo de objetos. Sendo que se se tratar de
um array esta varivel dever ser do tipo
Variant. Se se tratar de uma coleo, esta
varivel poder assumir o tipo Variant, o tipo
Objet genrico ou o tipo Objet especifico que
corresponde ao tipo de objetos a que a coleo
remete.

In

Palavra-chave que separa a varivel do grupo.

Array_Pais

Grupo de elementos a tratar. Poder ser um array


ou uma coleo de objetos. O ciclo ser executado
tantas vezes quantos os elementos constantes do
grupo. Na primeira iterao, a varivel assume o
valor do primeiro item do grupo, como tal em
cada loop este valor ser atualizado pelo item
seguinte.

MsgBox Pais

Instruo a realizar em cada volta do ciclo. Sendo


que em cada volta a varivel Pais ter um
elemento diferente.

Next

Palavra-chave que indica o fim do loop. Neste


momento o programa ter continuao na
instruo For Each correspondente se a varivel
no corresponder ao ltimo item do grupo, caso
contrrio sair da instruo For Each-Next
prosseguindo a execuo da rotina na linha de
cdigo abaixo do Next.

www.melhordesempenho.com.br sua consultoria online

indicam

inicio

de

um

112

12.8.1.2.

UTILIZANDO COLEES DE OBJETOS

Rotina para atribuir nomes s WorkSheets do Excel

Rotina para demonstrar o manuseamento de ranges

www.melhordesempenho.com.br sua consultoria online

113

13.

COLEES DE OBJETOS E OBJETOS

13.1.

O QUE SO OBJETOS?

Objetos so elementos caracterizados por um conjunto de propriedades, e que tm


subjacente um determinado comportamento. Por exemplo, uma janela do windows um
objeto, caracterizada por um nome, um ttulo, uma dimenso, um posicionamento
dentro do cran,, e tem um comportamento inerente, pode ser aberta, fechada,
minimizada, maximizada, escondida, redimensionada,

Seguindo esta lgica podemos identificar alguns objetos do ambiente de trabalho


Windows: o boto, o grfico, o menu, o documento, a imagem, a textbox, a frmula, o
workbook, a worksheet, a clula, o conjunto de clulas de uma worksheet,

13.2.

OBJETOS: PROPRIEDADES, MTODOS E EVENTOS

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,

www.melhordesempenho.com.br sua consultoria online

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.

1 Crie a macro que pretende executar.


2 No Editor de Visual Basic, na janela de Projeto Projet Window selecione o objeto
ThisWorkBook. Na janela de edio repare nas duas caixinhas que se encontram na
parte superior. A do lado esquerdo indica general clique nela e selecione o elemento
workbook, na caixinha da direita selecione o evento Open.
3 Automaticamente aparecer um procedimento na janela de edio cujo nome ser
Workbook_Open, tudo o que escrever no seu contedo ser executado quando o
documento for aberto, neste caso indique o nome da macro que criou anteriormente.

13.3.

OBJETOS MAIS UTILIZADOS NO EXCEL

Os Objetos mais utilizados no Excel so: Application, WorkBook, WorkSheet e Range

13.3.1. APPLICATION
Application o objeto de topo hierrquico, representa o prprio Excel.

13.3.1.1.

PROPRIEDADES

Propriedades
Caption

Meno exibida na barra de ttulos do Excel

DisplayAlerts

TRUE as mensagens de alerta so exibidas durante a


execuo da subrotina. False caso contrrio.

Path

Nome do deiretorio onde o Excel est instalado.

www.melhordesempenho.com.br sua consultoria online

115

ScreenUpdating

True altera o cran consoante a subrotina que


executa. Caso contrrio, o cran no alterado
durante a execuo da subrotina.

WindoWorkSheetState

O estado da janela da aplicao:


XlNormal janela tamanho normal
XlMaximized janela tamanho maximizado
XlMinimized janela com tamanho minimizado

DisplayStatusBar

Mostra ou esconde a StatusBar.


True exibe

DisplayFormulaBar

Mostra ou esconde a Barra de Formulas


True exibe

13.3.1.2.

MTODOS

Mtodos
Calculate

Implica o clculo de todas as frmulas de todas as WorkSheet e


WorkBookS abertos.

Argumentos: no tem
Help

Exibe um tpico do Help de um determinado ficheiro de Help.

Argumentos:
Helpfile: nome do ficheiro, incluindo a path se necessrio
Helpcontextid: nmero que faz referncia ao ndice de help

www.melhordesempenho.com.br sua consultoria online

116

Quit

Fecha aplicao Excel. (se a propriedade Display alerts estiver


com o valor False, o Excel no propor a gravao de alteraes
nos ficheiros)

Argumentos : no tem
Run

Utilizado para correr uma subrotina de VB ou uma Macro do XL


Argumentos :
Macro: nome da macro ou subrotina a executar
Argumentos que a subrotina necessita para ser executada
arg1:=<valor 1>, arg2:=<valor>,

13.3.1.3.

WORKBOOK

O Objeto WorkBook, na hierarquia de objetos segue de imediato o objeto application e


representa um ficheiro de Excel.

13.3.1.4.

PROPRIEDADES

Propriedades
Name

Nome do ficheiro. No permite a alterao do nome, para


isso necessrio proceder ao Save/As

Path

Directoria onde o ficheiro se encontra

www.melhordesempenho.com.br sua consultoria online

117

Saved

True se no houve nenhuma alterao no ficheiro desde a


ltima gravao
False caso contrrio
Exemplo:
If not(activeWorkbook.Saved) Then
ActiveWorkbook.Save
End If

13.3.1.5.

MTODOS

Mtodos
Activate

Activa um documento aberto. Equivalente a ir ao Window e


selecionar um documento aberto, trazendo-o para a janela principal
do Excel.
Argumentos: no tem

www.melhordesempenho.com.br sua consultoria online

118

Close

Fecha um documento.
Argumentos:

ser

SaveChanges se True, o documento gravado antes de


fechado; False caso contrrio
FileName se o argumento SaveChanges estiver a TRUE, o
WorkBook gravado com o nome aqui indicado

RoutWorkBook se TRUE e o WorkBook tiver endereos


para envio atribudos, envia o ficheiro por e-mail antes de
fechar,
caso contrrio no.
Protect

Protege um documento contra qualquer tipo de alterao


Argumentos:
Password: Password a utilizar na proteo
Structure: True protege tambm a estrutura

Save

WindoWorkSheet: True a estrutura do WorkBook na janela


protegida

Grava o WorkBook.
Argumentos: No Tem

SaveCopyAs

Cria uma cpia do documento em questo


Argumentos:
FileName: nome da cpia pretendida para o ficheiro

13.3.1.6.

WORKSHEET

Na hierarquia situa-se abaixo do objeto WorkBook, uma vez que um WorkBook


constitudo por um conjunto de WorkSheets.

13.3.1.7.

PROPRIEDADES

www.melhordesempenho.com.br sua consultoria online

119

Propriedades
Index

ndice de uma WorkSheet num WorkBook

Name

Nome da WorkSheet.

UsedRange

Traduz o range na WorkSheet que contm dados.

Visible

True est visvel


False est escondida, mas o utilizador pode vizualiz-la
recorrendo ao Menu Format
XlVeryHidden est escondida e ningum a pode visualizar,
a menos que volte a aplicar uma subrotina que a coloque
visvel.

13.3.1.8.

MTODOS
Mtodos

Activate

Activa uma determinada WorkSheet. Equivalente a


estarmos a trabalhar num WorkBook e clicarmos nela para
visualizarmos o seu contedo.
Argumentos: No Tem

Calculate

Provoca o clculo de todas as frmulas constantes da


WorkSheet
Argumentos: No Tem

Delete

Apaga uma WorkSheet do WorkBook.


Argumentos: No Tem

www.melhordesempenho.com.br sua consultoria online

120

Protect

Protege uma WorkSheet contra qualquer tipo de alterao


Argumentos:
Password: Password a utilizar na proteo
DrawingObjets: True- protege os objetos grficos
Contents True- protege as clulas e contedos
Scenarios
WorkSheet

True

protege

os

cenrios

afectos

UserInterfaceOnly True protege os interfaces contra


alteraes apesar de poder alterar as subrotinas
Cell

Referncia uma clula, atravs dos seus ndices numricos.


Argumentos:
Nmero da Linha
Nmero da Coluna
Ex: Clula C5 ser representado por Cells( 5, 3)

Range

13.4.

Objeto utilizado para representar uma ou mais clulas de


uma WorkSheet.

PROPRIEDADES

www.melhordesempenho.com.br sua consultoria online

121

Propriedades
Count

Nmero de Clulas num Range. Read-Only

Dependents

Retorna um range, que contm todos os dependentes


(valores indexados pelas frmulas)do range em questo.
Read-Only

Name

Nome de um range. Read/Write

Value

Valor constante de um range (clula ou conjunto de


clulas). Read/Write

Formula

Traduz a frmula contida num range como uma string.


Read/Write

Text

13.4.1.1.

Busca o contedo de uma clula mas em formato de texto.

MTODOS
Mtodos

Calculate

Provoca o clculo da frmula constantes do range


Argumentos: No Tem

ClearContents

Apaga o contedo (frmulas e valores) de uma clula,


deixando os formatos.
Argumentos: No Tem

Copy

Copia o contedo de um range para um outro de igual


dimenso ou ento para o clipboard.
Argumentos:
Destination range para o qual os valores vo ser copiados
(na ausncia deste parmetro a cpia feita para o
clipboard)

www.melhordesempenho.com.br sua consultoria online

122

OffSet

Provoca um deslocamento de um determinado nmero de


linhas e de colunas, tendo como base o range ao qual este
mtodo est a ser aplicado.
Argumentos:
RowOffset nmero de linhas que se desloca
ColumnOffset nmero de colunas que se desloca

EntireRow

Faz referncia (s) linha(s) indicadas por um determinado


range.
Argumentos: No Tem

Select

Seleciona o range em questo.


Argumentos:
Replace- (Opcional)

Cell

Referncia uma clula, atravs dos seus ndices numricos.


Argumentos:
Nmero da Linha
Nmero da Coluna
Ex: Clula C5 ser representado por Cells( 5, 3)

13.5.

OBJETOS SINGULARES VS COLEES DE OBJETOS

Objeto Singular refere um nico objeto que pode ser referenciado pelo nome.

Colees de Objetos constituem conjuntos de objetos singulares que so


referenciados pelo ndice que os identifica na coleo.

www.melhordesempenho.com.br sua consultoria online

123

As colees de objetos tambm podem ser considerados como objetos.


Exemplo:

WorkBooks(Book1.XLS) um conjunto de objetos do tipo WorkSheet, mas tambm


um objeto do tipo WorkBook.

13.6.

INDEXAO DE COLEES POR NMERO OU NOME

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.

13.6.1. INDEXAO COM BASE EM NMEROS


Os nmeros prendem-se com a ordem pela qual o objeto est inserido na coleo
(comea em 1).

Exemplo:
WorkSheets(3).Name=Terceiro

13.6.2. INDEXAO COM BASE NO NOME


Seleciona-se um objeto numa coleo pelo nome que est associado ao objeto.

Exemplo:
WorkSheets(Sheet3).Name=Terceiro

www.melhordesempenho.com.br sua consultoria online

124

13.6.2.1.

VANTAGEM

No necessrio saber a ordem pela qual foi inserido na coleo

13.6.2.2.

DESVANTAGEM

Alterao do nome da sheet provoca erros

Exemplo:
WorkSheets(Sheet3).Name=Terceiro
WorkSheets(Sheet3).Visible=False o objeto no reconhecido

13.6.3. O OBJETO RANGE UMA EXCEO


O objeto range referido da mesma forma para ser utilizado como um objeto singular
ou coleo de objetos.

13.6.3.1.

TRATAMENTO COMO OBJETO:

Range(A1).Value=1
Equivalente a colocar na primeira clula da Sheet o valor 1.

13.6.3.2.

TRATAMENTO COMO COLEO DE OBJETOS:

Range (A1:F20).Value= 1

www.melhordesempenho.com.br sua consultoria online

125

Equivalente a colocar em todas as clulas do range A1 a F20 o valor 1.

Ou ento:

Range (A1:F20).Name= Conjunto


Range (Conjunto).Value= 1

Onde, na primeira instruo se atribui ao range A1:F20 o nome Conjunto, e na


ltima instruo se utiliza essa designao para referenciar o respectivo conjunto de
clulas e atribuir-lhe o valor 1.

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

A diferena entre ambas as formas de acesso est no fato da segunda forma


(Range(A1).Value = 1) admitir que se est a trabalhar no workbook e na worksheet
que nesse momento esto ativas no Excel, enquanto que na primeira forma so
indicadas as referncias identificadoras do workbook e da worksheet onde se pretende
trabalhar.

Assim, pode-se afirmar que a segunda forma faz uma aluso implcita aplicao, ao
workbook e worksheet onde se trabalha.

www.melhordesempenho.com.br sua consultoria online

126

13.7.1. DECLARAO IMPLCITA DA APLICAO:


Para fazer a aluso implcita da aplicao, basta no a indicar, e por default o Excel
assume que se est em seu contexto:
Workbooks(1).Worksheets(1).Range(A1).Value=1

13.7.2. DECLARAO IMPLCITA DO WORKBOOK:


Omitir a referncia ao workbook, semelhante a assumir o workbook ativo como
ambiente de trabalho. Neste contexto, as expresses abaixo indicadas assumem por
defeito que se est a trabalhar no Excel, e no workbook que nesse momento estiver
ativo.
ActiveWorkbook.Worksheets(1).Range(A1).Value=1

13.7.3. DECLARAO IMPLCITA DA WORKSHEET:


O mesmo se aplica relativamente s worksheets.
ActiveSheet.Range(A1).Value=1

13.7.4. NVEL DE REFERNCIA A PRIVILEGIAR


Temos aqui representados 7 nveis de codificao:
Aplication.Workbooks(1).Worksheets(1).Range(A1).Value=1
Workbooks(1).Worksheets(1).Range(A1).Value=1
ActiveWorkbook.Worksheets(1).Range(A1).Value=1
Worksheets(1).Range(A1).Value=1
Activesheet.Range(A1).Value=1
Range(A1).Value=1
Range(A1)=1

www.melhordesempenho.com.br sua consultoria online

127

Ento, se existem tantas formas de referenciar uma clula, qual a forma devemos
privilegiar?

O ideal seria escrever na forma completa, mas existem algumas desvantagens:

cdigo muito denso dificuldades em escrever e ler


maior probabilidade de ocorrncia de erros quando no se sabe precisamente
o contexto em que a aplicao vai ser executada perigoso descrever uma path
certinha

14.

MISCELANEOUS

14.1.

A INSTRUO WITH

A instruo With permite abreviar referncias a objetos. No faz sentido utiliz-lo


quando se pretende utilizar s uma propriedade ou mtodo, mas quando pretendemos
utilizar vrios, esta instruo facilita na escrita do cdigo, tornando-o mais limpo e de
fcil entendimento.

14.1.1. APLICAO PRTICA

Rotina para demonstrar o manuseamento de objetos sem a instruo With

14.2.

OUTRAS FUNES TEIS DO VBA

www.melhordesempenho.com.br sua consultoria online

128

Abs

Valor absoluto de um nmero.

CurDir

Diretorio corrente.

Date

Data do sistema.

Exit Do

Interrompe a execuo de uma ciclo Do Loop

Exit For
Exit Function

Interrompe a execuo de um ciclo For Next ou For


Each Next
Provoca a interrupo da execuo de uma funo.

Exit Sub

Provoca a interrupo da execuo de uma sub-rotina.

Fix

Arredonda um nmero decimal positivo para baixo, e


um negativo para cima. Ex 3,9 ->3 e 3,9 -> -3
Formata uma data em 4 possveis formatos

FormatDateTime
Int
Is Array
IsDate

Arredonda para cima um nmero decimal positivo ou


negativo. Ex 3,9 ->4 e 3,9 -> -4
True se a expresso um array. False caso contrrio.

IsEmpty

True se a expresso do tipo Date. False caso


contrrio.
True se nenhum valor foi atribudo varivel.

IsError

True se a expresso contiver um erro.

IsNull

True se a expresso representar o valor NULL.

IsNumeric

True se a expresso for numrica.

IsObjet

True se se tratar de um objeto.

Len

Retorna a dimenso de uma String.

Now

Retorna o valor da data e da hora actual.

Sqr

Retorna a raiz quadrada de um nmero.

Str

Retorna a representao String de um nmero.

StrComp

Realiza a comparao de strings, produzindo True ou


False conforme sejam ou no iguais.

www.melhordesempenho.com.br sua consultoria online

129

Time

Produz a hora actual.

TypeName

Retorna o tipo de dados de uma varivel.

Cint

Converte uma expresso de forma


para um valor de tipo inteiro.
Converte uma expresso de forma
para um valor de tipo booleano.
Converte uma expresso de forma
para um valor de tipo data.
Converte uma expresso de forma
para um valor de tipo Long.
Converte uma expresso de forma
para um valor de tipo String.

Cbool
Cdate
CLng
CStr

www.melhordesempenho.com.br sua consultoria online

numrica ou textual
numrica ou textual
numrica ou textual
numrica ou textual
numrica ou textual

130

Você também pode gostar