Apostila Excel VBA
Apostila Excel VBA
ndice
MACROS................................................................................................................................................ 6
O QUE UMA MACRO? .......................................................................................................................... 7
CRIAR MACROS..................................................................................................................................... 7
Gravar uma Macro ........................................................................................................................... 7
Exerccio ...................................................................................................................................................... 9
Procedimento BackGround do Excel............................................................................................................ 10
Run................................................................................................................................................. 17
Comando no Menu .......................................................................................................................... 18
Associao de uma Macro a um Comando do Menu ..................................................................................... 18
Dissociao................................................................................................................................................. 20
FACULDADE DE ESTATSTICA
UFPA
2 / 137
3 / 137
FACULDADE DE ESTATSTICA
UFPA
4 / 137
OBJETOS SINGULARES VS
COLEES DE OBJETOS .....................................................................114
INDEXAO DE COLEES POR NMERO OU NOME ...............................................................................115
Indexao com Base em Nmeros ..................................................................................................115
Indexao com Base no Nome ........................................................................................................116
Vantagem ................................................................................................................................................. 116
FACULDADE DE ESTATSTICA
UFPA
5 / 137
Macros
FACULDADE DE ESTATSTICA
UFPA
6 / 137
CRIAR MACROS
Existem duas possibilidades de criao de macros:
Atravs do Gravador de Macros
Utilizando o editor e programando em Visual Basic for Applications
FACULDADE DE ESTATSTICA
UFPA
7 / 137
7. Na toolbar Stop Record, existem dois botes: Stop Recording e Relative Reference O
boto de Stop Recording termina a gravao da macro, o boto de Relative Reference
seleciona o modo de gravao da macro se feito com base em referncias relativas
(boto selecionado) ou referncias absolutas.
8. No caso da toolbar Stop Record desaparecer, poder voltar a exibi-la fazendo no menu
a sequncia: View / Toolbars / Stop Record (selecione a toolbar). Caso a toolbar no
aparea listada a gravao de macros no est ativa.
Nota: Tome ateno aos passos que d quando est a gravar pois tudo ser registado, o que
significa que quando for executar a macro, esses procedimentos sero efectuados.
FACULDADE DE ESTATSTICA
UFPA
8 / 137
EXERCCIO
Objetivo: Gravar uma macro testando a diferena entre a execuo de macros com
referncias absolutas e relativas.
1 Fase: Macro com referncias Absolutas
1.
2.
3.
4.
5.
FACULDADE DE ESTATSTICA
UFPA
9 / 137
FACULDADE DE ESTATSTICA
UFPA
10 / 137
2. Para inserir um mdulo faa Insert / Module isto porque as macros que construir
devero ser escritas dentro de um mdulo (repare na Figura 3 que o Module 1 est
selecionado na janela de projeto e do lado direito tem-se uma rea de edio onde
poder-se-o escrever as macros a executar)
FACULDADE DE ESTATSTICA
UFPA
11 / 137
6.5. Para cada membro da classe dispe de um help on-line que o esclarece sobre a
respectiva funo e funcionamento, dando exemplo que poder testar. Para tal basta
clicar sobre o boto de Help da janela do Object Browser.
FACULDADE DE ESTATSTICA
UFPA
12 / 137
FACULDADE DE ESTATSTICA
UFPA
13 / 137
Boto na Toolbar
FACULDADE DE ESTATSTICA
UFPA
14 / 137
4. Na rea respeitante aos Commands sero exibidos dois itens: Custom Menu Item e
Custom Button. Selecione este segundo e arraste-o com o rato at Toolbar onde o
pretende inserir. Ateno s poder inserir o boto quando o ponteiro do rato ficar com a
forma I. Nesse momento libertar o boto do rato utilizado para o arrastamento e
verificar que ser criado um novo boto.
5. Na janela de Customize poder ainda utilizar dois botes que se encontram na rea do
Selected Command:
a) Description que exibe um texto explicando o que o comando selecionado faz.
b) Modify Selection semelhante ao clique sobre o boto criado, exibe uma srie
de tarefas possveis para configurao do boto ( ver operaes seguintes).
FACULDADE DE ESTATSTICA
UFPA
15 / 137
6. Clique sobre o boto Modify Selection- abrindo um menu de tarefas possveis para a
configurao do boto Ver Figura 5
a) No ltimo agrupamento de configuraes possveis existe uma opo designada
por Assign Macro. Esta opo permite indicar qual a macro que dever ser
executada sempre que se clica no boto.
b) No terceiro agrupamento existem 4 estilos diferentes de exibir o boto: s com
texto, com texto e imagem ou somente com imagem. Se selecionar o estilo Texto
e Imagem, ser exibido no boto para alm da imagem o nome associado ao
boto.
c) Na opo Name indique o nome que pretende ver associado ao boto, por default
aparece o nome da macro. (repare que aparece um & atrs da letra que aparece a
sublinhado)
d) Para alterar a imagem associada ao boto poder: optar por uma imagem
diferente, alterar a que est a visualizar ou a construir a sua. Para isso clique
sobre a tarefa de Change Button Image, selecione o logotipo pretendido, se
nenhum o satisfizer e pretender criar o seu selecione o logotipo que representa
um quadrado vazio. Para o poder (re)desenhar a imagem, na lista de tarefas
disponibilizada pelo boto Modify Selection opte por Edit Button Image e crie a
sua imagem que poder reeditar.
FACULDADE DE ESTATSTICA
UFPA
16 / 137
Run
1. Tools / Macro / Macros
2. Na caixa de dilogo Macros seleciona-se a macro pretendida na lista da Macro Name
(Figura 6)
3. Clique sobre o boto Run
FACULDADE DE ESTATSTICA
UFPA
17 / 137
Comando no Menu
18 / 137
Fig.8 Caixa de dilogo para criar um novo menu na barra dos menus
6. Na janela de Customize poder ainda utilizar dois botes que se encontram na rea do
Selected Command:
c) Description que exibe um texto explicando o que o comando selecionado faz.
d) Modify Selection semelhante ao clique sobre o menu ou comando de menu
criado, exibe uma srie de tarefas possveis para configurao (Ver o item 6 do
captulo Associar uma Macro a um Boto)
FACULDADE DE ESTATSTICA
UFPA
19 / 137
DISSOCIAO
1. Tools / Customize
2. Arraste o Menu ou Comando do Menu at ao documento e solte-o
FACULDADE DE ESTATSTICA
UFPA
20 / 137
FACULDADE DE ESTATSTICA
UFPA
21 / 137
REMOVER MACROS
A remoo das macros poder ser feita:
no ambiente Excel, ou
no Editor de VBA
FACULDADE DE ESTATSTICA
UFPA
22 / 137
Editor de Visual
Basic for
Applications
FACULDADE DE ESTATSTICA
UFPA
23 / 137
Para aceder ao editor de Visual Basic for Applications: Tools / Macro / Visual Basic Editor
Encontrar o cran dividido em trs grandes reas: Project Explorer, Properties Window e
do lado direito a janela de edio de texto.
FACULDADE DE ESTATSTICA
UFPA
24 / 137
PROJECT EXPLORER
Se a janela no estiver visvel ative-a atravs do View / Project Explorer ou utilizando o
boto ou combinaes de letras associadas a esta tarefa.
Nesta janela poder visualizar a hierarquia dos projetos de Visual Basic for Applications
ativos nesse momento.
Entre eles dever encontrar um cujo nome corresponde ao nome do WorkBook do Excel
com que est a trabalhar. E.g. VBAProject (Book1). dentro deste projeto que dever
trabalhar para que todas as funcionalidades que implemente estejam nele ativas sempre que
necessrio.
FACULDADE DE ESTATSTICA
UFPA
25 / 137
FACULDADE DE ESTATSTICA
UFPA
26 / 137
PROPERTIES WINDOW
Se a janela das propriedades no estiver visvel ative-a atravs do View / Properties
Window ou utilizando o boto ou combinaes de letras associadas a esta tarefa.
Nesta janela poder visualizar e alterar as propriedades que definem cada objeto: o nome neste caso.
FACULDADE DE ESTATSTICA
UFPA
27 / 137
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.
FACULDADE DE ESTATSTICA
UFPA
28 / 137
OBJECT BROWSER
No Editor de Visual Basic for Applications poder encontrar ajuda para o desenvolvimento
do seu procedimento. Assim:
Clique no cone do Object Browser ou View/Object Browser ou F2
Na Caixa de Drop-Down onde aparece referido <All Libraries>, selecione a aplicao
para a qual pretende ajuda neste caso Excel. Convm referir que poder utilizar as
funes de toda e qualquer aplicao.
Na rea intitulada por Classes aparecem todos os objetos especficos para o
manuseamento da aplicao selecionada. A classe especial designada por Globals
refere-se s funes que esto disponveis na aplicao independentemente dos objetos
selecionados.
Selecione um dos objetos e visualize do lado direito os Members of <Elemento
selecionado>
Para cada membro da classe dispe de um help on-line que o esclarece sobre a
respectiva funo e funcionamento, dando um exemplo que poder testar. Para tal basta
clicar sobre o boto de Help da janela do Object Browser.
HELP ON-LINE
O Editor de Visual Basic for Applications, disponibiliza ao utilizador um sistema de ajuda
constante. Assim, quando se constroiem procedimentos, na janela de edio, medida que
a linguagem escrita o editor abre oportunamente listas de opes para ajudar a escrever o
cdigo.
FACULDADE DE ESTATSTICA
UFPA
29 / 137
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 significado diferente.
Cor
Significado
Azul
Vermelho
Preto
Verde
Amarelo
FACULDADE DE ESTATSTICA
UFPA
30 / 137
Funes e
SubRotinas
FACULDADE DE ESTATSTICA
UFPA
31 / 137
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
as funes.
Entenda-se instruo como uma tarefa a executar que corresponde a uma linha de cdigo.
FACULDADE DE ESTATSTICA
UFPA
32 / 137
SUBROTINAS
Definio de SubRotinas
As SubRotinas so aquelas cuja definio delimitada pelas palavras-chave Sub e EndSub.
Assim se reparar todas as macros que grava 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 nome 2 que lhe atribumos e no recebem parmetros3
do exterior, tm como funo desempenhar um conjunto de tarefas que compem o seu
corpo. O corpo da macro, assim composto por um conjunto de instrues, sendo que cada
instruo diferente necessita de estar numa linha diferente. Contudo, quando se trata de
instrues demasiado grandes o editor faz a sua partio por diversas linhas, recorrendo ao
operador _, por forma a facilitar a leitura.
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 virgulas.
FACULDADE DE ESTATSTICA
UFPA
33 / 137
Assim dever indicar o tipo de rotina a criar Sub e o nome que pretende dar
macro (ou rotina ou procedimento ou SubRotina) 4. Automaticamente ele criar a
estrutura da rotina, neste caso ficaria:
Sub Macro1( )
End Sub
FACULDADE DE ESTATSTICA
UFPA
34 / 137
FUNES
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 utiliza no Excel so deste tipo de rotina. A
sua definio tem a estrutura seguinte:
Function <Nome da Funo> ( <parametro1>, <parametro2>,)
End Function
A funo identificada pelo nome, pelo nmero e tipo de parmetros recebidos, e tem
como objetivo executar um conjunto de instrues e produzir um valor final. Isto , sempre
que se pretender executar uma funo sabido priori que ela produzir um valor.
Recorde-se como exemplo a funo SUM, esta recebe por parmetro um conjunto de
valores que se pretendem somar, sabe-se que o resultado da aplicao dessa funo ao
conjunto de valores ser o respectivo somatrio.
Para definir o valor produzido por uma funo basta no seu interior, atribuir ao nome da
funo um determinado valor ou expresso.
FACULDADE DE ESTATSTICA
UFPA
35 / 137
End Function
Nota: Se os tipos no forem definidos ser assumido por default como sendo do tipo
Variant
FACULDADE DE ESTATSTICA
UFPA
36 / 137
Nesta caixa de dilogo dever indicar o tipo de rotina a criar Function e o nome
que pretende dar funo. Automaticamente o Visual Basic for Applications criar
a estrutura da rotina, que neste caso ficaria:
Function IVA( )
End Function
FACULDADE DE ESTATSTICA
UFPA
37 / 137
Com base na seguinte funo, analisemos as formas de execuo com mais pormenor:
FACULDADE DE ESTATSTICA
UFPA
38 / 137
FACULDADE DE ESTATSTICA
UFPA
39 / 137
Em suma:
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>)
FACULDADE DE ESTATSTICA
UFPA
40 / 137
FACULDADE DE ESTATSTICA
UFPA
41 / 137
FACULDADE DE ESTATSTICA
UFPA
42 / 137
FACULDADE DE ESTATSTICA
UFPA
43 / 137
Variveis
44 / 137
O que so variveis?
As variveis constituem repositrios temporrios de dados, podendo ser utilizadas para
diversos fins.
FACULDADE DE ESTATSTICA
UFPA
45 / 137
FACULDADE DE ESTATSTICA
UFPA
46 / 137
TIPOS DE VARIVEIS
O tipo de varivel est associado ao gnero de informao que esta tem hiptese de
armazenar
Boolean 2 bytes Permite armazenar valores Boolenaos True ou False
Byte 1 Byte permite armazenar nmeros sem sinal entre 0 e 255
Currency - 8 bytes permite armazenar moeda
Date 8 Bytes permite armazenar datas
Double 8 bytes 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.
Single 4 bytes 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
Integer 2 bytes - permite armazenar nmeros inteiros entre -32.768 e 32767
Long 4 bytes permite armazenar nmeros inteiros entre -2 147 483 648 e
2 147 483 648
Object 4 bytes utilizado para fazer referncia a um objeto do Excel
String 1 byte por caractere permite armazenar conjuntos de caracteres
Variant 16 bytes - permite armazenar qualquer tipo de dados
User-Defined permite armazenar valores de tipos diferentes
FACULDADE DE ESTATSTICA
UFPA
47 / 137
DECLARAO DE VARIVEIS
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
FACULDADE DE ESTATSTICA
UFPA
48 / 137
Onde:
Set palavra chave que indica a assignao de uma varivel objeto
<Var_Objeto> - Varivel Objeto
= - Operador de assignao
<Objeto> - Objeto a ser atribudo varivel
FACULDADE DE ESTATSTICA
UFPA
49 / 137
Exemplo:
Dim Range_1 as Range
Range_1 = Worksheet(1).Range(A1)
Range_1.Value = 10
FACULDADE DE ESTATSTICA
UFPA
50 / 137
FACULDADE DE ESTATSTICA
UFPA
51 / 137
PRS
CONTRAS
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.
FACULDADE DE ESTATSTICA
UFPA
52 / 137
Tools/Options
Editor Tab
Ativar Require Variable Declaration
FACULDADE DE ESTATSTICA
UFPA
53 / 137
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.
Onde:
Type
Dados_Pessoais
Nome As String
Idade As Integer
DataNascimento As Date
BI As Long
End Type
FACULDADE DE ESTATSTICA
UFPA
54 / 137
FACULDADE DE ESTATSTICA
UFPA
55 / 137
VARIVEIS ARRAYS
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.
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.
FACULDADE DE ESTATSTICA
UFPA
56 / 137
ARRAY BI-DIMENSIONAL
0
2
0
1
2
3
FACULDADE DE ESTATSTICA
UFPA
57 / 137
Declarao de um array
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.
ARRAYS BI-DIMENSIONAIS
Dim Tabela_Textual (5, 4 ) As String
Tabela_textual o nome da varivel, os nmero entre parntesis indicam que a tabela ir ter
5 linhas e 4 colunas, podendo assim armazenar 20 elementos do tipo String.
Tabela_Textual
0
2
0
1
2
3
FACULDADE DE ESTATSTICA
UFPA
58 / 137
Utilizao de um Array
ATRIBUIO DE VALORES
<Nome_do_Array>(<Indice1_do_Elemento>[,<Indice2_do_Elemento>, ]) = <Valor>
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
0
1
2
FACULDADE DE ESTATSTICA
UFPA
59 / 137
Exemplo 2:
Option Base 1
Sub Utilizacao_Array()
Dim Lotaria(3) As Integer
Lotaria(1)=int(10000*Rnd())
Lotaria(2)=int(10000*Rnd())
Lotaria(3)=int(10000*Rnd())
MsgBox Nmeros da lotaria: & Lotaria(1) & , & Lotaria(2) & , &_
Lotaria(3)
End Sub
Exemplo:
Sub Utilizacao_Array()
Dim Lotaria(4 To 5) As Integer
Lotaria(4)=int(10000*Rnd())
Lotaria(5)=int(10000*Rnd())
MsgBox Nmeros da lotaria: & Lotaria(4) & , & Lotaria(5)
End Sub
FACULDADE DE ESTATSTICA
UFPA
60 / 137
Constantes
FACULDADE DE ESTATSTICA
UFPA
61 / 137
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>
FACULDADE DE ESTATSTICA
UFPA
62 / 137
InputBox e
MsgBox
FACULDADE DE ESTATSTICA
UFPA
63 / 137
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.
INPUTBOX
O que faz
1. Exibe no cran 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.
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 default.
Parmetros
Parmetro
FACULDADE DE ESTATSTICA
UFPA
Comentrio
64 / 137
Prompt
(Obrigatrio )
Title
(Facultativo)
Default
(Facultativo)
Xpos
(Facultativo)
Ypos
(Facultativo)
HelpFile
(Facultativo)
Context
(Facultativo)
FACULDADE DE ESTATSTICA
UFPA
65 / 137
MSGBOX
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.
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 default.
FACULDADE DE ESTATSTICA
UFPA
66 / 137
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)
Exemplo:
"A Soma de 3 com 5 :" & Chr(13) & " 8 "
Buttons
(Facultativo)
Title
(Facultativo)
HelpFile
(Facultativo)
Context
(Facultativo)
Exemplo:
FACULDADE DE ESTATSTICA
UFPA
67 / 137
Constante de VBA
Valor
VbOKOnly
VbOKCancel
VbAbortRetryIgnore
VbYesNoCancel
VbYesNo
VbRetryCancel
VbCritical
VbQuestion
VbExclamation
VbInformation
VbDefaultButton1
VbDefaultButton2
VbDefaultButton3
VbDefaultButton4
VbApplicationModal
0
1
2
3
4
5
16
32
48
64
0
256
512
768
0
VbSystemModal
4096
Descrio
Exibe somente o boto de OK.
Exibe os botes OK e Cancel.
Exibe os botes Abort, Retry, e Ignore.
Exibe os botes Yes, No, e Cancel .
Exibe os botes Yes e No.
Exibe os botes Retry e Cancel.
Exibe o cone de Critical Message.
Exibe o cone de Warning Query.
Exibe o cone de Warning Message.
Exibe o cone de Information Message.
O primeiro boto o selecionado por default.
O segundo boto o selecionado por default.
O terceiro boto o selecionado por default.
O quarto boto o selecionado por default.
Application modal o utilizador s depois de responder
MsgBox que poder dar continuidade ao trabalho na
aplicao corrente.
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 default (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:
FACULDADE DE ESTATSTICA
UFPA
68 / 137
Para a instruo:
MsgBox "Erro de Sintaxe!!!", 2 + 48 + 512 + 4096, "Mensagem de Erro"
Figura 24 MsgBox
Para a instruo:
MsgBox "Erro de Sintaxe!!!", 5 + 64 + 256 + 4096, "Mensagem de Erro"
exibida a seguinte janela:
Figura 25 MsgBox
FACULDADE DE ESTATSTICA
UFPA
69 / 137
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
vbOK
vbCancel
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
FACULDADE DE ESTATSTICA
UFPA
Valor
Boto Acionado
1
2
3
4
5
6
7
OK
Cancel
Abort
Retry
Ignore
Yes
No
70 / 137
Domnio das
variveis,
constantes e
rotinas
FACULDADE DE ESTATSTICA
UFPA
71 / 137
O QUE O DOMINIO?
Scope ou domnio de um elemento refere-se rea na aplicao na qual esse mesmo
elemento pode ser acedvel e utilizado, ou seja onde que o elemento reconhecido.
FACULDADE DE ESTATSTICA
UFPA
72 / 137
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 seio 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
Ambito_Procedimento_2
End Sub
Sub Ambito_Procedimento_2()
MsgBox Foi este o nmero que introduziu: & Var_1
End Sub
FACULDADE DE ESTATSTICA
UFPA
73 / 137
mbito do Mdulo
Uma varivel como mbito do Mdulo pode ser acedida 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 default, para tornar esse fato mais explicito
poder-se- utilizar a palavra chave Private na declarao:
Ex:
Private Var_2 As String
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.
FACULDADE DE ESTATSTICA
UFPA
74 / 137
mbito do Projeto
As variveis assim definidas tm o mbito correspondente a todo o projeto, isto podem
ser acedidas 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 Module_1 tem-se:
Public Var_1 As Integer
Sub Ambito_Projeto()
Var_1 = InputBox (Introduza um nmero Inteiro)
Ambito_Projeto _2
End Sub
No Module_2 tem-se:
Sub Ambito_Projeto _2()
MsgBox Foi este o nmero que introduziu: & Var_1
End Sub
FACULDADE DE ESTATSTICA
UFPA
75 / 137
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
FACULDADE DE ESTATSTICA
UFPA
76 / 137
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 default, para tornar esse fato mais explcito
poder se utilizar a palavra chave Private na declarao:
Ex:
Private Const Const_1 As String
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.
Ex:
Public Const Const_1 As String
FACULDADE DE ESTATSTICA
UFPA
77 / 137
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
Para que uma rotina tenha o mbito do mdulo onde est definida, dever ser antecedida
pela palavra chave Private.
FACULDADE DE ESTATSTICA
UFPA
78 / 137
Estruturas de
Controle
FACULDADE DE ESTATSTICA
UFPA
79 / 137
QUAIS AS ESTRUTURAS
VBA Control
If -Then - Else
For Next
While-Wend
Do Loop
Select - Case
FACULDADE DE ESTATSTICA
UFPA
80 / 137
IF-THEN-ELSE
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.
FACULDADE DE ESTATSTICA
UFPA
81 / 137
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.
FACULDADE DE ESTATSTICA
UFPA
82 / 137
If
Nsorteio = NAposta
Then
FACULDADE DE ESTATSTICA
UFPA
83 / 137
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
Dos 3 aos 12
Dos 13 aos 17
Dos 18 aos 25
Dos 26 aos 65
Mais de 65
Beb
Criana
Adolescente
Jovem
Adulto
Idoso
FACULDADE DE ESTATSTICA
UFPA
84 / 137
FOR NEXT
Permite a execuo de uma tarefa durante um determinado nmero de vezes.
Sintaxe
For <Inicializao do Contador> To <Valor > [ Step <Valor a Incrementar>]
<Instrues a realizar em cada iterao>
Next
Aplicao Prtica
Pretende-se criar uma rotina que recebendo a base e a potncia calcule o valor respectivo.
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.
FACULDADE DE ESTATSTICA
UFPA
85 / 137
Resultado
Funo
Elemento a elevar.
Nmero de vezes a multiplicar a base.
Conta o nmero de vezes que a base j foi multiplicada, uma
varivel que ser automaticamente incrementada em cada looping do
ciclo.
Varivel que armazena o resultado sucessivo por cada vez que se
multiplica.
CONSTRUO DO CICLO:
For
Resultado = Resultado *
Base
Next
FACULDADE DE ESTATSTICA
UFPA
86 / 137
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.
Funcionamento do Ciclo:
A primeira execuo do ciclo distingue-se das restantes por a ela estar associada a
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.
FACULDADE DE ESTATSTICA
UFPA
87 / 137
Outra Aplicao
Pretende-se criar uma rotina para calcular um fatorial.
FACULDADE DE ESTATSTICA
UFPA
88 / 137
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.
Sintaxe
While <Condio>
<Instrues a realizar em cada iterao>
Wend
Aplicao Prtica
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.
FACULDADE DE ESTATSTICA
UFPA
89 / 137
Funo
Num_Lotaria
Aposta
Num_Lanc
CONSTRUO DO CICLO:
While
Num_Lanc = Num_Lanc +1
Beep
Wend
FACULDADE DE ESTATSTICA
UFPA
90 / 137
TRADUO INTEGRAL
While Num_Lotaria <> Aposta
Num_Lotaria = 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.
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 palavra-chave
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.
FACULDADE DE ESTATSTICA
UFPA
91 / 137
Outra Aplicao
Pretende-se realizar um jogo de geografia. Tente compreender o seu funcionamento.
FACULDADE DE ESTATSTICA
UFPA
92 / 137
DO LOOP
Esta estrutura similar estrutura do While-Wend. Contudo fornece duas possibilidades
que esto limitadas quela estrutura:
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)
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>]
Aplicaes Prticas
Utilizando a condio teste no inicio do Loop e com a palavra While
FACULDADE DE ESTATSTICA
UFPA
93 / 137
FACULDADE DE ESTATSTICA
UFPA
94 / 137
FACULDADE DE ESTATSTICA
UFPA
95 / 137
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.
Sintaxe
Select Case <Expresso a ser avaliada>
[Case <Valor da Expresso> [Instrues a realizar]]
...[Case Else [Instrues a realizar na situao residual]]
End Select
Aplicao Prtica
Recordem o processo resolvido com recurso a If Then Else ElseIf (figura 23)
FACULDADE DE ESTATSTICA
UFPA
96 / 137
CONSTRUO DA ESTRUTURA
FACULDADE DE ESTATSTICA
UFPA
97 / 137
Idade
Case Is<3 ou
Case Is<=12 ou
Case Is<=17 ou
Case Is<=25 ou
Case Is<=65 ou
Case Else
End Select
FACULDADE DE ESTATSTICA
UFPA
98 / 137
Sintaxe
For Each <Varivel do tipo dos elementos do grupo> In <Grupo>
<Instrues a realizar para cada elemento do grupo>
Next
Aplicaes Prticas
FACULDADE DE ESTATSTICA
UFPA
99 / 137
UTILIZANDO ARRAYS
Pretende-se inicializar um array com um conjunto de 5 pases e posteriormente visualizar
os elementos introduzidos.
Repare que o exemplo, poder estar conceptualmente 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:
FACULDADE DE ESTATSTICA
UFPA
100 / 137
Construo do Ciclo
For Each
Pais
In
Array_Pais
MsgBox Pais
Next
FACULDADE DE ESTATSTICA
UFPA
101 / 137
FACULDADE DE ESTATSTICA
UFPA
102 / 137
Colees de
Objetos e Objetos
FACULDADE DE ESTATSTICA
UFPA
103 / 137
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,
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.
FACULDADE DE ESTATSTICA
UFPA
104 / 137
Eventos
Eventos ou acontecimentos, representam todas as atividades que envolvam o objeto e que
normalmente direta ou indiretamente so despoletadas pelo utilizador. Por exemplo: abrir
ou fechar um workbook, clicar sobre um boto ou worksheet, alterar o contedo de um
elemento,
Estes eventos servem para que possamos ativar uma determinada tarefa quando 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 Project 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.
FACULDADE DE ESTATSTICA
UFPA
105 / 137
Application
Application o objeto de topo hierrquico, representa o prprio Excel.
PROPRIEDADES
Propriedades
Caption
DisplayAlerts
Path
ScreenUpdating
WindoWorkSheetState
DisplayStatusBar
DisplayFormulaBar
FACULDADE DE ESTATSTICA
UFPA
106 / 137
MTODOS
Mtodos
Calculate
Help
Quit
Run
FACULDADE DE ESTATSTICA
UFPA
107 / 137
WorkBook
O Objeto WorkBook, na hierarquia de objetos segue de imediato o objeto application e
representa um ficheiro de Excel.
PROPRIEDADES
Propriedades
Name
Path
Saved
FACULDADE DE ESTATSTICA
UFPA
108 / 137
MTODOS
Mtodos
Ativate
Close
Fecha um documento.
Argumentos:
SaveChanges se True, o documento gravado antes de ser
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
Save
Grava o WorkBook.
Argumentos: No Tem
SaveCopyAs
FACULDADE DE ESTATSTICA
UFPA
109 / 137
WorkSheet
Na hierarquia situa-se abaixo do objeto WorkBook, uma vez que um WorkBook
constitudo por um conjunto de WorkSheets.
PROPRIEDADES
Propriedades
Index
Name
Nome da WorkSheet.
UsedRange
Visible
FACULDADE DE ESTATSTICA
UFPA
110 / 137
MTODOS
Mtodos
Ativate
Calculate
Delete
Protect
Cell
FACULDADE DE ESTATSTICA
UFPA
111 / 137
Range
Objeto utilizado para representar uma ou mais clulas de uma WorkSheet.
PROPRIEDADES
Propriedades
Count
Dependents
Name
Value
Formula
Text
FACULDADE DE ESTATSTICA
UFPA
112 / 137
MTODOS
Mtodos
Calculate
ClearContents
Copy
OffSet
EntireRow
Select
Cell
FACULDADE DE ESTATSTICA
UFPA
113 / 137
OBJETOS SINGULARES VS
DE OBJETOS
COLEES
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.
FACULDADE DE ESTATSTICA
UFPA
114 / 137
Perante uma coleo de objetos necessrio identificar cada um dos diferentes itens que a
compem para que a eles seja possvel aceder.
Por analogia poder-se- mencionar o exemplo do array, este uma varivel plural, dado
que composto por um conjunto de variveis. Quando se pretende aceder a uma posio do
array utiliza-se o nome do array e o ndice da posio requerida.
Assim, a indexao de colees pode ser realizada com base:
em nmeros ou
em nomes.
Exemplo:
WorkSheets(3).Name=Terceiro
FACULDADE DE ESTATSTICA
UFPA
115 / 137
Exemplo:
WorkSheets(Sheet3).Name=Terceiro
VANTAGEM
No necessrio saber a ordem pela qual foi inserido na coleo
DESVANTAGEM
Alterao do nome da sheet provoca erros
Exemplo:
WorkSheets(Sheet3).Name=Terceiro
WorkSheets(Sheet3).Visible=False o objeto no reconhecido
FACULDADE DE ESTATSTICA
UFPA
116 / 137
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.
FACULDADE DE ESTATSTICA
UFPA
117 / 137
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.
Workbooks(1).Worksheets(1).Range(A1).Value=1
FACULDADE DE ESTATSTICA
UFPA
118 / 137
AtiveWorkbook.Worksheets(1).Range(A1).Value=1
Worksheets(1).Range(A1).Value=1
AtiveSheet.Range(A1).Value=1
Range(A1).Value=1
FACULDADE DE ESTATSTICA
UFPA
119 / 137
Aplication.Workbooks(1).Worksheets(1).Range(A1).Value=1
Workbooks(1).Worksheets(1).Range(A1).Value=1
AtiveWorkbook.Worksheets(1).Range(A1).Value=1
Worksheets(1).Range(A1).Value=1
Ativesheet.Range(A1).Value=1
Range(A1).Value=1
Range(A1)=1
FACULDADE DE ESTATSTICA
UFPA
120 / 137
Miscellaneous
FACULDADE DE ESTATSTICA
UFPA
121 / 137
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
bastantes.
Aplicao Prtica
Ou Ento:
FACULDADE DE ESTATSTICA
UFPA
122 / 137
FACULDADE DE ESTATSTICA
UFPA
123 / 137
Application.WorksheetFunction.VLOOKUP(param1,param2,param3,param4)
Um uso: MsgBox Application.WorksheetFunction.VLookup(1, Range("a1:n8"), 2, False)
FACULDADE DE ESTATSTICA
UFPA
124 / 137
VBA
DCOUNT
DCOUNTA
DSTDEVP
DSTDEV
DGET
DMAX
DAVERAGE
DMIN
DPRODUCT
DSUM
DVAR
DVARP
GETPIVOTDATA
NOW
YEAR
DATE
PROPER
DATEVALUE
DAY
WEEKDAY
DAYS360
EDATE
EOMONTH
YEARFRAC
TODAY
HOUR
MONTH
MINUTE
WORKDAY
SECOND
TIME
EXCEL
BDCONTAR
BDCONTARA
BDDESVPA
BDEST
BDEXTRAIR
BDMX
BDMDIA
BDMN
BDMULTIPL
BDSOMA
BDVAREST
BDVARP
INFODADOSTABELADINMICA
AGORA
ANO
DATA
PRI.MAISCULA
DATA.VALOR
DIA
DIA.DA.SEMANA
DIAS360
EDATE
EOMONTH
FRAOANO
HOJE
HORA
MS
MINUTO
DIATRABALHO
SEGUNDO
TEMPO
DESCRIO
Conta as clulas que contm nmeros em um banco de dados
Conta clulas no vazias em um banco de dados
Calcula o desvio padro com base na populao inteira de entradas selecionadas de um banco de dados
Estima o desvio padro com base em uma amostra de entradas selecionadas de um banco de dados
Extrai de um banco de dados um nico registro que corresponde a um critrio especfico
Retorna o valor mximo de entradas selecionadas de um banco de dados
Retorna a mdia de entradas selecionadas de um banco de dados
Retorna o valor mnimo de entradas selecionadas de um banco de dados
Multiplica os valores em um campo especfico de registros que correspondem ao critrio em um banco de dados
Adiciona os nmeros na coluna de campos de registros do banco de dados que correspondem ao critrio
Estima a varincia com base em uma amostra de entradas selecionadas de um banco de dados
Calcula a varincia com base na populao inteira de entradas selecionadas de um banco de dados
Retorna os dados armazenados em uma tabela dinmica
Retorna o nmero de srie da data e da hora atuais
Converte um nmero de srie em um ano
Retorna o nmero de srie de uma data especfica
Primeira letra de cada palavra em maiscula
Converte uma data na forma de texto para um nmero de srie
Converte um nmero de srie em um dia do ms
Converte um nmero de srie em um dia da semana
Calcula o nmero de dias entre duas datas com base em um ano de 360 dias
Retorna o nmero de srie da data que o nmero indicado de meses antes ou depois da data inicial
Retorna o nmero de srie do ltimo dia do ms antes ou depois de um nmero especificado de meses
Retorna a frao do ano que representa o nmero de dias entre data_inicial e data_final
Retorna o nmero de srie da data de hoje
Converte um nmero de srie em uma hora
Converte um nmero de srie em um ms
Converte um nmero de srie em um minuto
Retorna o nmero de dias teis inteiros entre duas datas
Converte um nmero de srie em um segundo
Retorna o nmero de srie de um horrio especfico
TIMEVALUE
NETWORKDAYS
BESSELI
BESSELJ
BESSELK
BESSELY
BIN2DEC
BIN2HEX
BIN2OCT
COMPLEX
CONVERT
DEC2BIN
DEC2HEX
DEC2OCT
DELTA
ERF
ERFC
GESTEP
HEX2BIN
HEX2DEC
HEX2OCT
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
VALOR.TEMPO
DIATRABALHOTOTAL
BESSELI
BESSELJ
BESSELK
BESSELY
BIN2DEC
BIN2HEX
BIN2OCT
COMPLEX
CONVERT
DEC2BIN
DEC2HEX
DEC2OCT
DELTA
ERF
ERFC
GESTEP
HEX2BIN
HEX2DEC
HEX2OCT
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
FACULDADE DE ESTATSTICA
UFPA
126 / 137
IMPRODUCT
IMREAL
IMSIN
IMSQRT
IMSUB
IMSUM
OCT2BIN
OCT2DEC
OCT2HEX
BETAINV
COUNT
COUNTA
CORREL
COVAR
GROWTH
CRITBINOM
KURT
AVEDEV
STDEV
STDEVA
STDEVP
STDEVPA
DEVSQ
NEGBINOMDIST
HYPGEOMDIST
LOGNORMDIST
NORMDIST
NORMSDIST
CHIDIST
BETADIST
EXPONDIST
FDIST
IMPRODUCT
IMREAL
IMSIN
IMSQRT
IMSUB
IMSUM
OCT2BIN
OCT2DEC
OCT2HEX
BETA.ACUM.INV
CONT.NM
CONT.VALORES
CORREL
COVAR
CRESCIMENTO
CRIT.BINOM
CURT
DESV.MDIO
DESVPAD
DESVPADA
DESVPADP
DESVPADPA
DESVQ
DIST.BIN.NEG
DIST.HIPERGEOM
DIST.LOGNORMAL
DIST.NORM
DIST.NORMP
DIST.QUI
DISTBETA
DISTEXPON
DISTF
FACULDADE DE ESTATSTICA
UFPA
127 / 137
GAMMADIST
SKEW
BINOMDIST
STEYX
FISHER
FISHERINV
FREQUENCY
SLOPE
CONFIDENCE
INTERCEPT
NORMINV
NORMSINV
CHIINV
FINV
GAMMAINV
LOGINV
TINV
GAMMALN
LARGE
MAX
MAXA
MEDIAN
AVERAGE
GEOMEAN
HARMEAN
TRIMMEAN
AVERAGEA
SMALL
MIN
MINA
MODE
RANK
DISTGAMA
DISTORO
DISTRBINOM
EPADYX
FISHER
FISHERINV
FREQNCIA
INCLINAO
INT.CONFIANA
INTERCEPO
INV.NORM
INV.NORMP
INV.QUI
INVF
INVGAMA
INVLOG
INVT
LNGAMA
MAIOR
MXIMO
MXIMOA
MED
MDIA
MDIA.GEOMTRICA
MDIA.HARMNICA
MDIA.INTERNA
MDIAA
MENOR
MNIMO
MNIMOA
MODO
ORDEM
FACULDADE DE ESTATSTICA
UFPA
128 / 137
PERCENTRANK
STANDARDIZE
PEARSON
PERMUT
POISSON
FORECAST
PROB
LINEST
LOGEST
QUARTILE
RSQ
TREND
CHITEST
FTEST
TTEST
ZTEST
VAR
VARA
VARP
VARPA
WEIBULL
PERCENTILE
ACCRINT
ACCRINTM
AMORDEGRC
AMORLINC
DB
ORDEM.PORCENTUAL
PADRONIZAR
PEARSON
PERMUT
POISSON
PREVISO
PROB
PROJ.LIN
PROJ.LOG
QUARTIL
RQUAD
TENDNCIA
TEST.QUI
TESTEF
TESTET
TESTEZ
VAR
VARA
VARP
VARPA
WEIBULL
PERCENTIL
ACCRINT
ACCRINTM
AMORDEGRC
AMORLINC
BD
DDB
BDD
VDB
COUPDAYBS
BDV
COUPDAYBS
FACULDADE DE ESTATSTICA
UFPA
129 / 137
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
CUMIPMT
CUMPRINC
DOLLARDE
DOLLARFR
SLN
DURATION
EFFECT
FVSCHEDULE
INTRATE
IPMT
MDURATION
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
CUMIPMT
CUMPRINC
DOLLARDE
DOLLARFR
DPD
DURAO
EFFECT
FVSCHEDULE
INTRATE
IPGTO
MDURATION
MIRR
NOMINAL
NPER
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
PMT
PPMT
PRICE
PRICEDISC
PRICEMAT
RECEIVED
SYD
RATE
MTIR
NOMINAL
NPER
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
PGTO
PPGTO
PRICE
PRICEDISC
PRICEMAT
RECEIVED
SDA
TAXA
FACULDADE DE ESTATSTICA
UFPA
130 / 137
TBILLEQ
TBILLPRICE
TBILLYIELD
IRR
FV
PV
TBILLEQ
TBILLPRICE
TBILLYIELD
TIR
VF
VP
NPV
XIRR
XNPV
YIELD
YIELDDISC
YIELDMAT
CELL
ISNA
ISNONTEXT
ISBLANK
ISERR
ISERROR
ISODD
ISLOGICAL
ISNUMBER
ISEVEN
ISREF
ISTEXT
COUNTBLANK
INFO
N
NA
TYPE
ERROR.TYPE
AND
VPL
XIRR
XNPV
YIELD
YIELDDISC
YIELDMAT
CL
.NO.DISP
.NO.TEXTO
CL.VAZIA
ERRO
ERROS
IMPAR
LGICO
NM
PAR
REF
TEXTO
CONTAR.VAZIO
INFORMAO
N
NO.DISP
TIPO
TIPO.ERRO
E
FACULDADE DE ESTATSTICA
UFPA
131 / 137
OR
IF
FALSO
VERDADEIRO
NOT
ABS
ACOS
ACOSH
RAND
ROUND
FLOOR
ROUNDDOWN
ROUNDUP
ASIN
ASINH
ATAN
ATAN2
ATANH
COMBIN
COUNTIF
COS
COSH
EXP
FACTDOUBLE
FACT
GCD
DEGREES
ODD
INT
LCM
LN
LOG
OU
SE
FALSO
VERDADEIRO
NO
ABS
ACOS
ACOSH
ALEATRIO
ARRED
ARREDMULTB
ARREDONDAR.PARA.BAIXO
ARREDONDAR.PARA.CIMA
ASEN
ASENH
ATAN
ATAN2
ATANH
COMBIN
CONT.SE
COS
COSH
EXP
FACTDOUBLE
FATORIAL
GCD
GRAUS
MPAR
INT
LCM
LN
LOG
FACULDADE DE ESTATSTICA
UFPA
132 / 137
LOG10
MDETERM
MINVERSE
MMULT
MROUND
PRODUCT
MULTINOMIAL
EVEN
PI
POWER
QUOTIENT
RADIANS
SQRT
RANDBETWEEN
ROMAN
SIN
SINH
SERIESSUM
SIGN
SUM
SUMSQ
SUMPRODUCT
SUMIF
SUMX2MY2
SUMX2PY2
SUMXMY2
SQRTPI
SUBTOTAL
TAN
TANH
CEILING
TRUNC
LOG10
MATRIZ.DETERM
MATRIZ.INVERSO
MATRIZ.MULT
MROUND
MULT
MULTINOMIAL
PAR
PI
POTNCIA
QUOTIENT
RADIANOS
RAIZ
RANDBETWEEN
ROMANO
SEM
SENH
SERIESSUM
SINAL
SOMA
SOMAQUAD
SOMARPRODUTO
SOMASE
SOMAX2DY2
SOMAX2SY2
SOMAXMY2
SQRTPI
SUBTOTAL
TAN
TANH
TETO
TRUNCAR
FACULDADE DE ESTATSTICA
UFPA
133 / 137
AREAS
COLUMN
COLUMNS
MATCH
OFFSET
ADDRESS
CHOOSE
REAS
COL
COLS
CORRESP
DESLOC
ENDEREO
ESCOLHER
HYPERLINK
INDEX
INDIRECT
ROW
ROWS
LOOKUP
HLOOKUP
VLOOKUP
TRANSPOSE
TRIM
CHAR
CODE
CONCATENATE
FIXED
RIGHT
LEFT
EXACT
MID
SEARCH
UPPER
LOWER
REPLACE
LEN
PROPER
HYPERLINK
NDICE
INDIRETO
LIN
LINS
PROC
PROCH
PROCV
TRANSPOR
ARRUMAR
CARACT
CDIGO
CONCATENAR
DEF.NM.DEC
DIREITA
ESQUERDA
EXATO
EXT.TEXTO
LOCALIZAR
MAISCULA
MINSCULA
MUDAR
NM.CARACT
PHONETIC
FACULDADE DE ESTATSTICA
UFPA
134 / 137
FIND
REPT
SUBSTITUTE
T
TEXT
CLEAN
VALUE
PROCURAR
REPT
SUBSTITUIR
T
TEXTO
TIRAR
VALOR
FACULDADE DE ESTATSTICA
UFPA
135 / 137
FACULDADE DE ESTATSTICA
UFPA
136 / 137