Microsoft Excel – Estudo Avançado

Prefacio
O Microsoft Excel sem sombra de dúvidas é o aplicativo de processamento de dados em planilha mais utilizado no mercado assim como o mais completo software para este fim encontrado atualmente. Os recursos disponibilizados pelo Excel permitem o desenvolvimento de simples planilhas de cálculos até complexos sistemas de informações. O objetivo deste livro é direcionar a utilização deste software a recursos avançados e muitas vezes poucos explorados do Excel. O conteúdo apresentado neste título pode ser utilizado seqüencialmente para fins de auto-estudo e revisão, ou como apoio às aulas de Excel Avançado ministradas na CST-Arcelor. O conteúdo está separado por capítulos e tópicos com ilustrações e procedimentos passo-a-passo em várias situações.

Página 2 de 219

Microsoft Excel – Estudo Avançado

Notações

  

Dica Dica sobre determinada funcionalidade ou recurso.

Informação Informação complementar a respeito do recurso ou softwares relacionados. Definição resumida de terminado recurso.

Cuidado! Procedimentos delicados que podem afetar negativamente seu trabalho.

Página 3 de 219

Microsoft Excel – Estudo Avançado

Sumário
Prefacio................................................................................................................... 2 Notações................................................................................................................. 3 Sumário................................................................................................................... 4 Capítulo 1 Utilizando a ajuda do Excel .......................................................... 10 1.1 Assistente ............................................................................................... 10 1.1.1 Desabilitando o assistente do Office................................................ 10 1.2 Solicitando a ajuda.................................................................................. 12 1.3 Acessando a ajuda do Excel................................................................... 13 1.3.1 Conteúdo ......................................................................................... 13 1.3.2 Assistente de resposta .................................................................... 13 1.3.3 Índice ............................................................................................... 14 Capítulo 2 Manipulação de Fórmulas............................................................ 15 2.1 Fórmulas................................................................................................. 15 2.1.1 Operadores aritméticos ................................................................... 15 2.1.2 Ordem das operações em fórmulas................................................. 16 2.2 Referenciando outra célula em uma fórmula .......................................... 17 2.2.1 Referenciando colunas e linhas....................................................... 17 2.2.2 Referência a uma outra planilha dentro da mesma pasta de trabalho 19 2.2.3 Referência a outro arquivo do Excel................................................ 20 2.3 Referências relativas, absolutas e mistas............................................... 21 2.3.1 Referência relativa........................................................................... 21 2.3.2 Referência absoluta......................................................................... 21 2.3.3 Referência mista.............................................................................. 22 2.4 Criando uma fórmula .............................................................................. 22 2.4.1 Criando uma fórumla simples .......................................................... 22 2.4.2 Criando fórmula com referência a outras células............................. 23 Funções do Excel XP............................................................................................ 27 2.5 Funções de busca e referência............................................................... 27 2.5.1 PROCV............................................................................................ 27 2.5.2 PROCH............................................................................................ 29 2.5.3 COL ................................................................................................. 31 2.5.4 COLS............................................................................................... 32 2.5.5 CORRESP ....................................................................................... 32 2.5.6 DESLOC.......................................................................................... 34 2.5.7 ENDEREÇO .................................................................................... 35 2.5.8 ESCOLHER ..................................................................................... 36 2.5.9 HIPERLINK...................................................................................... 38 2.5.10 INDIRETO ....................................................................................... 39 2.5.11 ÍNDICE ............................................................................................ 40 2.5.12 LIN ................................................................................................... 41 2.5.13 LINS................................................................................................. 42 2.6 Funções Financeiras............................................................................... 42 2.6.1 DPD ................................................................................................. 42 2.6.2 ÉPGTO ............................................................................................ 43 2.6.3 IPGTO ............................................................................................. 44 2.6.4 VF .................................................................................................... 45
Página 4 de 219

.... 91 2............................................................1 E .............................7 Funções de Data e hora ........................ 77 2.....................................................10 Funções de texto .......................................12 TIR......................... 47 2.............................. 93 Fundamentos básicos de Macros e VBA ..5 DIA......3 DATA........10...............9.........VALORES............... 49 2.........................................................................9........................................................1 CONCATENAR............ 92 2.......7........................................9..................................................................9...........................................................................9....................7......DEC..................... 95 Página 5 de 219 .......9 MÁXIMOA................................................................................................................9..........................................Microsoft Excel – Estudo Avançado 2....................6................................ 79 2...............7...........8.................GEOMÉTRICA ......10.................................................................9 Funções Estatísticas.......2 CONT.... 80 2....................................... 67 2.........................9............................................8 NPER....................................5 VERDADEIRO ...........................9.............. 52 2.................. 53 2..................................................... 78 2.. 68 2.....10 PPGTO .................................................................................7.........................................3 NÃO................12 MEDIAA...........9.............6................................ 69 2...........................................................8....8 Funções Lógicas.........................8.13 MÉDIA...7.................................2 DEF...................................................................... 51 2..............9 PGTO ...............................................................6 DIA360...........................7..6....4 DIA................. 81 2..........................................................6 MTIR.................................11 TAXA ............6........9..............3 CONT..............4 OU .....7..8 MÁXIMO ......... 88 2............1 AGORA.....................7..............8 MÊS.................................................................................... 62 2......... 88 2.........1 CONT..........................6................................................................... 56 2...... 54 2...15 QUARTIL ....................................6.......................................................................... 64 2..........6.....................................................................7 MAIOR.............................................................11 MÉDIA ....... 63 2.........NÚM........................................... 76 2........... 89 2..... 58 2...........................................13 VPL......................... 65 2... 48 2................9 VALOR TEMPO........ 50 2........NÚM .6......................................................... 69 2...................................................................................................4 ESQUERDA ........... 61 2......3 DIREITA ..................................................5 EXT.......... 82 2.......................................................9....................................................................................5 VP....................................... 66 2.............................9................................................9....................................... 73 2.........................................................................................................9.......10....................................................5 CRESCIMENTO .....VAZIO....................................4 CONTAR......DA......................................................... 60 2..7 HOJE .......................................... 90 2....................... 72 2.........................2 ANO............SEMANA..........SE..........................6 FREQÜÊNCIA .... 70 2..........................TEXTO..........................10 MED.....................................................................................10........ 87 2........ 84 2...10...............6...........................VALOR ............7..................................................2 FALSO.....................10......14 MÍNIMO ................................................ 58 2.................................7 NOMINAL ....... 58 2........................................................................................................................... 75 2.....6 LOCALIZAR...........................................9.............. 67 2....................8................................................... 66 2........................... 69 2......................................................................................................... 65 2............. 71 2...8......................................................

........1 Estruturas de repetição...... 120 2......................................... ............. 98 2..... .....1 Assiciando um botão a uma macro.....Next...................26 Tipos de dados e funções para conversão de tipos..............24........................................20.............................25.......................Loop..............................17 Associando botões a macros................................... 112 2...............12..................12.........Then e os Operadores de Comparação .........While e Do........4 A estrutura Do While Condição........ 109 Introdução a linguagem VBA...................... Operadores Aritméticos e Exemplos ...................................................2 Escopo de procedimento / função / macro ........................... 120 2........21 VBA – Declaração de Variáveis..........5 A estrutura Do................ 128 2....................... Loop Until Condição...................................................................Microsoft Excel – Estudo Avançado 2........14............. 129 2...............25...Until..........................................................17..............................................1 Como Exibir e alterar macros ............................... 135 2....................1 Criando uma macro assistida ......21...............25............... 97 2....................................23 Estrutura If.........1 Vantagens em utilizarmos o VBA ...... 135 2................................. 102 2............. 104 2............22........16...............................Case....................................... Do......................................... 123 2..............................3 A estrutura Do.................... 111 2...................................... 118 2.......................... 135 2................................. 124 2...........19.......................11 Introdução................ ............ 124 2....................19 Programação com o Microsoft Excel ................ 104 2.. 124 2.................25...2 A função IsArray................................................... 117 2.......... 116 2...... 129 2...............15............1 Renomeando uma macro .... 105 2.........25.......... 121 2.............. 128 2.....................1 O Escopo das variáveis.......... 106 2....................................... .........................................23............................... 114 2.......... 100 2....... 96 2.............. ................................................1 Acessando o Editor VBA .Next.......................... 114 2........16............26........ 127 2.. 132 2...........21..............1 Declaração de variáveis e —tipos“ de dados ...................................16 Operações com Macros ..................................25.................................................................... 130 2................. 128 2.2 Como Gerenciar suas macros Com o Editor do VBA ................................. 98 2........................ 139 Página 6 de 219 ........................... .14 O que são Macros? .........Editor VBA................2 Utilização de variáveis não declaradas.24...........A linguagem VBA .2 Operadores de comparação do VBA ..............22 VBA ............ ..................................1 Determinando o Tipo de Dados contido em uma variável.........7 A estrutura Do.. 97 2........................................6 A estrutura Do Until Condição.... 133 Funções do VBA – Funções de Tipo – Parte 1 .....................1 Fazendo cálculos com os Operadores aritméticos: .....Loop. no VBA.............................2 Executando a macro..12 O que são Macros? .............1 Acessando os comandos VBA ........................ 137 2........................ 95 2.20 O Ambiente de Programação ... 113 2.......25 Estruturas For...................................................... 122 2.......16............. 95 2.......Loop..27 Funções do VBA – Funções de Tipo – Parte 2...............14....................23................... 101 2..............2 A estrutura For....3 A estrutura Select.............3 Alterando a tecla de atalho e o comentário associado com uma macro 106 2...............26......24..........24 Escopo de Variáveis e Variáveis do tipo Array ........ 134 2......25....2 Excluindo uma macro ........3 A função VarType.........................15 Conhecendo do que é feita uma Macro..........................18 Por que aprender VBA?.13 Programação no Excel ....Cálculos........................... Loop While Condição.......26......................... 112 2...................1 If Then Else ............

..............................2 Função Time..............3 Função Day .....................5 Função Now .......8 Função CSng................................................................28..............1 Funções para cálculos matemáticos.......................................................... 163 2.................................... 142 VBA – Funções para conversão de Tipos– Parte 1 .6 Função CInt .........................................................2 Função Chr...............27....10 Função Int .............. 156 2.......................................................3 A função IsNull.......................29...........................28....................................................................29................................................29..........................................................................................................29... 147 2........................................................................................1 ADO .......................... 161 2..........................29 Funções para tratamento de Texto ..9 Função CStr ....27........ 159 2... 160 2..........................29..........................12 Função WeekDayName ...................................32............................................ 145 2...........30.. 143 2........................29............30.... 152 2.................. 152 2...............................28 Por que converter tipos?........30......................30....... 143 2..................... 149 2......... 164 2..............................................9 Função String .......................8 A função DateDiff............................. 161 2.............................. 151 2...... ................................. 147 2....................................7 Função Hour.......... 143 2............9 A função DateAdd.....4 Função LCase .........5 Função CDbl........ 163 2........................ ........30................32 Novidades do Modelo de Objetos do Excel 2000 VBA: ................5 Função UCase.........................30........4 Função CDate..6 Função MonthName .................................29.............................................................................................................................................................................2 Alguns exemplos de utilização das funções matemáticas..............................1 Função Asc...................................................................................7 Função CLng ...........2 Função CByte.....31 Funções para Cálculos matemáticos ..8 Função Mid........ 153 2............................6 Função Left................................... 150 2...........................................32......................................................28........32. 141 2..........2 Arquivo de texto e consultas da Web ............. 163 Estudo avançado da linguagem VBA...............30......................... 146 2.......................................................30......................................... 154 2. 140 2............................32............30........30.........4 Edição em várias línguas................................30 Funções de Data/Hora e Matemáticas ............................................................ 162 2.................. 153 2........................28......... 148 2...........11 Função WeekDay.......................................28............Activex Data Objects .....3 Função Len.................................................28...1 A função IsDate..........28..............................Microsoft Excel – Estudo Avançado 2... 149 2.................................................................. 164 2..........28...................... 155 2...................................7 Função Right ...4 Função Month..................... 150 2..............................30........ 142 2................... 164 Página 7 de 219 ..................................................... 163 2........1 Função Cbool .....................................................27................. 156 2................... 139 2...........................................27. 151 2.....29....... 149 2.................. 149 2............................................................... ......................31............2 A função IsEmpty....... 148 2.......28......1 Função Date .............................4 A função IsNumeric.......................29.... 154 2....... 144 2.......................................................3 Assinatura digital . 153 2.......................... 155 2.................... 147 2............................................28......... 160 2....................30........................31...................3 Função CCur ...........................................................................................................................................................................10 Função Year.............

36 Trabalhando com o Objeto Worksheet ..7 Microsoft Office Web Components ...1 Selecionar e ativar células................................................................................34 Trabalhando com o objeto Application............2 Propriedade Range.......................9 Salvar para Web e para edição com Office Web .........11 Método SendKeys.....1 A coleção Workbooks .... 165 2......... 164 2... 167 2......... 170 2......................................................................1 O objeto Application......................................................1 A Estrutura For............2 Abrir uma pasta de trabalho ............................. 187 2............ 180 2....... 203 2......................5 Abrir um documento HTML em Microsoft Excel....39...................................32........................8 Relatórios de gráfico dinâmico..................1 O objeto Range........ 203 2....2 Criando suas próprias funções e procedimentos................................ 184 2.36............ 177 2......... 165 2.......33...... 207 2.............................38.................................................................... 201 2......32....39...................... 181 2...3 Propriedade ActiveSheet ......... 186 2.....38................6 Propriedade DefaultSaveFormat: ............................................. 165 2......................1 Propriedade ThisWorkBook.................................................... 174 2.......................37 Trabalhando com o Objeto Range ............6 Propriedade Count........................................................................38............................................ 198 2.............................. 195 2........................32...... 199 2................3 Propriedade UsedRange ...................................10 Script de página da Web............33.............................................2 Propriedade Visible..........................38......................39.........................40 Loop através de um intervalo de células.......................5 Fontes de dados OLAP para relatórios de tabela dinâmica e gráfico dinâmico:........... 171 2................................32.... Objetos.................... 208 2....36..............8 Propriedade Parent.......... 165 2........ 191 2..................................................37............... 201 2..........32............................................35 Trabalhando com o Objeto Workbook ..................4 Criando e utilizando Funções .......................7 Propriedade RecentFiles .2 Propriedade ActiveCell: ............... 217 2.............. 189 2..................Each ......36.... 166 2.................................................1 Ativar uma pasta de trabalho............................................................................ 205 2.....................3 Criando e utilizando Sub-rotinas...38..... 191 2......38......... 194 2.....34..................... 195 2........... 198 2.33........1 Propriedade ActiveSheet ............2 Selecionar células na planilha ativa...... 208 2..5 Propriedade DefaultFilePath.......................................6 Microsoft Office E-mail.... 193 2............10 Método GetOpenFilename ....39........................39.....38 O Objeto Application – Propriedades e Métodos – Parte I.. 165 2.........40................9 Método FindFile .....32....11 Visual Basic For Applications 6........................................................................................8 Método InputBox.....3 Salvar documentos como páginas da Web .38.......................................38...39....3 Propriedade Offset.......... 192 2....................................................7 Propriedade Item (coleção Workbooks).................38............. 187 2.... 164 2... 202 2........39.........35................... Métodos e Referências ............................................33 Bibliotecas.. 216 2..... Propriedades................................................. 186 2............................................................................................................... 187 2.........................................................................33..............37.............................4 Personalizar a página da Web........38................ 177 2......................38.............0 ......4 Propriedade Calculation .. 218 Página 8 de 219 ............. 188 2..37........................... 194 2..........32............................39 O Objeto Workbook – Propriedades e Métodos – Parte I ..................39...................Microsoft Excel – Estudo Avançado 2............................................................40........................................ 192 2.......

................................40....................5 2....... 218 Mover a célula ativa.........3 2.................... 219 Selecionar as células ao redor da célula ativa...........Microsoft Excel – Estudo Avançado 2.............. 219 Página 9 de 219 ..........................6 Ativar uma célula dentro de uma seleção......................40.......................40......4 2.40......... 218 Trabalhar com a célula ativa......

1. a Microsoft criou um boot. Página 10 de 219 .1. um Assistente que lhe auxilia sempre que você aciona a ajuda de um aplicativo Office. e o assistente do Office não se mostra eficiente quando se pretende fazer uso constante da documentação do software. Mostrar o Assistente O assistente ficará visível. temos uma farta documentação eletrônica que muitas vezes é pouco explorada pelos usuários de computador. Entretanto. Esta documentação é definida como Ajuda e pode ser acionada de várias maneiras em qualquer momento de dúvida.1 Assistente Para incentivar e facilitar o acesso a documentação eletrônica do pacote Office. sem intermediações. devemos observar que este estudo é dirigido para usuários avançados. portanto o interessante seria desativar o assistente para que o acesso a informação seja direta. 1.1 Desabilitando o assistente do Office Para desabilitar o assistente do Office clique no menu Ajuda e selecione o comando Mostrar o ‘Assistente do Office’.Microsoft Excel – Estudo Avançado Capítulo 1 - Utilizando a ajuda do Excel No Excel assim como na maioria dos softwares encontrados no mercado.

Opções de assistente Desmarque a opção Usar o ‘Assistente do Office’ e clique no botão OK. No menu suspenso que surgirá selecione o comando Opções. A caixa de diálogo Assistente do Office será aberta. Agora desabilitando o Assistente.Microsoft Excel – Estudo Avançado Assistente do Office Clique com o botão direito do mouse sobre o assistente. Página 11 de 219 .

A ajuda do Excel será exibida.2 Solicitando a ajuda Clique no menu Ajuda e selecione o comando Ajuda do Microsoft Excel Ajuda do menu.Microsoft Excel – Estudo Avançado 1. janela de Ajuda do Excel Página 12 de 219 .

3. facilitando o trabalho do usuário a encontrar a informação desejada. Acessando a documentação via conteúdo.1 Conteúdo Na guia Conteúdo obtém-se de forma organizada toda a documentação eletrônica existente para o software. 1.Microsoft Excel – Estudo Avançado  Dica Para acionar a ajuda do Excel através do teclado.3. Página 13 de 219 .2 Assistente de resposta Na guia Assistente de resposta o conteúdo é exibido a partir de alguma pergunta ou palavra-chave digitada pelo usuário. Este recurso é muito semelhante a uma busca.3 Acessando a ajuda do Excel Podemos utilizar a documentação do Excel de três maneiras diferentes a partir da tela de Ajuda. 1. O conteúdo é organizado em tópicos e sub-tópicos. 1. basta pressionar a tecla F1.

Página 14 de 219 .3.Microsoft Excel – Estudo Avançado Assistente de resposta 1. Basta iniciar a digitação no campo ‘Digita a palavra-chave’ ou selecionar a palavra na lista ‘Ou escolha a palavra-chave’ para que o resultado aparece na lista seguinte (Escolha um tópico). Ajuda por índice.3 Índice Através da guia índice temos a possibilidade de pesquisar recursos do software em uma lista de palavras-chaves.

^ Exponenciação (3^2).1. 2. Operador Significado + Adição (3+3).1 Fórmulas Fórmulas são equações que executam cálculos sobre valores na planilha. Tabela 2.1 Operadores aritméticos Para efetuar operações matemáticas básicas. Por exemplo. % Porcentagem (20%). referenciar outras células e planilhas além de identificar os possíveis erros exibidos em cálculos. * Subtração (3–1) ou Negação (–1).1 – Operadores aritméticos. como adição. a fórmula a seguir multiplica 2 por 3 e depois adiciona 5 ao resultado. Neste capítulo vamos aprender a criar formulas. / Divisão (3/3). operadores e constantes. Multiplicação (3*3). utilize os operadores aritméticos. =5+2*3 Uma fórmula também pode conter quaisquer dos seguintes itens: funções. 2. Uma fórmula inicia com um sinal de igual (=). subtração ou multiplicação. referências. combinar números e produzir resultados numéricos.Microsoft Excel – Estudo Avançado Capítulo 2 - Manipulação de Fórmulas A grande vantagem do Excel é sua facilidade para criar e modificar fórmulas com bastante facilidade. Página 15 de 219 .

Microsoft Excel – Estudo Avançado

2.1.2 Ordem das operações em fórmulas
As fórmulas calculam valores segundo uma ordem específica. Uma fórmula no Excel sempre começa com um sinal de igual (=). O sinal de igual informa ao Excel que os caracteres a seguir constituem uma fórmula. Depois do sinal de igual estão os elementos a serem calculados (os operandos), que são separados por operadores de cálculo. O Excel calcula a fórmula da esquerda para a direita, de acordo com uma ordem específica para cada operador da fórmula. Precedência de operadores Se você combinar vários operadores em uma única fórmula, o Excel executará as operações na ordem mostrada na tabela a seguir. Se uma fórmula contiver operadores com a mesma precedência — por exemplo, se uma fórmula contiver um operador de multiplicação e divisão — o Excel avaliará os operadores da esquerda para a direita.

Operador

Significado

: (dois-pontos) (espaço simples) , (vírgula) Operadores de referência.

%

Negação ( -1).

Porcentagem

^

Exponenciação (3^2).

*e/

Multiplicação e divisão.

+e–

Adição e subtração.

&

Conecta duas seqüências de texto (concatenação).
Página 16 de 219

Microsoft Excel – Estudo Avançado

= < > <= >= <>

Comparação. Tabela 2.1 – Ordem de operações.

Uso de parâmetros Para alterar a ordem da avaliação, coloque entre parênteses a parte da fórmula a ser calculada primeiro. Por exemplo, a fórmula a seguir retorna 11 porque o Excel calcula a multiplicação antes da adição. A fórmula multiplica 2 por 3 e, em seguida, soma 5 ao resultado. =5+2*3 Por outro lado, se você usar parênteses para alterar a sintaxe, o Excel somará 5 e 2 e, em seguida, multiplicará o resultado por 3 para produzir 21. =(5+2)*3 No exemplo abaixo, os parênteses na primeira parte da fórmula forçam o Excel a calcular B4+25 primeiro e, em seguida, dividir o resultado pela soma dos valores nas células D5, E5 e F5. =(B4+25)/SOMA(D5:F5)

2.2 Referenciando outra célula em uma fórmula
Uma referência identifica uma célula ou um intervalo de células em uma planilha e informa ao Microsoft Excel onde procurar pelos valores ou dados a serem usados em uma fórmula. Com referências, você pode usar dados contidos em partes diferentes de uma planilha em uma fórmula ou usar o valor de uma célula em várias fórmulas. Você também pode se referir a células de outras planilhas na mesma pasta de trabalho e a outras pastas de trabalho. Referências às células de outras pastas de trabalho são chamadas vínculos.

2.2.1 Referenciando colunas e linhas
Por padrão, o Excel usa o estilo de referência coluna/linha ou A1, que se refere a colunas com letras (A até IV, para um total de 256 colunas) e se refere a linhas com números (1 até 65536). Essas letras e números são chamados de cabeçalhos de linha e coluna. Para referir-se a uma célula, insira a letra da coluna seguida do número da linha. Por exemplo, B2 se refere à célula na interseção da coluna B com a linha 2. Vejam outros exemplos:
Página 17 de 219

Microsoft Excel – Estudo Avançado

Para referenciar

Utilize

A célula na coluna A e linha 10.

A10

Página 18 de 219

Microsoft Excel – Estudo Avançado

O intervalo de células na coluna A e linhas 10 a 20.

A10:A20

O intervalo de células na linha 15 e colunas B até E

B15:E15

Todas as células na linha 5.

5:5

Todas as células nas linhas 5 a 10.

5:10

Todas as células na coluna H.

H:H

Todas as células nas colunas H a J.

H:J

O intervalo de células nas colunas A a E e linhas 10 a 20. Tabela 2.1 – Referência de células.

A10:E20

Dica Durante a edição de uma fórmula você pode utilizar o mouse e selecionar o intervalo de células. Automaticamente intervalo selecionado será transcrito para sua fórmula.

2.2.2 Referência a uma outra planilha dentro da mesma pasta de trabalho
No exemplo a seguir, a função de planilha MÉDIA calcula o valor médio do intervalo B1:B10 na planilha denominada Plan2 na mesma pasta de trabalho.

Página 19 de 219

Página 20 de 219 . O ponto de exclamação é obrigatório após o nome da planilha.Microsoft Excel – Estudo Avançado = Média( Plan2 ! B1:B10) Intervalo de células Separa a referência da planilha do intervalo.  Dica Durante a edição de uma fórmula você pode utilizar o mouse e selecionar o intervalo de células na outra planilha de sua pasta de trabalho.3 Referência a outro arquivo do Excel No exemplo a seguir. 2. Automaticamente intervalo selecionado será transcrito para sua fórmula.xls]Plan2'!B1:B10) Intervalo de células Separa a referência da planilha do intervalo. a função de planilha MÉDIA calcula o valor médio do intervalo B1:B10 na planilha denominada Plan2 no arquivo contas.2. Identifica a planilha pelo nome Observe que o nome da planilha e um ponto de exclamação (!) precedem a referência de intervalo. =MÉDIA('C:\arquivos\[contas. Identifica a planilha e o arquivo de origem pelo nome.xls gravado na pasta c:\arquivos.

a referência se ajustará automaticamente.1 Referência relativa Uma referência relativa em uma fórmula. absolutas ou mistas. Se a posição da célula que contém a fórmula se alterar. O ponto de exclamação é obrigatório após o nome da planilha. 2. a referência absoluta permanecerá a mesma. sempre se refere a uma célula em um local específico. Se a posição da célula que contém a fórmula se alterar. a referência absoluta não se Página 21 de 219 . Dica  Para fazer referência utilizando o mouse.Microsoft Excel – Estudo Avançado Observe que os nomes do arquivo e da planilha estão entre aspas simples e tem ao final de seus nomes o ponto de exclamação (!). é baseada na posição relativa da célula que contém a fórmula e da célula à qual a referência se refere. se você copiar uma referência relativa que está na célula B2 para a célula B3. a referência será alterada. Através de referências relativas. como A1(Coluna e linha).2 Referência absoluta Uma referência absoluta de célula em uma fórmula. novas fórmulas usam referências relativas. Automaticamente a referência a outro arquivo e planilha será transcrita para sua fórmula. Se você copiar a fórmula ao longo de linhas ou colunas. referências relativas 2. a referência será automaticamente ajustada de =A1 para =A2.3. como $A$1(Coluna e linha). Por exemplo. Por padrão. 2. Se você copiar a fórmula ao longo de linhas ou colunas.3. abre o outro arquivo e durante a edição da fórmula alterne para a outra pasta de trabalho e faça a seleção do intervalo com o mouse.3 Referências relativas. absolutas e mistas Ao fazermos referência a um intervalo de células podemos fazê-la de três maneiras distintas.

inicie a digitação do texto sempre com o sinal de igual ( = ). Se a posição da célula que contém a fórmula se alterar. B$1 e assim por diante. referência mista 2. a referência relativa se ajustará automaticamente e a referência absoluta não se ajustará. Clique na célula na qual você deseja inserir a fórmula. a referência relativa será alterada e a referência absoluta não se alterará. se você copiar uma referência absoluta na célula B2 para a célula B3.4 Criando uma fórmula Vamos aprender como se cria uma fórmula do Excel. ela se ajustará de =A$1 para =B$1. começaremos com formas simples e vamos evoluindo até fórmulas mais complexas que fazem referência a outras células ou utiliza funções. se você copiar uma referência mista da célula A2 para B3.1 Criando uma fórumla simples Vamos criar uma fómula para calcular o expoencial de 5 elevado ao quadrado(2). ou linha absoluta e coluna relativa. Para iniciar a digitação de um fórmula no Excel. seguido pela estrutura da fóruma desejada.4. Por exemplo. Página 22 de 219 .Microsoft Excel – Estudo Avançado ajustará. $B1 e assim por diante. Por exemplo. Uma referência de coluna absoluta tem o formato $A1. refêrência absolua 2. Uma referência de linha absoluta tem o formato A$1. Por padrão. Se você copiar a fórmula ao longo de linhas ou colunas. novas fórmulas usam referências relativas e você precisa trocá-las para referências absolutas.3 Referência mista Uma referência mista tem uma coluna absoluta e linha relativa.3. ela permanecerá a mesma em ambas as células =$A$1. 2.

Página 23 de 219 . Por exemplo.2 Criando fórmula com referência a outras células A célula que contém a fórmula é conhecida como uma célula dependente. seu valor depende dos valores de outras células. Verifiq eu que a barra de fórmula conterá o valor que está sendo digitado na célula. a célula C4 será uma célula dependente se contiver uma fóruma dependente das célula C2 e C3. porém da barra de fóruma será exibido a fóruma que gerou o resultado. ou seja.4.Microsoft Excel – Estudo Avançado Céula selecionada Digite = (um sinal de igual). Valor * Total. Resultado da fóruma 2. fórumla sendo criada O resultado será o quadarado de 5. Vamo supor que a célula C2 contenha o valor de um determindado produto e a célula C3 contém a quantidade de produtos de um pedido. ou seja. A função da célula C4 seria calcular o valor total de produtos de acordo com a quantide. Insira a fórmula e Pressione ENTER.

Referênciando C3 Pressione Enter. ou clique sobre a mesma. Referenciando C2 Insira o operador de multiplicação ( * ) e digite a referência à célula C3. Iniciando a fóruma Digite a referência relatativa à célula C2 ou clique sobre a célula.Microsoft Excel – Estudo Avançado Exemplo proposto Vamos criar esta fórmula utilizando a referência relativa. Clique na célula C4 e digite o sinal de igual ( = ). O cálculo será exibido na célula e a fóruma na barra de fórmula. Resultado da fóruma Criando uma fórmula utilizando funções Página 24 de 219 . O excel estará neste momento criando a fórmula.

Planilha de demonstração Vamos calcular a média de resultados na coluna F. A função Média exige como parâmetro o intervalo de células e retorna a média aritimética como resultado. utilizada para cálculo de médias. utilizar a função Média do Excel. onde teremos três notas e a média aritimética destas notas. por exemplo. Neste momento estaremos editando a fórmula da célula. na barra de fórmulas será exibido a fórmula que gerou o cálculo. O estudo de funções será mais detalhado nos próximos capítulos. Clique na célula F3 e pressione a tecla igual ( = ). Vamos supor que tenhamos uma planilha para controle de notas de alunos. Insira a função MÉDIA e forneça como parâmetro o intervalo C3:E3. ou seja. normalmente necessitam de parâmetros de entrada.Microsoft Excel – Estudo Avançado Em fórmulas do Excel. =MÉDIA(C3:E3) . Funções são cálculos internos que retornam um resultado. primeiramente calcularemos a linha 3. existe a possibilidade de utlização de funções do Excel ou funções criadas pelo próprio usuário. Criando a fórmula O resultado será a média aritimética da célula. Página 25 de 219 . Para calcular a média dos resultados poderemos.

Microsoft Excel – Estudo Avançado Resultado da fórmula Página 26 de 219 .

. caso contrário. Os valores na primeira coluna de matriz_tabela podem ser texto.. 2.. Matriz_tabela é a tabela de informações em que os dados são procurados. 2. .Microsoft Excel – Estudo Avançado Funções do Excel XP Vamos verificar a sintaxe e exemplos das funções mais comuns do Excel XP 2... A-Z. números ou valores lógicos.5 Funções de busca e referência Vamos analisar o funcionamento das principais funções de banco de dados disponibilizadas pelo Excel XP.matriz_tabela. Use PROCV em vez de PROCH quando os valores da comparação estiverem posicionados em uma coluna à esquerda ou à direita dos dados que você deseja procurar. 1. 0.procurar_interva lo) Valor_procurado é o valor a ser localizado na primeira coluna da Matriz. -2. Se procurar_intervalo for FALSO. Valor_procurado pode ser um valor. Use uma referência para um intervalo ou nome de intervalo. matriz_tabela não precisará ser ordenada. FALSO. Página 27 de 219 . os valores na primeira coluna de matriz_tabela deverão ser colocados em ordem ascendente: .1 PROCV Localiza um valor na primeira coluna à esquerda de uma tabela e retorna um valor na mesma linha de uma coluna especificada na tabela. VERDADEIRO. Textos em maiúsculas e minúsculas são equivalentes. -1. Sintaxe PROCV(valor_procurado. PROCV pode não retornar o valor correto.. uma referência ou uma seqüência de caracteres de texto.5. Observação  Se procurar_intervalo for VERDADEIRO. O V em PROCV significa "Vertical".núm_índice_coluna. tal como Banco de dados ou Lista.

se núm_índice_coluna for maior do que o número de colunas em matriz_tabela. e assim por diante. se uma correspondência exata não for encontrada. uma correspondência aproximada é retornada. o valor de erro #N/D é retornado. PROCV retornará o valor de erro #VALOR!. Se valor_procurado for menor do que o menor valor na primeira coluna de matriz_tabela. PROCV fornecerá o valor de erro #N/D. Observações  Se PROCV não localizar valor_procurado e procurar_intervalo for VERDADEIRO. Se nenhuma correspondência for encontrada. um núm_índice_coluna de 2 retornará o valor na segunda coluna em matriz_tabela. Se VERDADEIRO ou omitida. PROCV retornará o valor de erro #REF!. PROCV encontrará uma correspondência exata. ela usará o maior valor que for menor do que ou igual a valor_procurado. Se PROCV não localizar valor_procurado e procurar_intervalo for FALSO. Utilizandoo ProcV para localizar o telefone Página 28 de 219 .Microsoft Excel – Estudo Avançado Núm_índice_coluna é o número da coluna em matriz_tabela a partir do qual o valor correspondente deve ser retornado. Procurar_intervalo é um valor lógico que especifica se você quer que PROCV encontre a correspondência exata ou uma correspondência aproximada. em outras palavras. Se núm_índice_coluna for menor do que 1. Se FALSO. Um núm_índice_coluna de 1 retornará o valor na primeira coluna em matriz_tabela. o valor maior mais próximo que é menor que o valor_procurado é retornado.   Utilizando a função PROCV No exemplo abaixo utiliza-se a função para localizar o telefone de acordo com o código digitado na célula C12. PROCV fornecerá o valor #N/D.

Página 29 de 219 . números ou valores lógicos. FALSO." Sintaxe PROCH(valor_procurado.procurar_intervalo) Valor_procurado é o valor a ser localizado na primeira linha da tabela. Use PROCH quando seus valores de comparação estiverem localizados em uma linha ao longo da parte superior de uma tabela de dados e você quiser observar um número específico de linhas mais abaixo.. A-Z. Observações  Se procurar_intervalo for VERDADEIRO. os valores na primeira linha de matriz_tabela deverão ser colocados em ordem ascendente: . PROCH pode não retornar o valor correto. Se procurar_intervalo for FALSO. Valor_procurado pode ser um valor.. 0. uma referência ou uma seqüência de caracteres de texto. Use PROCV quando os valores de comparação estiverem em uma coluna à esquerda dos dados que você deseja localizar. 2. VERDADEIRO. -1. caso contrário. O H de PROCH significa "Horizontal.2 PROCH Localiza um valor específico na linha superior de uma tabela ou matriz de valores e retorna um valor na mesma coluna de uma linha especificada na tabela ou matriz. Matriz_tabela é uma tabela de informações onde os dados devem ser procurados.Microsoft Excel – Estudo Avançado Resultado da fórumula 2.-2. . matriz_tabela não precisará ser ordenada. Use uma referência para um intervalo ou um nome de intervalo. 1. Os valores na primeira linha de matriz_tabela podem ser texto.matriz_tabela...núm_índice_lin.5..

clique na linha da lista e depois em Crescente. e procurar_intervalo for VERDADEIRO. Observações  Se PROCH não localizar valor_procurado. PROCH retornará o valor de erro #VALOR!. Se núm_índice_lin for menor do que 1. uma correspondência aproximada é retornada. clique em Classificar da esquerda para a direita e. Página 30 de 219 . se núm_índice_lin for maior do que o número de linhas na matriz_tabela. da esquerda para a direita. Se VERDADEIRO ou omitido. escolhendo o comando Classificar no menu Dados. Se FALSO. um núm_índice_lin equivalente a 2 retorna o valor da segunda linha na matriz_tabela. Em outras palavras. PROCH retornará o valor de erro #N/D. Se nenhuma correspondência for localizada. em OK. ela usará o maior valor que é menor do que o valor_procurado.Microsoft Excel – Estudo Avançado Textos em maiúsculas e minúsculas são equivalentes. Em Classificar por. Você pode colocar valores em ordem ascendente.  Utilizando a função PROCH No exemplo abaixo utilizamos a função PROCH para localizar na coluna Nome e retornar o valor contido na segunda linha (posição 2). Um núm_índice_lin equivalente a 1 retorna o valor da primeira linha na matriz_tabela. Núm_índice_lin é o número da linha em matriz_tabela de onde o valor correspondente deve ser retirado. Clique em Opções. Procurar_intervalo é um valor lógico que especifica se você quer que PROCH localize uma correspondência exata ou aproximada. se uma correspondência exata não for localizada. PROCH retornará o valor de erro #REF!. e assim por diante. em seguida. o valor de erro #N/D será retornado. selecionando os valores. Se o valor_procurado for menor do que o menor valor na primeira linha de matriz_tabela. PROCH encontrará uma correspondência exata. o valor maior mais próximo que seja menor que o valor_procurado é retornado.

presume-se que seja a referência da célula onde a função COL aparece.5.Microsoft Excel – Estudo Avançado Utilizando a função ProcH Valor retornado 2. Sintaxe COL(ref) Ref é a célula ou intervalo de células cujo número da coluna você deseja obter. Exemplo Página 31 de 219 . Ref não pode se referir a áreas múltiplas. Se ref for omitido.3 COL Retorna o número de coluna da referência especificada.

uma fórmula de matriz ou uma referência a um intervalo de células cujo número de colunas você deseja obter. Sintaxe COLS(matriz) Matriz é uma matriz.  é o valor utilizado para localizar o valor desejado em uma Valor_procurado é o valor que você deseja coincidir com matriz_procurada. Exemplo Função COLS 2.tipo_correspondência) Valor_procurado tabela. quando você procura o número do telefone de alguém em Página 32 de 219 . Sintaxe CORRESP(valor_procurado.5. Use CORRESP em vez de uma das funções PROC quando você precisar da posição de um item em um intervalo ao invés do item propriamente dito.5 CORRESP Retorna a posição relativa de um item em uma matriz que coincide com um valor especificado em uma ordem específica.matriz_procurada.Microsoft Excel – Estudo Avançado Função COL 2.4 COLS Retorna o número de colunas em uma matriz ou referência.5. Por exemplo.

Tipo_correspondência especifica como o Microsoft Excel corresponde a valor_procurado com os valores contidos em matriz_procurada. 1. você está usando o nome da pessoa como o valor da procura. Por exemplo: CORRESP("b".-2. um ponto de interrogação corresponde a qualquer caractere individual. Se CORRESP não conseguir localizar um valor coincidente..2. Se tipo_correspondência for omitido. a posição relativa de "b" na matriz {"a". Exemplo Página 33 de 219 . 1."b". -1.. Se tipo_correspondência for -1. texto ou valor lógico) ou uma referência de célula de um número. Matriz_procurada pode ser colocada em qualquer ordem.A-Z. será equivalente a 1. Se tipo_correspondência for 0. e não o valor propriamente dito. Tipo_correspondência é o número -1. FALSO. 0 ou 1.  Se tipo_correspondência for 1.    Comentários CORRESP retorna a posição do valor coincidente em matriz_procurada. texto ou valor lógico.  Valor_procurado pode ser um valor (número. 0. CORRESP localizará o menor valor que seja maior ou igual a valor_procurado.. Matriz_procurada deve ser posicionada em ordem ascendente: . -2... Matriz_procurada deve ser posicionada em ordem decrescente: VERDADEIRO. Um asterisco corresponde a qualquer seqüência de caracteres.. 2. ele fornecerá o valor de erro #N/D.Microsoft Excel – Estudo Avançado uma lista telefônica.. valor_procurado poderá conter os caracteres curinga asterisco (*) e ponto de interrogação (?).. e assim por diante. mas o número do telefone é o valor que você deseja. Z-A.0) retorna 2.."c"}. CORRESP localizará o maior valor que for menor do que ou igual a valor_procurado. -1. Matriz_procurada é um intervalo contíguo de células que contêm valores possíveis de procura. 0. CORRESP não faz distinção entre letras maiúsculas e minúsculas quando estiver fazendo a correspondência entre valores de texto. Se tipo_correspondência for 0 e valor_procurado for um texto. VERDADEIRO. Matriz_procurada precisa ser uma matriz ou uma referência de matriz.{"a". FALSO."c"}.. CORRESP localizará o primeiro valor que for exatamente igual a valor_procurado."b"..

Usar 5 como o argumento de linhas.altura. Página 34 de 219 .5.Microsoft Excel – Estudo Avançado No exemplo abaixo se utiliza um valor de ‘procura’ na célula C9 e retorna-se a posição correspondente a este valor. Lins é o número de linhas. Sintaxe DESLOC(ref. caso contrário.largura) Ref é a referência em que se deseja basear o deslocamento. Você pode especificar o número de linhas e de colunas a serem retornadas. que é um número especificado de linhas e colunas de uma célula ou intervalo de células. CORRESP Resultado com posição 2 2. especifica que a célula superior esquerda na referência está cinco linhas abaixo da referência. Ref deve se referir a uma célula ou intervalo de células adjacentes. A referência retornada pode ser uma única célula ou um intervalo de células. acima ou abaixo.cols. a que se deseja que a célula superior esquerda se refira. Lins pode ser positivo (que significa abaixo da referência inicial) ou negativo (acima da referência inicial).lins. DESLOC retornará o valor de erro #VALOR!.6 DESLOC Retorna uma referência para um intervalo.

Função Desloc 2. especifica que a célula superior esquerda na referência está cinco colunas à direita da referência. Largura é a largura. Cols pode ser positivo (que significa à direita da referência inicial) ou negativo (à esquerda da referência inicial). Se altura ou largura forem omitidos.1)) calcula o valor total de um intervalo formado por 3 linhas e 1 coluna que está 1 linha abaixo e 2 colunas à direita da célula C2.núm_abs. dados números específicos de linhas e colunas. Altura deve ser um número positivo.a1. à esquerda ou à direita. que se deseja para a referência fornecida. DESLOC pode ser usada com qualquer função que pressuponha um argumento de referência. a fórmula SOMA(DESLOC(C2. que se deseja para a referência fornecida. DESLOC não desloca quaisquer células nem modifica a seleção.1.   Exemplo .5. Largura deve ser um número positivo. em número de linhas. Altura é a altura. serão equivalentes a altura ou largura de ref.7 ENDEREÇO Cria um endereço de célula como texto. Na verdade. Sintaxe ENDEREÇO(núm_linha.Microsoft Excel – Estudo Avançado Cols é o número de colunas. apenas fornece uma referência.2. DESLOC retornará o valor de erro #REF!. em número de colunas.texto_planilha) Página 35 de 219 . Comentários  Se lins e cols deslocarem a referência sobre a borda da planilha.núm_col. Usar 5 como o argumento de colunas.3. a que se deseja que a célula superior esquerda do resultado se refira. Por exemplo.

valor1.. Núm_abs 1 ou omitido 2 3 4 Descrição Absoluta.. ESCOLHER retorna um dos dias quando um número entre 1 e 7 for usado como núm_índice.. Linha absoluta. Exemplo função Endereço 2. Sintaxe ESCOLHER(núm_índice.valor2. Núm_abs especifica o tipo de referência a ser retornado. coluna relativa. ENDEREÇO retornará uma referência em estilo A1.8 ESCOLHER Use ESCOLHER para selecionar um valor entre 29 valores que se baseie no número de índice.Microsoft Excel – Estudo Avançado Núm_linha é o número da linha a ser utilizado na referência da célula. linha relativa. Por exemplo. se for FALSO. Couna absoluta. Se A1 for VERDADEIRO ou omitido. o nome da planilha não será utilizado. Se texto_planilha for omitido. ENDEREÇO retornará uma referência em estilo L1C1.) Página 36 de 219 . Texto_planilha é o texto que especifica o nome da planilha a ser usada como referência externa. Relativa A1 é um valor lógico que especifica o estilo de referência A1 ou L1C1. se do valor1 até o valor7 forem os números da semana.5. Núm_col é o número da coluna a ser utilizado na referência da célula.

Microsoft Excel – Estudo Avançado

Núm_índice especifica o argumento de valor selecionado. Núm_índice deve ser um número entre 1 e 29, ou uma fórmula ou referência a uma célula que contenha um número entre 1 e 29.  Se núm_índice for 1, ESCOLHER retornará valor1; se for 2, ESCOLHER retornará valor2; e assim por diante. Se núm_índice for menor do que 1 ou maior do que o número do último valor na lista, ESCOLHER retornará o valor de erro #VALOR!. Se núm_índice for uma fração, será truncada para o menor inteiro antes de ser usada.

Valor1,valor2,... são 1 a 29 argumentos de valor a partir dos quais ESCOLHER seleciona um valor ou uma ação a ser realizada com base no núm_índice. Os argumentos podem ser números, referências de célula, nomes definidos, fórmulas, funções ou texto. Comentários Se núm_índice for uma matriz, cada valor será avaliado quando ESCOLHER for avaliada. Os argumentos de valor para ESCOLHER podem ser referências de intervalo bem como valores únicos. Por exemplo, a fórmula: =SOMA(ESCOLHER(2;A1:A10;B1:B10;C1:C10)) avalia para: =SOMA(B1:B10) que depois retorna um valor baseado nos valores do intervalo B1:B10. A função ESCOLHER é a primeira a ser avaliada, retornando a referência B1:B10. A função SOMA é avaliada posteriormente usando B1:B10, o resultado da função ESCOLHER, como seu argumento. Exemplo

Página 37 de 219

Microsoft Excel – Estudo Avançado

Função ESCOLHER

2.5.9 HIPERLINK
Cria um atalho ou salto que abre um documento armazenado em um servidor de rede, uma intranet ou na Internet. Quando você clica na célula que contém a função HYPERLINK, o Microsoft Excel abre o arquivo armazenado em local_vínculo. Sintaxe HYPERLINK(local_vínculo,nome_amigável) Local_vínculo é o caminho e nome de arquivo para o documento que será aberto como texto. Local_vínculo pode se referir a uma posição em um documento — como uma célula específica ou um intervalo nomeado em uma planilha ou pasta de trabalho do Excel, ou a um marcador em um documento do Microsoft Word. O caminho pode ser para um arquivo armazenado em uma unidade de disco rígido, um caminho da convenção universal de nomenclatura (UNC) em um servidor (no Microsoft Excel para Windows) ou um caminho do localizador de recursos uniforme URL na Internet ou em uma intranet. Local_vínculo pode ser uma seqüência de caracteres de texto entre aspas ou uma célula que contém o vínculo como uma seqüência de caracteres de texto.  Se o salto especificado em local_vínculo não existir ou não puder ser navegado, aparecerá um erro quando você clicar na célula.

Nome_amigável é o texto de salto ou valor numérico exibido na célula. Nome_amigável é exibido em azul e com sublinhado. Se nome_amigável for omitido, a célula exibirá o local_vínculo como um texto de salto. Nome_amigável pode ser um valor, uma seqüência de caracteres de texto, um nome ou uma célula que contém o texto de salto ou valor.
Página 38 de 219

Microsoft Excel – Estudo Avançado

Se nome_amigável retornar um valor de erro (por exemplo, #VALOR!), a célula exibirá o erro em vez do texto de salto.

Comentários Para selecionar uma célula onde existe um hiperlink sem ir para o destino do hiperlink, clique na célula e mantenha o botão do mouse pressionado até o cursor se transformar em uma cruz, depois libere o botão do mouse. Exemplos Direciona o usuário para a URL do buscador Cadê. =HYPERLINK(“http://www.cade.com.br”;CADÊ) Cria um hiperlink com a área denominada Totais de outra pasta de trabalho (externa), Minhapasta.xls: =HYPERLINK("[C:\Meus documentos\MinhaPasta.xls]Totais")

2.5.10

INDIRETO

Retorna a referência especificada por uma seqüência de caracteres de texto. As referências são imediatamente avaliadas para exibir seu conteúdo. Use INDIRETO quando quiser mudar a referência a uma célula em uma fórmula sem mudar a própria fórmula. Sintaxe INDIRETO(texto_ref;a1) Texto_ref é uma referência a uma A1, uma referência em estilo L1C1, uma referência a uma célula como texto_ref não for uma referência de erro #REF!.  célula que contém uma referência em estilo um nome definido como uma referência ou uma seqüência de caracteres de texto. Se célula válida, INDIRETO retorna o valor de

Se texto_ref referir-se a outra pasta de trabalho (uma referência externa), ela deve ser aberta. Se a pasta de trabalho original não estiver aberta, INDIRETO retornará o valor de erro #REF!

A1 é um valor lógico que especifica o tipo de referência contido na célula texto_ref.  Se a1 for VERDADEIRO ou omitido, texto_ref será interpretado como uma referência em estilo A1.
Página 39 de 219

Microsoft Excel – Estudo Avançado

Se a1 for FALSO, texto_ref será interpretado como uma referência em estilo L1C1.

Exemplo

- Função INDIRETO

2.5.11

ÍNDICE

A função ÍNDICE apresenta duas formas de sintaxe: matriz e referência. A forma de matriz sempre retorna um valor ou uma matriz de valores; a forma de referência sempre retorna uma referência. Use a forma de matriz se o primeiro argumento de ÍNDICE for uma constante de matriz. Sintaxe da forma matricial ÍNDICE(matriz,núm_linha,núm_coluna) Matriz é um intervalo de células ou uma constante de matriz.  Se a matriz contiver apenas uma linha ou coluna, o argumento núm_linha ou núm_coluna correspondente é opcional. Se a matriz tiver mais de uma linha e mais de uma coluna e apenas núm_linha ou núm_coluna for usado, ÍNDICE retornará uma matriz referente à linha ou coluna inteira da matriz.

Núm_linha seleciona a linha na matriz a partir da qual um valor deverá ser retornado. Se núm_linha for omitido, núm_coluna é obrigatório. Núm_coluna seleciona a coluna na matriz a partir da qual um valor deverá ser retornado. Se núm_coluna for omitido, núm_linha é obrigatório.
Página 40 de 219

 Se ref for omitido. Página 41 de 219  . ÍNDICE retornará a matriz de valores referente à coluna ou linha inteira. respectivamente. Exemplo Função Índice 2.Microsoft Excel – Estudo Avançado Comentários  Se os argumentos núm_linha e núm_coluna forem usados.12 LIN Retorna o número da linha de uma referência. pressione CTRL+SHIFT+ENTER. Se ref for um intervalo de células e LIN for inserida como uma matriz vertical. Para inserir uma fórmula de matriz. ÍNDICE retornará o valor de erro #REF!. LIN retornará os números de linha de referência como uma matriz vertical.5.   Núm_linha e núm_coluna devem fazer referência a uma célula dentro de uma matriz. ÍNDICE retornará o valor contido na célula que estiver no ponto de interseção entre núm_linha e núm_coluna. Sintaxe LIN(ref) Ref é a célula ou intervalo de células cujo número da linha você deseja obter. caso contrário. insira a função ÍNDICE como uma fórmula de matriz em um intervalo horizontal de células para uma linha e em um intervalo vertical de células para uma coluna. Se você definir núm_linha ou núm_coluna como 0 (zero). será equivalente à referência da célula na qual a função LIN aparecer. Para usar valores retornados como uma matriz.

Exemplo Função LIN 2.13 LINS Retorna o número de linhas em uma referência ou matriz. 2.Microsoft Excel – Estudo Avançado  Ref não pode se referir a áreas múltiplas. Sintaxe LINS(matriz) Matriz é uma matriz. Sintaxe DPD(custo.recuperação.6.6 Funções Financeiras Vamos ver as principais funções financeiras disponibilizadas pelo Excel XP. uma fórmula de matriz ou uma referência a um intervalo de células cujo número de linhas você deseja obter.5.vida_útil) Página 42 de 219 .1 DPD Retorna a depreciação em linha reta de um ativo durante um período. Exemplo Função LINS 2.

Se você fizer pagamentos mensais para um empréstimo de quatro anos com uma taxa de juros de 12%. Recuperação é o valor no final da depreciação (às vezes chamado de valor residual do ativo). vp é a quantia do empréstimo. Comentários  Certifique-se de que está consistente sobre as unidades usadas para especificar a taxa e nper.6.período. use 12%/12 para taxa e 4*12 para nper. Vida_útil é o número de períodos durante os quais o ativo é depreciado (às vezes chamado vida útil do ativo).nper. Página 43 de 219 . Para um empréstimo. Sintaxe ÉPGTO(taxa. Essa função é fornecida para que haja compatibilidade com o Lotus 1-2-3. use 12% para taxa e 4 para nper.vp) Taxa é a taxa de juros do investimento.2 ÉPGTO Calcula os juros pagos durante um período específico de um investimento.Microsoft Excel – Estudo Avançado Custo é o custo inicial do ativo. Nper é o número total de períodos de pagamento do investimento. Se fizer pagamentos anuais no mesmo empréstimo. Período é o período para o qual você deseja encontrar os juros e deve estar entre 1 e nper. Vp é o valor presente do investimento. Exemplo Função DPD 2.

Para obter uma descrição completa dos argumentos em IPGTO e para obter mais informações sobre funções de anuidade.  Exemplo Função ÉPGTO 2.vf. é representado por números positivos.Microsoft Excel – Estudo Avançado  Para todos os argumentos. é representado por números negativos. Para obter informações adicionais sobre funções financeiras. consulte a função VP. Nper é o número total de períodos de pagamento em uma anuidade.período.tipo) Taxa é a taxa de juros por período.6. como cheques de dividendos e outros depósitos. como depósitos em poupanças ou saques. Período é o período cujos juros se deseja saber e deve estar no intervalo entre 1 e nper. consulte VP. o saldo em dinheiro recebido.vp. Página 44 de 219 .nper. Vp é o valor presente ou atual de uma série de pagamentos futuros. Sintaxe IPGTO(taxa. o saldo em dinheiro pago.3 IPGTO Retorna o pagamento de juros para um determinado período de investimento de acordo com pagamentos periódicos e constantes e com uma taxa de juros constante.

Se vf for omitido. tais como depósitos em poupança. Se fizer pagamentos mensais de um empréstimo de quatro anos com taxa de juros de 12% ao ano. Todos os argumentos. Se tipo for omitido. tais como cheques de dividendos. saques. onde 0 é o fim do período e 1 o início do período. ou o saldo. é 0). por exemplo. Comentários  Certifique-se de que esteja sendo consistente quanto às unidades usadas para especificar taxa e nper. que você deseja obter depois do último pagamento. serão representados por números negativos. serão representados por números positivos. use 12%/12 para taxa e 4*12 para nper. depósitos recebidos. use 12% para taxa e 4 para nper.Microsoft Excel – Estudo Avançado Vf é o valor futuro. Sintaxe Página 45 de 219 .4 VF Retorna o valor futuro de um investimento de acordo com os pagamentos periódicos e constantes e com uma taxa de juros constante. será considerado 0 (o valor futuro de um empréstimo.6. Se você fizer pagamentos anuais para o mesmo empréstimo.  Exemplo Função IPGTO 2. será considerado 0. Tipo é o número 0 ou 1 e indica as datas de vencimento dos pagamentos.

serão representados por números negativos. Se pgto for omitido. Geralmente. Vp é o valor presente ou a soma total correspondente ao valor presente de uma série de pagamentos futuros.Microsoft Excel – Estudo Avançado VF(taxa. será considerado 0. consulte VP. tais como depósitos em poupança. Se vp for omitido.  Exemplo Função VF Página 46 de 219 . serão representados por números positivos. use 12%/12 para taxa e 4*12 para nper. será considerado 0 (zero) e a inclusão do argumento pgto será obrigatória. não pode mudar durante a vigência da anuidade. saques. Taxa é a taxa de juros por período. Pgto é o pagamento feito a cada período. use 12% para taxa e 4 para nper. pgto contém o capital e os juros e nenhuma outra tarifa ou taxas. Se você fizer pagamentos anuais para o mesmo empréstimo. você deverá incluir o argumento vp. tais como cheques de dividendos. Todos os argumentos.vp. Tipo é o número 0 ou 1 e indica as datas de vencimento dos pagamentos. Comentários  Certifique-se de que esteja sendo consistente quanto às unidades usadas para especificar taxa e nper. Se fizer pagamentos mensais de um empréstimo de quatro anos com taxa de juros de 12% ao ano. Onde 0 é o valor futuro e 1 o valor presente. depósitos recebidos.nper. Nper é o número total de períodos de pagamento em uma anuidade.pgto. Se tipo for omitido.tipo) Para obter uma descrição completa dos argumentos em VF e para obter mais informações sobre as funções de anuidade.

na fórmula como taxa. Por exemplo. ou 0. você deverá incluir o argumento pgto.Microsoft Excel – Estudo Avançado 2.tipo) Taxa é a taxa de juros por período. que você deseja obter depois do último pagamento.000 para pagar um projeto especial em 18 anos. Sintaxe VP(taxa. Exemplo Página 47 de 219 .nper. O valor presente é o valor total correspondente ao valor atual de uma série de pagamentos futuros.6.33 na fórmula como pgto.vf. Onde 0 é o valor futuro e 1 o valor presente. ou 0. os pagamentos mensais por um empréstimo para o carro de R$ 10.pgto. se você obtiver um empréstimo para um carro com uma taxa de juros de 10% ao ano e fizer pagamentos mensais.83%.0083. será considerado 0 (o valor futuro de determinado empréstimo.5 VP Retorna o valor presente de um investimento. você deverá incluir o argumento vf.000 é o valor futuro. Por exemplo. Se pgto for omitido. Por exemplo.000 de quatro anos a 12% são R$ 263. Tipo é o número 0 ou 1 e indica as datas de vencimento. pgto inclui o principal e os juros. se quiser economizar R$ 50. Por exemplo. Vf é o valor futuro. é 0). o valor do empréstimo é o valor presente para quem empresta. Você pode então calcular a taxa de juros e determinar quanto deverá economizar a cada mês. Você deve inserir 48 na fórmula para nper. quando você pede dinheiro emprestado. ou um saldo de caixa. Por exemplo. ou 0. o empréstimo terá 4*12 (ou 48) períodos. Nper é o número total de períodos de pagamento de uma anuidade.33. Se vf for omitido.83%. Geralmente. se você obtiver um empréstimo de quatro anos e fizer pagamentos mensais. então R$ 50. Pgto é o pagamento feito a cada período e não pode mudar durante a vigência da anuidade. a sua taxa de juros mensal será 10%/12. Se vf for omitido. por exemplo. Você deve inserir 10%/12. Você deve inserir -263. e não há outras tarifas ou taxas.

MTIR retornará o valor de erro #DIV/0!. Estes números representam uma série de pagamentos (valores negativos) e receitas (valores positivos) que ocorrem em períodos regulares.taxa_reinvest) Valores é uma matriz ou referência a células que contêm números. Se n for o número de fluxos de caixa. Caso contrário. Certifique-se de inserir os valores de pagamento e renda na seqüência desejada e com os sinais corretos (valores positivos para quantias recebidas. células com valor zero serão incluídas. estes valores serão ignorados. no entanto.Microsoft Excel – Estudo Avançado Função VP 2.  Se uma matriz ou argumento de referência contiver texto. Taxa_financ é a taxa de juros paga sobre o dinheiro usado nos fluxos de caixa.6. Taxa_reinvest é a taxa de juros recebida nos fluxos de caixa ao reinvesti-los. Comentários  MTIR utiliza a ordem de valores para interpretar a ordem de fluxos de caixa.6 MTIR Retorna a taxa interna de retorno modificada para uma série de fluxos de caixa periódicos. então a fórmula para MTIR será: Página 48 de 219  .  Valores deve conter pelo menos um valor positivo e um negativo para calcular a taxa interna de retorno modificada. MTIR considera o custo do investimento e os juros recebidos no reinvestimento do capital. taxa f para taxa_financ e taxa r para taxa_reinvest.taxa_financ. Sintaxe MTIR(valores. valores negativos para quantias pagas). valores lógicos ou células vazias.

Se esta função não estiver disponível e retornar o erro #NOME?.7 NOMINAL Retorna a taxa de juros anual nominal. Sintaxe NOMINAL(taxa_efet. dados a taxa efetiva e o número de períodos compostos por ano.npera) Taxa_efet é a taxa de juros efetiva.6. Npera é o número de períodos compostos por ano.Microsoft Excel – Estudo Avançado Exemplo Função MITR 2. instale e carregue o suplemento Ferramentas de análise. Comentários Página 49 de 219 .

NOMINAL está relacionada a EFFECT conforme indicado na seguinte equação:   Exemplo Função NOMINAL 2. Página 50 de 219 .vf.pgto. Vp é o valor presente ou atual de uma série de pagamentos futuros. Geralmente.tipo) Para obter uma descrição completa dos argumentos em NPER e sobre as funções de anuidade. NOMINAL retornará o valor de erro #VALOR!. pgto contém o capital e os juros. consulte VP.vp. Taxa é a taxa de juros por período.8 NPER Retorna o número de períodos para investimento de acordo com pagamentos constantes e periódicos e uma taxa de juros constante. mas nenhuma outra tarifa ou taxas. Se qualquer um dos argumentos não for numérico. Se taxa_efet ≤ 0 ou se npera < 1. Sintaxe NPER(taxa.6.Microsoft Excel – Estudo Avançado   Npera é truncado para que apareça como um número inteiro. NOMINAL retornará o valor de erro #NÚM!. não pode mudar durante a vigência da anuidade. Pgto é o pagamento feito em cada período.

por exemplo.nper.Microsoft Excel – Estudo Avançado Vf é o valor futuro. consulte a função VP.6. Exemplo Função NPER 2. Vp é o valor presente—o valor total presente de uma série de pagamentos futuros.tipo) Para obter uma descrição mais completa dos argumentos em PGTO. Nper é o número total de pagamentos pelo empréstimo. Taxa é a taxa de juros por período. Se vf for omitido. Página 51 de 219 . será considerado 0 (o valor futuro de um empréstimo. é 0).vp. que você deseja obter depois do último pagamento. onde 0 significa o fim do período e 1 o início do período. Sintaxe PGTO(taxa.9 PGTO Retorna o pagamento periódico de uma anuidade de acordo com pagamentos constantes e com uma taxa de juros constante.vf. ou o saldo. Tipo é o número 0 ou 1 e indica as datas de vencimento.

Microsoft Excel – Estudo Avançado Vf é o valor futuro.6. por exemplo. consulte VP. que você deseja obter depois do último pagamento. será considerado 0 (o valor futuro de determinado empréstimo. Nper é o número total de períodos de pagamento em uma anuidade.tipo) Para uma descrição mais completa dos argumentos em PPGTO. por exemplo. 0).período. Exemplo Função PGTO 2. Vp é o valor presente — o valor total correspondente ao valor atual de uma série de pagamentos futuros. Taxa é a taxa de juros por período.vp. será considerado 0 (o valor futuro de determinado empréstimo.nper. Vf é o valor futuro. Página 52 de 219 . ou o saldo de caixa. que você deseja obter depois do último pagamento. 0).vf. Onde 0 representa o fim do período e 1 o início do período. Se vf for omitido. Tipo é o número 0 ou 1 e indica as datas de vencimento. Se vf for omitido. Período especifica o período e deve estar entre 1 e nper. ou o saldo de caixa. Onde 0 significa o fim do período e 1 o início do período. Tipo é o número 0 ou 1 e indica as datas de vencimento.10 PPGTO Retorna o pagamento de capital para determinado período de investimento de acordo com pagamentos constantes e periódicos e uma taxa de juros constante. Sintaxe PPGTO(taxa.

6. Se fizer pagamentos mensais de um empréstimo de quatro anos com taxa de juros de 12% ao ano. TAXA retornará o valor de erro #NÚM!. Pgto é o pagamento feito em cada período e não pode mudar durante a vigência da anuidade. Exemplo Função PPGTO 2.vp. Se você fizer pagamentos anuais para o mesmo empréstimo. TAXA é calculado por iteração e pode ter zero ou mais soluções. Página 53 de 219 .pgto.Microsoft Excel – Estudo Avançado Comentário Certifique-se de que esteja sendo consistente quanto às unidades usadas para especificar taxa e nper.0000001 depois de 20 iterações. Se pgto for omitido. vp. Vp é o valor presente — o valor total correspondente ao valor atual de uma série de pagamentos futuros. Se os resultados sucessivos de TAXA não convergirem para 0. pgto inclui o principal e os juros e nenhuma outra taxa ou tributo.estimativa) Consulte VP para obter uma descrição completa dos argumentos nper. Sintaxe TAXA(nper.tipo. Geralmente.11 TAXA Retorna a taxa de juros por período de uma anuidade. Nper é o número total de períodos de pagamento em uma anuidade. vf e tipo. você deverá incluir o argumento vf.vf. use 12% para taxa e 4 para nper. pgto. use 12%/12 para taxa e 4*12 para nper.

é 0). os fluxos de caixa devem ser feitos em intervalos regulares.   Se você omitir estimativa. Página 54 de 219 . Estimativa é a sua estimativa para a taxa. Exemplo Função TAXA 2. Entretanto.12 TIR Retorna a taxa interna de retorno de uma seqüência de fluxos de caixa representada pelos números em valores. que você deseja obter depois do último pagamento. utilize 12% para estimativa e 4 para nper. Em geral. onde 0 é o fim do período e 1 o início do período. Se você fizer pagamentos mensais por um empréstimo de quatro anos com juros de 12% ao ano.6. Se vf for omitido. Tipo é o número 0 ou 1 e indica as datas de vencimento. utilize 12%/12 para estimativa e 4*12 para nper. este argumento será considerado 10%. será considerado 0 (o valor futuro de um empréstimo. Estes fluxos de caixa não precisam ser iguais como no caso de uma anuidade. como mensalmente ou anualmente.Microsoft Excel – Estudo Avançado Vf é o valor futuro. Se TAXA não convergir. Comentários Certifique-se de que esteja sendo consistente quanto às unidades usadas para especificar estimativa e nper. por exemplo. Se fizer pagamentos anuais para o mesmo empréstimo. atribua valores diferentes para estimativa. ou o saldo. A taxa interna de retorno é a taxa de juros recebida para um investimento que consiste em pagamentos (valores negativos) e receitas (valores positivos) que ocorrem em períodos regulares. TAXA converge se estimativa estiver entre 0 e 1.

Se TIR não puder localizar um resultado que funcione depois de 20 tentativas. Se TIR fornecer o valor de erro #NÚM!.00001 por cento.   Comentários TIR está intimamente relacionada com VPL.) Exemplo Página 55 de 219 .60E-08 é. Certifique-se de inserir os valores de pagamentos e rendas na seqüência desejada. TIR refaz o cálculo até o resultado ter uma precisão de 0. o valor 3. a função do valor presente líquido. TIR usa a ordem de valores para interpretar a ordem de fluxos de caixa.1 (10 por cento). A taxa de retorno calculada por TIR é a taxa de juros correspondente a um valor presente líquido zero.Microsoft Excel – Estudo Avançado Sintaxe TIR(valores. não é necessário fornecer estimativa para o cálculo de TIR.  Valores deve conter pelo menos um valor positivo e um negativo para calcular a taxa interna de retorno.estimativa) Valores é uma matriz ou uma referência a células que contêm números cuja taxa interna de retorno se deseja calcular. 0.60E-08 (Com a precisão do cálculo TIR. Se estimativa for omitida. A seguinte fórmula demonstra como VPL e TIR estão relacionados: VPL(TIR(B1:B6). na verdade. ou se o resultado não for próximo do esperado. o valor de erro #NÚM! será retornado. será considerada 0. Começando por estimativa. estes valores serão ignorados.   Estimativa é um número que se estima ser próximo do resultado de TIR. Se uma matriz ou argumento de referência contiver texto. tente novamente com um valor diferente para estimativa.B1:B6) é igual a 3. Na maioria dos casos.  O Microsoft Excel usa uma técnica iterativa para calcular TIR. valores lógicos ou células em branco.

Argumentos que são números..  Página 56 de 219 . .. Certifique-se de fornecer os valores de pagamentos e receita na seqüência correta.valor2. valor2.... para interpretar a ordem de fluxos de caixa.) Taxa é a taxa de desconto sobre o intervalo de um período. Sintaxe VPL(taxa... valores lógicas ou representações em forma de texto de números são contados. valor2.6.  VPL utiliza a ordem de valor1. Valor1.  Valor1. devem ter o mesmo intervalo de tempo entre eles e ocorrer ao final de cada período... células vazias.13 VPL Calcula o valor líquido atual de um investimento utilizando a taxa de desconto e uma série de futuros pagamentos (valores negativos) e receita (valores positivos)..valor1.Microsoft Excel – Estudo Avançado TIR 2. são argumentos de 1 a 29 que representam os pagamentos e a receita.. os argumentos que são valores de erro ou texto que não podem ser traduzidos em números são ignorados. valor2.

Microsoft Excel – Estudo Avançado  Se um argumento for uma matriz ou referência.. os fluxos de caixa VP devem ser constantes durante o período de investimento.. a fórmula para VPL será:   VPL assemelha-se à função VP (valor presente). Para obter informações sobre anuidades e funções financeiras. Se o seu primeiro fluxo de caixa ocorrer no início do primeiro período. Células vazias. A principal diferença entre VP e VPL é que a primeira permite que os fluxos de caixa comecem no final ou no início do período. O cálculo de VPL baseia-se em fluxos e caixa futuros. . consulte VP.  Exemplo Função VPL Página 57 de 219 . Para obter mais informações. o primeiro valor deverá ser incluído ao resultado VPL. consulte os exemplos abaixo. Comentários  O investimento de VPL começa um período antes da data do fluxo de caixa de valor1 e termina com o último fluxo de caixa na lista. Diferentemente dos valores de fluxo de caixa da variável VPL. Se n for o número de fluxos de caixa na lista de valores..)=0. apenas os números da matriz ou referência serão contados. TIR é a taxa para qual VPL é igual a zero: VPL(TIR(.). VPL também está relacionado à função TIR (taxa interna de retorno). valores de texto ou de erro na matriz ou referência são ignorados. valores lógicos. e não nos valores de argumentos..

5.   2.2 ANO Retorna o ano correspondente a uma data.5 representa a hora 12:00 meio-dia.7. Se o formato da célula era Geral antes de a função ser inserida. 2. use DATA(2008. o número de série 0. Os números à direita da vírgula decimal no número de série representam a hora. A função AGORA só muda quando a planilha é calculada ou quando a macro que contém a função é executada. Comentários O Microsoft Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos.1 AGORA Retorna o número de série seqüencial da data e hora atuais. Sintaxe ANO(núm_série) Núm_série é a data do ano que você deseja localizar. não sendo atualizada continuamente. Por padrão. Por exemplo. Por exemplo. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39. o resultado será formatado como uma data. As datas devem ser inseridas com a função DATA ou como resultado de outras fórmulas ou funções. os números à esquerda representam a data.23) para 23 de maio de 2008.7. Sintaxe AGORA( ) Comentários  O Microsoft Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos. Por padrão.7 Funções de Data e hora Vamos ver as principais funções para a manipulação de data e hora no Excel XP. 1° de janeiro de 1900 é o Página 58 de 219 .448 dias após 1° de janeiro de 1900. O ano é retornado como um inteiro no intervalo de 1900-9999.Microsoft Excel – Estudo Avançado 2.

 Se o ano estiver entre 0 (zero) e 1899 (inclusive). os valores retornados para as funções ANO.1) retorna 2 janeiro.448 dias após 1° de janeiro de 1900. MÊS e DIA serão valores associados à data gregoriana equivalente.1) retorna 2 janeiro. Se o formato da célula era Geral antes de a função ser inserida.função ANO DATA Retorna o número de série seqüencial que representa uma determinada data.2. DATA(108. Por exemplo. Sintaxe DATA(ano. Por exemplo.mês) Ano O argumento de ano pode ter de um a quatro dígitos.Microsoft Excel – Estudo Avançado número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39. Por exemplo. DATA(2008. Por padrão.dia. não importa qual seja o formato de exibição do valor de data fornecido. O Microsoft Excel interpretará o argumento de ano de acordo com o sistema de data que você estiver usando. Os valores retornados pelas funções ANO. Se o ano estiver entre 1900 e 9999 (inclusive). MÊS e DIA serão valores gregorianos. o Excel retornará o valor de erro #NÚM!.2. o Excel adicionará o valor a 1900 para calcular o ano. Se o ano for menor do que 0 ou igual a ou maior que 10000. Página 59 de 219   . Exemplo . 2008. se o formato de exibição da data fornecida for HIjri. o Excel para Windows usa o sistema de data de 1900. o Excel usará esse valor como o ano. 2008 (1900+108). o resultado será formatado como uma data.

3 DATA.1) retorna 2 janeiro. 2008 (1900+108). o mês e o dia são fórmulas.35. Se o valor de mês for maior do que 12. esse número será adicionado ao primeiro dia do mês. Se o valor de dia for maior do que o número de dias do mês especificado. DATA(2008.  Função DATA 2.2.2. Use DATA.14) retorna o número de série que representa 2 fevereiro. DATA(2008. não constantes.VALOR Retorna o número de série da data representada por texto_data. 2009. o Excel adicionará esse valor a 1900 para calcular o ano. Se o ano for menor do que 4 ou igual a ou maior que 10000 ou se estiver entre 1900 e 1903 (inclusive). Por exemplo. DATA(108. Por exemplo.2. A função DATA é mais útil em fórmulas em que o ano.7. DATA(2008.448 dias após 1° de janeiro de 1900.   Mês é um número que representa o mês do ano. 2008.1) retorna o número de série que representa 4 fevereiro. Por exemplo. o Excel usará esse valor como o ano.Microsoft Excel – Estudo Avançado  Se o ano estiver entre 4 e 1899 (inclusive). Por exemplo.VALOR para converter uma data representada pelo texto em um número de série. esse número será adicionado ao primeiro mês do ano especificado. Dia é um número que representa o dia do mês. Por padrão. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39. Comentários  O Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos. Se o ano estiver entre 1904 e 9999 (inclusive). o Excel retornará o valor de erro #NÚM!. Página 60 de 219 .1) retorna 2 janeiro. 2008.

Microsoft Excel – Estudo Avançado Sintaxe DATA. "30/1/1998" ou "30-jan-1998" são seqüências de caracteres de texto entre aspas que representam datas. O dia é dado como um inteiro que varia de 1 a 31. Comentários O Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos.7. A maior parte das funções converte automaticamente valores de data em números de série. Se a parte do ano de texto_data for omitida. Sintaxe DIA(núm_série) Página 61 de 219 . Por padrão.448 dias após 1° de janeiro de 1900. texto_data deverá representar uma data de 1º de janeiro de 1900 a 31 de dezembro de 9999.4 DIA Retorna o dia de uma data representado por um número de série.VALOR 2. Ao usar o sistema de data padrão no Excel para Windows.VALOR(texto_data) Texto_data é texto que representa uma data no formato de data do Microsoft Excel. As informações de hora texto_data são ignoradas.VALOR utilizará o ano atual do relógio interno do computador. Por exemplo. Exemplo Função DATA. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39. DATA.

MÊS e DIA serão valores gregorianos. Os valores retornados pelas funções ANO. independentemente do formato de exibição do valor de data fornecido. variando de 1 (domingo) a 7 (sábado).7.5.5.5 DIA. Por exemplo. use DATA(2008. Comentários O Microsoft Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos. Página 62 de 219 .448 dias após 1° de janeiro de 1900. Retornar_tipo é um número que determina o tipo do valor retornado. O dia é dado como um inteiro.Microsoft Excel – Estudo Avançado Núm_série é a data do dia que você está tentando encontrar. onde 1 determina o intervalo entre 1 e 7 (de Domingo a sábado). por padrão. As datas devem ser inseridas com a função DATA ou como resultado de outras fórmulas ou funções. As datas devem ser inseridas com a função DATA ou como resultado de outras fórmulas ou funções. Exemplo Função DIA 2. o valor 2 representa o intervalo 1 a 7 como de Segunda a Domingo e o valor 3 representa o mesmo intervalo. Por padrão. retornar_tipo) Núm_série é um número seqüencial que representa a data do dia que você está tentando encontrar.23) para 23 de maio de 2008. Sintaxe DIA. MÊS e DIA serão valores associados à data gregoriana equivalente.DA. os valores retornados para as funções ANO. use DATA(2008.SEMANA(núm_série. Por exemplo. Segunda a domingo mas para valores de 0 a 6. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39.SEMANA Retorna o dia da semana correspondente a uma data.DA. se o formato de exibição da data fornecida for Hijir.23) para 23 de maio de 2008. Por exemplo.

7. Sintaxe DIAS360(data_inicial. Método é um valor lógico que especifica que método será usado no cálculo.  Se método for FALSO ou Omitido. se o seu sistema de contábil estiver baseado em doze meses de 30 dias. ou seja.SEMANA 2. Se data_inicial ocorrer após data_final.6 DIA360 Retorna o número de dias entre duas datas com base em um ano de 360 dias (doze meses de 30 dias). ela se tornará igual ao dia 30 do mesmo mês. use DATA(2008. Por padrão. o americano ou o europeu. Use esta função para ajudar no cálculo dos pagamentos. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39. Por exemplo.DA. DIAS360 retornará um número negativo. Exemplo Função DIA.5.Microsoft Excel – Estudo Avançado Comentários O Microsoft Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos. As datas devem ser inseridas com a função DATA ou como resultado de outras fórmulas ou funções.data_final.23) para 23 de maio de 2008. utiliza-se o método americano.448 dias após 1° de janeiro de 1900. se a data inicial for o dia 31 de um mês.método) Data_inicial e data_final são as duas datas entre as quais você deseja saber o número de dias. a data final se tornará igual ao dia Página 63 de 219 . Se a data final for o dia 31 de um mês e a data inicial for anterior ao trigésimo dia de um mês.

Sintaxe HOJE( ) Comentários O Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos.  Se o método for Verdadeiro.7 HOJE Retorna o número de série da data atual. Por padrão. o resultado será formatado como uma data.7. Página 64 de 219 . Exemplo Função DIA360 2. a data inicial e final que ocorrer no dia 31 de um mês se tornará igual ao trigésimo dia do mesmo mês.448 dias após 1° de janeiro de 1900.Microsoft Excel – Estudo Avançado primeiro do próximo mês. ou seja. O número de série é o código de datahora usado pelo Microsoft Excel para cálculos de data e hora.448 dias após 1° de janeiro de 1900. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39. a data final se tornará igual ao trigésimo dia do mesmo mês. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39. utiliza-se o método europeu. Se o formato da célula era Geral antes de a função ser inserida. Caso contrário. Por padrão. Comentários O Microsoft Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos.

23) para 23 de maio de 2008. Exemplo Função Hoje 2. Por padrão. as seqüências de caracteres de texto entre aspas "6:45 PM" e "18:45" representam hora. variando de 1 (janeiro) a 12 (dezembro).448 dias após 1° de janeiro de 1900.TEMPO(texto_hora) Texto_hora é uma seqüência de caracteres de texto que representa uma hora em qualquer um dos formatos de hora do Microsoft Excel.Microsoft Excel – Estudo Avançado 2. use DATA(2008. por exemplo. Comentários O Microsoft Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39. As datas devem ser inseridas com a função DATA ou como resultado de outras fórmulas ou funções. O mês é fornecido como um inteiro. Sintaxe VALOR.7.7. O número decimal é um valor que varia de 0 a 0.8 MÊS Retorna o mês de uma data representado por um número de série. Sintaxe MÊS(núm_série) Núm_série é a data do mês que você está tentando encontrar.9 VALOR TEMPO Retorna o número decimal da hora representada por uma seqüência de caracteres de texto.5. Por exemplo. Comentários Página 65 de 219 .99999999 e que representa as horas entre 0:00:00 (12:00:00 AM) e 23:59:59 (11:59:59 PM).

esses valores serão ignorados.  Página 66 de 219 .. Se um argumento de uma matriz ou referência contiver texto ou células vazias. 12:00 PM é representado por 0.. lógico2.Microsoft Excel – Estudo Avançado   As informações de data em texto_hora são ignoradas.8.) Lógico1.TEMPO 2. O Excel para Windows e o Excel para o Macintosh usam sistemas de data diferentes como seus padrões.5 porque é metade de um dia).8 Funções Lógicas Vamos verificar as funções que trabalham com valores de tipos boleanos (verdadeiro e falso. . ou devem ser matrizes ou referências que contêm valores lógicos. sim ou não).. Os valores de tempo são uma parte do valor de data e são representados por um número decimal (por exemplo.lógico2. 2. retornará FALSO se um ou mais argumentos forem falsos.. como VERDADEIRO ou FALSO. Comentários  Os argumentos devem ser avaliados para valores lógicos. são de 1 a 30 condições que você deseja testar e que podem ser VERDADEIRO ou FALSO. Sintaxe E(lógico1.1 E Retornará VERDADEIRO se todos os argumentos forem verdadeiros. Exemplo Função VALOR..

2 FALSO Retorna o valor lógico FALSO. 2. E retornará o valor de erro #VALOR!. Sintaxe NÃO(lógico) Lógico é um valor ou expressão que pode ser avaliado como VERDADEIRO ou FALSO. e o Microsoft Excel a interpretará como o valor lógico FALSO.3 NÃO Inverte o valor do argumento.8. Use NÃO quando quiser ter certeza de que um valor não é igual a outro valor determinado.Microsoft Excel – Estudo Avançado  Se o intervalo especificado não contiver valores lógicos. Página 67 de 219 .8. Exemplo Função E 2. Sintaxe FALSO( ) Comentários Você também pode digitar a palavra FALSO diretamente na planilha ou fórmula.

. como VERDADEIRO ou FALSO. NÃO retornará FALSO.4 OU Retorna VERDADEIRO se qualquer argumento for VERDADEIRO. Comentários  Os argumentos devem ser avaliados como valores lógicos. NÃO retornará VERDADEIRO.. Se o intervalo especificado não contiver valores lógicos.    Exemplo Página 68 de 219 . pressione CTRL+SHIFT+ENTER.. Você pode usar uma fórmula de matriz OU para verificar se um valor ocorre em uma matriz.8.lógico2. Exemplo Função NÃO 2.lógico2. OU retornará o valor de erro #VALOR!. Sintaxe OU(lógico1.. são de uma a 30 condições que você deseja testar e que podem resultar em VERDADEIRO ou FALSO. se lógico for VERDADEIRO. retorna FALSO se todos os argumentos forem FALSOS..Microsoft Excel – Estudo Avançado Comentários Se lógico for FALSO. Para inserir uma fórmula de matriz. ou em matrizes ou referências que contenham valores lógicos.. Se um argumento de uma matriz ou referência contiver texto ou células vazias. esses valores serão ignorados.) Lógico1.

2.5 VERDADEIRO Retorna o valor lógico VERDADEIRO. . Sintaxe CONT. 2. Sintaxe VERDADEIRO( ) Comentários Você pode inserir o valor VERDADEIRO diretamente nas células e fórmulas sem usar esta função..9. Use CONT. valor2. A função VERDADEIRO é fornecida primeiramente para compatibilidade com outros programas de planilha..9 Funções Estatísticas Veremos agora as funções muito utilizadas para cálculos estatísticos em planilhas eletrônicas do Excel XP.NÚM para obter o número de entradas em um campo de número que estão em um intervalo ou matriz de números. mas somente os números são contados.) Valor1.valor2.NÚM Conta quantas células contêm números e também os números na lista de argumentos. Comentários Página 69 de 219 .1 CONT..8.Microsoft Excel – Estudo Avançado Função OU 2. são argumentos de 1 a 30 que contêm ou se referem a uma variedade de diferentes tipos de dados...NÚM(valor1.

Página 70 de 219 .SE(intervalo. os argumentos que são valores de erro ou texto que não podem ser traduzidos em números são ignorados. ">32". datas ou representações de texto de número são calculados.  Exemplo Função CONT. Células vazias.NÚM 2. os critérios podem ser expressos como 32.SE Calcula o número de células não vazias em um intervalo que corresponde a determinados critérios. expressão ou texto que define quais células serão contadas.Microsoft Excel – Estudo Avançado  Os argumentos que são números. utilize a função CONT. "maçãs".critérios) Intervalo é o intervalo de células no qual se deseja contar células não vazias. somente os números nesta matriz ou referência são calculados.VALORES. Se um argumento for uma matriz ou referência. "32". Sintaxe CONT. Se você precisa calcular valores lógicos. Por exemplo. texto ou valores de erro. valores lógicos.2 CONT. Critérios é o critério na forma de um número. texto ou valores de erro nesta matriz ou referência são ignorados.9.

SE 2.. um valor é qualquer tipo de informações. mas não incluindo células em branco.. Por exemplo.3 CONT.Microsoft Excel – Estudo Avançado Comentários O Microsoft Excel fornece funções adicionais que podem ser usadas para analisar seus dados com base em uma condição. Use CONT. Neste caso. como uma bonificação de vendas baseada em um valor de vendas especificado.) Valor1.VALORES para calcular o número de células com dados em um intervalo ou matriz. incluindo texto vazio ("").valor2.. as células vazias na matriz ou referência são ignoradas. para calcular uma soma baseada em uma seqüência de caracteres de texto ou em um número contido em um intervalo.VALORES Calcula o número de células não vazias e os valores na lista de argumentos. Para que a fórmula retorne um de dois valores com base em uma condição. Se um argumento for uma matriz ou referência. utilize a função CONT.9. Exemplo Função CONT. use a função de planilha SOMASE. Se você não precisa calcular valores lógicos.NÚM Exemplo Página 71 de 219 . são argumentos de 1 a 30 que representam os valores que você deseja calcular.VALORES(valor1.. valor2.. use a função de planilha SE. texto ou valores de erro. Sintaxe CONT..

Microsoft Excel – Estudo Avançado Função CONT. Células com valores nulos não são contadas.VAZIO Conta o número de células vazias no intervalo especificado.VAZIO(intervalo) Intervalo é o intervalo no qual se deseja contar as células em branco. Comentários Células com fórmulas que retornam "" (texto vazio) também são contadas.9. Sintaxe CONTAR.VALORES 2. Exemplo Página 72 de 219 .4 CONTAR.

desde que tenham dimensões iguais. um intervalo com altura de uma linha ou largura de uma coluna). cada linha de val_conhecidos_x será interpretada como uma variável separada. val_conhecidos_y deve ser um vetor (ou seja. Se apenas uma variável for usada. Você também pode usar a função de planilha CRESCIMENTO para ajustar uma curva exponencial em valores x e y.cons tante) Val_conhecidos_y é o conjunto de valores y que você já conhece na relação y = b*m^x.  Se a matriz val_conhecidos_y estiver em uma única coluna. CRESCIMENTO retorna os valores y para uma série de novos valores x que você especifica usando valores x e y existentes. Se qualquer um dos números em val_conhecidos_y for 0 ou negativo. Sintaxe CRESCIMENTO(val_conhecidos_y. CRESCIMENTO retornará o valor de erro #NÚM!.Microsoft Excel – Estudo Avançado Função CONT. Se mais de uma variável for usada. val_conhecidos_y e val_conhecidos_x podem ser intervalos de qualquer formato. cada coluna de val_conhecidos_x será interpretada como uma variável separada.val_conhecidos_x.  A matriz val_conhecidos_x pode incluir um ou mais conjuntos de variáveis.  Se a matriz val_conhecidos_y for uma única linha.  Val_conhecidos_x é um conjunto opcional de valores x que você talvez conheça na relação y = b*m^x. Página 73 de 219 .5 CRESCIMENTO Calcula o crescimento exponencial previsto usando dados existentes.novos_valores_x.9.VAZIO 2.

.   Constante é um valor lógico que força ou não a constante b a se igualar a 1. Novos_valores_x são novos valores x para os quais você deseja que CRESCIMENTO retorne valores y correspondentes. será considerado como equivalente a val_conhecidos_x.2.. b será calculado normalmente. use vírgulas na mesma linha e pontos-e-vírgulas para separar linhas..3.  Exemplo Página 74 de 219 . se val_conhecidos_y estiver em uma única coluna. Ao inserir uma constante de matriz para um argumento. Comentários  As fórmulas que retornam matrizes devem ser inseridas como fórmulas de matriz após a seleção do número de células.} que é do mesmo tamanho de val_conhecidos_y.Microsoft Excel – Estudo Avançado Se val_conhecidos_x for omitido. Se constante for FALSO. Se val_conhecidos_y estiver em uma única linha. Se val_conhecidos_x e novos_valores_x forem omitidos. como val_conhecidos_x.. Se novos_valores_x for omitido. da mesma forma que val_conhecidos_x. val_conhecidos_x e novos_valores_x devem ter o mesmo número de linhas.} é do mesmo tamanho que val_conhecidos_y. pressupõe-se que a matriz {1..   Se constante for VERDADEIRO ou omitida. serão considerados como equivalentes à matriz {1.2. Portanto.3.   Novos_valores_x deve incluir uma coluna (ou linha) para cada variável independente. val_conhecidos_x e novos_valores_x devem ter o mesmo número de colunas. b será definido como 1 e os valores m serão ajustados para que y = m^x..

Por exemplo. FREQÜÊNCIA retornará o número de elementos em matriz_dados. deve ser inserida como uma fórmula matricial. Se matriz_dados não contiver valores. Matriz_bin é uma matriz ou referência a intervalos nos quais você deseja agrupar os valores contidos em matriz_dados. retorna uma matriz vertical de números. Pelo fato de FREQÜÊNCIA retornar uma matriz.9. Comentários  FREQÜÊNCIA é inserida como uma fórmula matricial depois de selecionado um intervalo de células adjacentes no qual você deseja que a distribuição fornecida apareça.Microsoft Excel – Estudo Avançado Função CRESCIMENTO 2. em seguida.6 FREQÜÊNCIA Calcula a freqüência com que os valores ocorrem em um intervalo de valores e. Se matriz_bin não contiver valores. use FREQÜÊNCIA para contar o número de resultados de teste. O elemento adicional da matriz retornada apresenta a contagem dos valores que estiverem acima do intervalo mais Página 75 de 219  . FREQÜÊNCIA retornará uma matriz de zeros. O número de elementos da matriz retornada é um a mais do que o número de elementos de matriz_bin. Sintaxe FREQÜÊNCIA(matriz_dados.matriz_bin) Matriz_dados é uma matriz ou uma referência a um conjunto de valores cujas freqüências você deseja contar.

Você pode usar esta função para selecionar um valor de acordo com a sua posição relativa. Exemplo .   FREQÜÊNCIA ignora células em branco e texto. você pode usar MAIOR para obter o primeiro.Microsoft Excel – Estudo Avançado alto.k) Página 76 de 219 .Função FREQÜÊNCIA 2. Por exemplo. Sintaxe MAIOR(matriz. A célula adicional retornará o número de valores de matriz_dados que forem maiores do que o valor do terceiro intervalo. Por exemplo.9. . o segundo e o terceiro resultados. As fórmulas que fornecem matrizes devem ser inseridas como fórmulas matriciais. certifique-se de inserir a FREQÜÊNCIA em quatro células para os resultados. ao contar três intervalos de valores inseridos em três células.7 MAIOR Retorna o maior valor k-ésimo de um conjunto de dados.

Sintaxe MÁXIMO(núm1.n) retornará o menor valor. .. são de 1 a 30 números para os quais você deseja saber o valor máximo.9. MAIOR(matriz.Microsoft Excel – Estudo Avançado Matriz é a matriz ou intervalo de dados cujo maior valor k-ésimo você deseja determinar.núm2.8 MÁXIMO Retorna o valor máximo de um conjunto de valores.1) retornará o maior valor e MAIOR(matriz. MAIOR retornará o valor de erro #NÚM!. Exemplo Função MAIOR 2.... Se n for o número de pontos de dados em um intervalo. K é a posição (do maior) na matriz ou intervalo de célula de dados a ser fornecida. Comentários Se a matriz estiver vazia.. Se k ≤ 0 ou se k for maior que o número de pontos de dados. núm2. MAIOR retornará o valor de erro #NÚM!. Comentários Página 77 de 219 .) Núm1.

valores lógicos ou texto na matriz ou referência serão ignorados. como VERDADEIRO e FALSO. Além de números. apenas os números nesta matriz ou referência serão usados..9 MÁXIMOA Retorna o maior valor em uma lista de argumentos.valor2. são comparados valores lógicos e de texto..) Valor1.Microsoft Excel – Estudo Avançado  Você pode especificar os argumentos que são números. Os argumentos que são valores de erro ou texto que não podem ser traduzidos em números causam erros. Sintaxe MÁXIMOA(valor1. células vazias. encontrar. Se os valores lógicos e o texto tiverem que ser ignorados. Para obter mais informações.   Exemplo Função MÁXIMO 2. Comentários são de 1 a 30 valores cujo valor máximo você deseja Página 78 de 219 . MÁXIMOA é semelhante a MÍNIMOA.. valores lógicos ou representações em texto de números.. use MÁXIMO.. consulte os exemplos de MÍNIMOA. MÁXIMO retornará 0.9. Se os argumentos não contiverem números. Células vazias. Se um argumento for uma matriz ou referência.. valor2.

Sintaxe MED(núm1. isto é. Se os argumentos não contiverem valores. As células vazias e valores de texto na matriz ou referência serão ignorados. MÁXIMOA retornará 0 (zero). Se o cálculo não deve incluir valores lógicos e de texto. Os argumentos que são valores de erro geram erros.núm2.9. Se um argumento for uma matriz ou referência.10 MED Retorna a mediana dos números indicados. A mediana é o número no centro de um conjunto de números. valores lógicos ou representações em forma de texto de números.    Exemplo Função MÁXMOA 2. metade dos números possui valores que são maiores do que a mediana e a outra metade possui valores menores..) Núm1. use. são de 1 a 30 números dos quais você deseja obter a mediana.. os argumentos que contiverem texto ou FALSO serão avaliados como 0 (zero).. núm2. serão usados apenas valores nesta matriz ou referência. em substituição.Microsoft Excel – Estudo Avançado  Você pode especificar argumentos que sejam números.. a função de planilha MÁXIMO. Comentários Página 79 de 219 . Os argumentos que contiverem VERDADEIRO serão avaliados como 1.. células vazias..

Página 80 de 219 . estes valores serão ignorados.Microsoft Excel – Estudo Avançado  Os argumentos devem ser números ou nomes. . no entanto. Se uma matriz ou argumento de referência contiver texto. células com valor zero serão incluídas.. valores lógicos ou células vazias..   Exemplo Função MED 2.núm2.) Núm1.9... O Microsoft Excel examina todos os números em cada argumento de referência ou matriz. núm2. são de 1 a 30 argumentos numéricos para os quais você deseja obter a média. MED calculará a média dos dois números do meio. Consulte a segunda fórmula no exemplo..11 Sintaxe MÉDIA Retorna a média aritmética dos argumentos. Se houver uma quantidade par de números no conjunto. matrizes ou referências que contenham números. matrizes ou referências que contenham números. MÉDIA(núm1. Comentários  Os argumentos devem ser números ou eles devem ser nomes.

os argumentos que contiverem FALSO serão avaliados como 0 (zero). valores lógicos ou células vazias.. Página 81 de 219  . O texto vazio ("") será avaliado como 0 (zero). nomes. Além de números.. valor2. intervalos de células ou valores para os quais você deseja obter a média.valor2. são de 1 a 30 células. são incluídos no cálculo valores lógicos e de texto. Exemplo Função Média 2. Comentários   Os argumentos devem ser números.. Se o cálculo não deve incluir valores de texto na média. Os argumentos que contiverem VERDADEIRO serão avaliados como 1.Microsoft Excel – Estudo Avançado  Se uma matriz ou argumento de referência contiver texto.) Valor1. Sintaxe MÉDIAA(valor1.9.. como VERDADEIRO e FALSO. estes valores serão ignorados. matrizes ou referências. use a função MÉDIA.12 MEDIAA Calcula a média (média aritmética) dos valores na lista de argumentos. no entanto... células com valor zero serão incluídas. Os argumentos de referência ou matriciais que contiverem texto serão avaliados como 0 (zero).

. valores lógicos ou células vazias..núm2. Comentários  Os argumentos devem ser números..GEOMÉTRICA retornará o valor de erro #NÚM!.. Sintaxe MÉDIA. núm2.Microsoft Excel – Estudo Avançado Exemplo Função MÉDIAA 2. no entanto. Se qualquer valor de dados ≤ 0. MÉDIA. Se uma matriz ou argumento de referência contiver texto.GEOMÉTRICA Retorna a média geométrica de uma matriz ou de um intervalo de dados positivos.GEOMÉTRICA para calcular o crescimento médio considerando-se juros compostos com taxas variáveis. Você também pode usar uma única matriz ou referência a uma matriz em vez de argumentos separados por ponto-e-vírgulas.13 MÉDIA. células com valor zero serão incluídas. matrizes ou referências que contenham números. Por exemplo. ou nomes.9..) Núm1.GEOMÉTRICA(núm1. Página 82 de 219   .. você pode usar MÉDIA. são de 1 a 30 argumentos para os quais você deseja calcular a média. estes valores serão ignorados.

Microsoft Excel – Estudo Avançado  A equação para a média geométrica é: Exemplo Função MÉDIAGEOMÉTRICA MENOR Retorna o menor valor k-ésimo do conjunto de dados. Comentários   Se matriz estiver vazia. Sintaxe MENOR(matriz.k) Matriz é uma matriz ou intervalo de dados numéricos cujo menor valor k-ésimo você deseja determinar. Use esta função para retornar valores com uma posição específica relativa em um conjunto de dados. Se k ≤ 0 ou k exceder o número de pontos de dados.1) será igual ao menor valor. MENOR retornará o valor de erro #NÚM!. e MENOR(matriz. MENOR(matriz. Se n for o número de pontos de dados em matriz. MENOR retornará o valor de erro #NÚM!.n) será igual ao maior valor. K é a posição (a partir do menor) na matriz ou intervalo de dados a ser fornecido.  Exemplo Página 83 de 219 .

mínimo.. Comentários  Você pode especificar os argumentos que são números.núm2. valores lógicos ou valores de erro na matriz ou referência serão ignorados.9.Microsoft Excel – Estudo Avançado Função MENOR 2..14 MÍNIMO Retorna o menor número na lista de argumentos. Se os argumentos não contiverem números. valores lógicos ou representações em texto de números.. células vazias.. MÍNIMO retornará 0.. núm2. Os argumentos que são valores de erro ou texto que não podem ser traduzidos em números causam erros. Sintaxe MÍNIMO(núm1. apenas os números daquela matriz ou referência poderão ser usados. Página 84 de 219 são de 1 a 30 números dos quais você deseja saber o valor   . utilize MÍNIMOA..) Núm1. Células vazias. Caso o texto e os valores lógicos não devam ser ignorados. Se um argumento for uma matriz ou referência.

valores lógicos ou representações em forma de texto de números. em substituição. serão usados apenas valores nesta matriz ou referência.    Exemplo Página 85 de 219 . Se o cálculo não deve incluir valores lógicos ou de texto.) Valor1. Sintaxe MÍNIMOA(valor1. os argumentos que contiverem texto ou FALSO serão avaliados como 0 (zero). como VERDADEIRO e FALSO... são de 1 a 30 valores cujo menor valor você deseja encontrar. use... Os argumentos que são valores de erro geram erros.Microsoft Excel – Estudo Avançado Exemplo Função Mínimo MÍNIMOA comparados valores lógicos e de texto. Se os argumentos não contiverem valores. a função de planilha MÍNIMO. células vazias. valor2. Os argumentos que contiverem VERDADEIRO serão avaliados como 1. As células vazias e valores de texto na matriz ou referência serão ignorados... Se um argumento for uma matriz ou referência. Comentários  Você pode especificar argumentos que sejam números. MÍNIMOA retornará 0 (zero).valor2.

Assim como MED. Você também pode usar uma única matriz ou referência a uma matriz em vez de argumentos separados por pontos-e-vírgulas. a mediana é o valor do meio e a média é o valor médio. células com valor zero serão incluídas. Suponha que os dados estejam agrupados em três áreas. MODO é uma medida de local. Se o conjunto de dados não contiver pontos de dados duplicados. Se uma matriz ou argumento de referência contiver texto.   Em um conjunto de valores. Sintaxe MODO(núm1. MODO retornará o valor de erro #N/D. matrizes ou referências que contenham números. o modo é o valor com ocorrência mais freqüente.. Nenhuma medida única de tendência central fornece um quadro completo dos dados.Microsoft Excel – Estudo Avançado Função MÍNIMOA MODO Retorna o valor que ocorre com mais freqüência em uma matriz ou intervalo de dados. enquanto que MODO pode retornar o valor baixo dominante.. núm2. valores lógicos ou células vazias.) Núm1. Comentários  Os argumentos devem ser números ou nomes. no entanto. metade em torno de um único valor baixo e a outra metade em torno de dois valores altos. estes valores serão ignorados..núm2... MÉDIA e MED podem retornar um valor no meio relativamente vazio. são argumentos de 1 a 30 para os quais você deseja calcular o modo.. Página 86 de 219 .

Microsoft Excel – Estudo Avançado Exemplo Função MODO 2. será truncado. onde 0 é o valor mínimo.9. QUARTIL retornará o valor de erro #NÚM!. respectivamente. Sintaxe QUARTIL(matriz. você pode usar QUARTIL para descobrir 25% de maior renda de uma população. 2 e 4. QUARTIL retornará o valor de erro #NÚM!. 1 representa 25%. 3 representa 75% e 4 o valor máximo. Por exemplo.15 QUARTIL Retorna o quartil do conjunto de dados. Se quarto não for um número inteiro. Quartis são comumente usados em dados de vendas e de pesquisas para dividir a população em grupos. MÍNIMO. MED e MÁXIMO retornarão o mesmo valor que QUARTIL quando quarto for igual a 0. Quarto indica o valor a ser retornado. Comentário     Se a matriz estiver vazia. Exemplo Página 87 de 219 . 2 representa 50%. Se quarto < 0 ou se quarto > 4.quarto) Matriz é a matriz ou intervalo de célula de valores numéricos cujo valor quartil você deseja obter.

..Microsoft Excel – Estudo Avançado Função QUARTIL 2. Os itens de texto podem ser seqüência de caracteres de texto..10 Funções de texto O Excel XP dispõe de várias funções para o tratamento de texto em planilhas. texto2.) Texto1. Sintaxe CONCATENAR (texto1..10. números ou referências de célula única. 2.1 CONCATENAR Agrupa várias seqüências de caracteres de texto em uma única seqüência de caracteres de texto. Comentários O operador "&" pode ser usado no lugar de CONCATENAR para agrupar itens de texto. desde conversão a concatenação de strings.texto2.. . são 1 a 30 itens de texto a serem agrupados em um único item de texto. Exemplo Página 88 de 219 .

ele será considerado 2.NÚM.10.NÚM. o texto retornado incluirá vírgulas como padrão. A principal diferença entre formatar uma célula que contém um número com o comando Células (menu Formatar) e formatar um número diretamente com a função DEF.     Exemplo Página 89 de 219 .NÚM.DEC é que DEF. núm será arredondado à esquerda da vírgula decimal.NÚM. mas os decimais podem chegar a 127. Um número formatado com o comando Células continua sendo um número.Microsoft Excel – Estudo Avançado Função CONCATENAR 2. formata o número no formato decimal usando vírgula e pontos e retorna o resultado como texto.DEC Arredonda o número para o número especificado de decimais. Se decimais for negativo. Comentários  Os números no Microsoft Excel não podem ter mais de 15 dígitos significativos.sem_sep_milhar) Núm é o número que você deseja arredondar e converter em texto. Sintaxe DEF. Se você omitir decimais. Decimais é o número de dígitos à direita da vírgula decimal.DEC converte o resultado em texto. se VERDADEIRO. Se sem_sep_milhar for FALSO ou omitido. impede que DEF.DEC(núm.NÚM.2 DEF. Sem_sep_milhar é um valor lógico que.DEC inclua vírgulas no texto retornado.decimais.

NÚM. será considerado 1. Sintaxe DIREITA(texto.DEC 2.3 DIREITA DIREITA retorna o último caractere ou caracteres em uma seqüência de caracteres de texto com base no número de caracteres especificado por você.Microsoft Excel – Estudo Avançado Função DEF. Comentários   Núm_caract deve ser maior ou igual a zero. Núm_caract especifica o número de caracteres a ser extraído por DIREITA. Se núm_caract for omitido. Se núm_caract for maior do que o comprimento do texto. DIREITA retornará todo o texto.núm_caract) Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja extrair.  Exemplo Página 90 de 219 .10.

4 ESQUERDA ESQUERDA retorna o primeiro caractere ou caracteres em uma seqüência de caracteres de texto baseado no número de caracteres especificado por você. Função DIREITA 2. Sintaxe ESQUERDA(texto.10. Núm_caract deve ser maior ou igual a zero. Núm_caract especifica o número de caracteres que você deseja que ESQUERDA extraia. Se núm_caract for omitido.  Exemplo Função ESQUERDA Página 91 de 219 .Microsoft Excel – Estudo Avançado .núm_caract) Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja extrair.  Se núm_caract for maior do que o comprimento do texto. ESQUERDA retornará todo o texto. será considerado 1.

EXT. Comentários  Se núm_inicial for maior do que o comprimento de texto.    Exemplo Página 92 de 219 . EXT. Se núm_inicial for menor do que o comprimento de texto.núm_caract) Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja extrair. EXT. mas núm_inicial e núm_caract excederem o comprimento de texto.TEXTO EXT.núm_inicial. Se núm_caract for negativo.TEXTO retorne do texto. O primeiro caractere em texto possui núm_inicial1. e assim por diante.TEXTO retornará o valor de erro #VALOR!. Se núm_inicial for menor do que 1.Microsoft Excel – Estudo Avançado 2.10. Núm_caract especifica o número de caracteres que você deseja que EXT.TEXTO retornará os caracteres até o final do texto.TEXTO retorna um número específico de caracteres da seqüência de caracteres texto.TEXTO(texto. começando na posição especificada.TEXTO retornará "" (texto vazio). Núm_inicial é a posição do primeiro caractere que você deseja extrair como texto.TEXTO retornará o valor de erro #VALOR!.5 EXT. Sintaxe EXT. EXT. com base no número de caracteres especificado.

Use LOCALIZAR para determinar o local de um caractere ou uma seqüência de caracteres de texto em outra seqüência para que você possa usar as funções EXT.núm_inicial) Texto_procurado é o texto que você deseja localizar.TEXTO ou MUDAR para alterar o texto. Comentários  LOCALIZAR e LOCALIZARB não fazem distinção entre letras maiúsculas e minúsculas quando localiza texto. Se núm_inicial for omitido.10. Se desejar localizar um ponto de interrogação ou asterisco real. Se texto_procurado não for localizado. Sintaxe LOCALIZAR(texto_procurado. será equivalente a 1. No_texto é o texto em que se deseja localizar o texto_procurado. digite um til (~) antes do caractere. um asterisco coincide com qualquer seqüência de caracteres.TEXTO 2. Um ponto de interrogação coincide com qualquer caractere único.É possível usar os caracteres curinga ponto de interrogação (?) e asterisco (*) em texto_procurado. o valor de erro #VALOR! será retornado. Núm_inicial é o número do caractere em no_texto em que se deseja iniciar a pesquisa.Microsoft Excel – Estudo Avançado Função EXT. começando com núm_inicial. Página 93 de 219   .6 LOCALIZAR LOCALIZAR retorna o número do caractere no qual um caractere específico ou uma seqüência de caracteres de texto é encontrado primeiro.no_texto.

Exemplo Função LOCALIZAR Página 94 de 219 .Microsoft Excel – Estudo Avançado  Se núm_inicial não for maior do que 0 ou for maior do que o comprimento de no_texto. o valor de erro #VALOR! será retornado.

Em seguida aprenderemos os fundamentos básicos da linguagem VBA. Access e Power Point. Fonte Verdana de Tamanho 13 com quebra automática de linha. Nas lições do próximo módulo. cada vez que você tiver que aplicar o conjunto de comandos de formatação.12 O que são Macros? Nesse tópico apresentaremos uma visão geral sobre Macros. A linguagem de programação do Excel é o VBA . quando devemos usar Macros. os comandos. simplesmente utilizando os comandos e fórmulas do Excel. Por exemplo. Caso você execute uma tarefa várias vezes no Microsoft Excel.11 Introdução Nesse e no próximo módulo veremos assuntos relacionados a automação de tarefas no Excel. você pode criar uma Macro que aplica todos os comandos de formatação. Existem situações onde não conseguimos resolver o problema proposto.VBA e pode ser executada sempre que você precisar executar a tarefa. Nas próximas lições iremos detalhar os vários aspectos relacionados à Macros. O VBA é a linguagem de programação para todos os aplicativos do Microsoft Office: Word. como criar e alterar Macros. você precisa formatar uma célula com Negrito. Em seguida. 2. Uma macro é uma seqüência de comandos e funções armazenados em um módulo do Visual Basic for Applications . Nas lições desse módulo veremos os conceitos teóricos da linguagem VBA. Página 95 de 219 .Microsoft Excel – Estudo Avançado Fundamentos básicos de Macros e VBA 2. cada vez que você quisesse formatar uma célula com os formatos descritos. é possível automatizá-la com uma macro. Nessas situações temos que fazer o uso de recursos como Macros e Programação. para que serve. Após criada a Macro. Quando você grava uma macro. Itálico.Visual Basic for Applications. ou "reproduzir". veremos exemplos de aplicação do VBA para a solução de problemas práticos. Ao invés de ter que executar todos os comandos de formatação em cada célula. o que normalmente é feito através da associação de uma combinação de teclas com a Macro. Bem mais fácil do que aplicar cada comando individualmente. bastaria clicar na célula e pressionar Ctrl+L. você executa a macro para repetir. os quais não poderiam ser solucionados sem o uso de programação. Veremos o que é uma Macro. Nas lições desse módulo aprenderemos sobre Macros. como por exemplo Ctrl+L. seguidamente. basta executar a Macro. Excel. No nosso exemplo. cor de fonte Vermelha. vamos supor que. o Excel armazena informações sobre cada etapa realizada à medida que você executa uma seqüência de comandos.

O Editor do VBA é um programa criado para facilitar a escrita e a edição de código de macro para principiantes e fornece bastante Ajuda on-line. as correções feitas também são gravadas. clique em Parar gravação . você pode atribuir a macro a um botão da barra de ferramentas. Nos veremos exemplos detalhados de macros a seguir. planeje as etapas e os comandos que você deseja que a macro execute. Como gravar uma macro. Como tornar uma macro fácil de ser executada: Você pode executar uma macro escolhendo-a de uma lista na caixa de diálogo Macro. você poderá exibir o código da macro com o Editor do VBA para corrigir erros ou alterar a função da macro. clique na guia Alinhamento. você pode gravar uma macro para formatar essas células de maneira que o texto retorne automaticamente. Na Figura a seguir temos um exemplo de código associado com uma Macro.12. marque a caixa de seleção Retorno automático de texto. em seguida.Microsoft Excel – Estudo Avançado Você pode Gravar uma macro para realizar uma tarefa em uma etapa: Antes de gravar uma macro. o VBA armazena cada uma em um novo módulo anexado a uma pasta de trabalho. Se cometer um erro durante a gravação da macro. 2. Clique em Células no menu Formatar. clique em OK e. Nas próximas lições veremos como exibir e editar macros. Ao gravar macros. Veremos como fazer essas atribuições nas próximas lições. Para que uma macro seja executada sempre que você clicar em um botão específico ou pressionar determinada combinação de teclas. Você não precisa aprender a programar ou a usar a linguagem do Visual Basic para fazer alterações simples nas suas macros. Por exemplo. Esse é um exemplo de código VBA: Página 96 de 219 . Selecione a célula em que deseja inserir o retorno automático de texto e inicie a gravação. se você insere com freqüência seqüências de caracteres de texto extensas nas células. um atalho no teclado ou um objeto gráfico em uma planilha.1 Como Exibir e alterar macros Depois de gravar uma macro.

se você quisesse que a macro de retorno automático de texto. simplesmente usando os comandos ou fórmulas prontas do Excel.A linguagem VBA As Macros são uma excelente solução quando queremos automatizar uma tarefa que é realizada através de uma série de cliques de mouse ou digitações no teclado. também deixasse o texto em negrito. renomear os módulos que armazenam as macros ou renomear as macros. copiar macros de um módulo para outro. necessário à resolução do problema. Um programa (ou módulo como é chamado no Excel) é uma seqüência de comandos VBA.2 Como Gerenciar suas macros Com o Editor do VBA Você pode editar macros.13 Programação no Excel . onde não é possível encontrar a solução do problema. Se você compartilha macros com outros usuários. você pode certificá-las com uma assinatura digital de forma que os outros usuários possam verificar que as macros são de origem confiável. que envolvem cálculos ou uma lógica mais apurada. você poderia gravar outra macro para aplicar negrito a uma célula e copiar as instruções dessa macro para a macro de retorno automático de texto. Página 97 de 219 . Por exemplo. do exemplo anterior. Segurança da macro: O Microsoft Excel XP fornece proteção contra vírus que podem ser transmitidos através das macros. poderá verificar a origem das macros antes de ativá-las. 2. Aprenda sobre como evitar vírus de macro.12. copiar macros entre pastas de trabalho diferentes. Sempre que você abrir uma pasta de trabalho que contenha macros.Microsoft Excel – Estudo Avançado Janela de macros 2. onde cada comando executa um passo específico. Porém existem situações mais complexas. Nessas situações temos que fazer uso de programação.

ao evitar que tenhamos que executar manualmente.1 Criando uma macro assistida Podemos usar o gravador de Macros: Nesse caso o Excel grava cada uma das ações que farão parte da Macro e transforma essas ações nos comandos VBA equivalentes. o qual é de domínio público. os diversos passos de uma tarefa. As Macros são uma excelente opção para automatizar tarefas repetitivas. uma macro é uma seqüência de comandos (cliques de mouse ou toques de teclado) que são gravados em um Módulo VBA e podem ser executados. Cada comando VBA corresponde a uma ação efetiva da macro. para aplica-los em alguns exemplos práticos nas lições dos próximo módulo. Página 98 de 219 . veremos os comandos básicos da linguagem VBA. 2. O cálculo do DV do CPF. conforme descrito anteriormente. sempre que necessário. passos estes que podem ser automatizados através do uso de uma macro. vamos supor que você precisasse fazer a verificação do CPF que é digitado em uma célula. envolve uma série de operações aritméticas.14. Por exemplo. os comandos VBA é que serão efetivamente executados. Isso é feito usando o Editor de VBA. Para isso basta executar a macro na qual foi gravada a seqüência de comandos. A grande vantagem de gravarmos uma seqüência de comandos é que poderemos utiliza-la sempre que necessário. 2. conforme veremos a seguir.Microsoft Excel – Estudo Avançado  Informação Para um melhor aproveitamento e entendimento do VBA é importante que se tenha uma noção básica de Lógica de Programação. poderá criar a macro digitando os comandos VBA necessários. Para implementar uma função que faz a verificação do DV do CPF.14 O que são Macros? Conforme descrito anteriormente. você terá que fazer uso de programação. Com o uso de Macros temos um ganho de produtividade considerável. Quando a macro for executada. Por isso que. Criar a Macro usando VBA: A partir do momento em que você domina a linguagem VBA.

Com isso estamos associando a combinação Ctrl+Shift+L com a macro FormataVermCinza. Essa barra é utilizada para parar a gravação da Macro. Todos os comandos que você executar. durante a gravação da Macro. No campo Nome da macro digite: FormataVermCinza. Na próxima lição analisaremos o código VBA criado pelo gravador de macros.Microsoft Excel – Estudo Avançado Melhor do que uma série de definições é ver uma Macro em ação.2 – Definição do nome e da tecla de atalho da Macro. No campo Tecla de atalho digite L. Agora devemos escolher os comandos que Página 99 de 219 ( . Criar uma macro usando o Gravador de Macros Vamos supor que nossa macro deverá formatar a célula atual com Negrito.2: Figura 5. Clique na célula A4. cada vez que quisermos executar essa macro basta pressionar Ctrl+Shift+L. Isso acontece porque a combinação Ctrl+L já deve estar associada com algum comando do Excel. com fundo cinza. Selecione o comando Ferramentas -> Macro -> Gravar nova macro. A gravação da Macro será iniciada. O campo descrição é simplesmente uma descrição da funcionalidade da macro. Vamos a um exemplo simples. cor de fonte Vermelha. ou seja. Em seguida vamos executa-la . onde criaremos uma Macro. Agora vamos iniciar a gravação da Macro. Será exibida a janela Gravar Macro. Observe que o Excel troca para Ctrl+Shift+L. Clique em OK. Gravar a macro com o nome de FormataVermCinza. farão parte da Macro. Uma nova barra ( ) é exibida na planilha do Excel. Digite o texto indicado na Figura 5.

2 Executando a macro Clique na Célula B7. ( Na lista de Cores da fonte Na lista de Cores de fundo Clique no botão ( ) selecione Vermelho. Pressione Ctrl+Shift+L.14.3: Página 100 de 219 . 2. executo uma série de comandos (nesse exemplo: três comandos de formatação). A macro FormataVermCinza é executada e as formatações definidas pela macro (Negrito. onde são listadas todas as macros existentes na pasta de trabalho atual (no arquivo carregado no Excel). conforme indicado na Figura 5. Será exibida a janela Macro. Veja que com um simples comando de teclado. fonte Vermelha e fundo Cinza) são automaticamente aplicadas na Célula B7. ( )( para encerrar a gravação da Macro. Clique na célula B5. Também é possível executar a macro usando o comando Ferramentas -> Macro > Macros. ) selecione Cinza. Após ter executado os comandos que farão parte da ) para encerrar a gravação da Macro. Agora a macro FormataVermCinza foi criada e podemos utiliza-la sempre que necessário.Microsoft Excel – Estudo Avançado farão parte da macro. macro. basta clicar no botão Clique no botão ( ( )para aplicar Negrito. Selecione o comando Ferramentas -> Macro -> Macros. Esse exemplo nos dá uma pequena idéia do poder e facilidade do uso das macros.

os três comandos de formatação são novamente executados e aplicados à célula onde esta o cursor. Essa macro é composta por três comandos de formatação.3 – A janela Macro.4: Figura 5.4 – Formatações aplicadas com a macro FormataVermCinza. Cada vez que a macro é executada. A pergunta que pode surgir é: Como é que o Excel faz isso? Página 101 de 219 . 2. Clique na Macro FormataVermCinza para seleciona-la. Nenhuma novidade. Clique no botão Executar. Criamos uma macro chamada FormataVermCinza.Microsoft Excel – Estudo Avançado Figura 5.15 Conhecendo do que é feita uma Macro No tópico anterior podemos ver uma macro em ação. A Macro será executada e as respectivas formatações serão aplicadas à célula B5. Até aqui tudo OK. A sua planilha deve estar conforme indicado na Figura 5.

para a aplicação de negrito. Será exibida a janela Macro. ao clicarmos no botão ( ).xls aberta.15. abra-a. Apenas para adiantar um pouco o assunto. 2.ColorIndex = 15 . Clique no botão Editar. Nessa lição aprenderemos a acessar o código VBA gerado pelo Excel (embora ainda não sejamos capazes de entender esse código).Microsoft Excel – Estudo Avançado Ou de outra forma: Do que é feita uma macro? Conforme veremos a seguir.Font. uma macro é gravada no Excel como uma ( seqüência de comandos VBA.Font.1 Acessando os comandos VBA Você deve estar com a planilha C:\ExcelAvancado\Módulo 5 œ Exercício 01. Por exemplo.Font. Selecione o comando Ferramentas -> Macro -> Macros. Negrito e ' fundo Cinza.ColorIndex = 3 With Selection.Interior . Clique na macro FormataVermCinza para seleciona-la.Pattern = xlSolid End With End Sub Esses são os comandos VBA (que por enquanto não entendemos o que significam) que formam a macro FormataVermCinza. o Excel gera um comando VBA que faz a formatação em negrito.Bold = True Selection. se não estiver.Bold = True Página 102 de 219 . O Editor do VBA será carregado e serão exibidas as seguintes linhas de código: Sub FormataVermCinza() ' ' FormataVermCinza Macro ' Macro que faz a formatação em fonte Vermelha. ' ' Atalho do teclado: Ctrl+Shift+L ' Selection. a seguir descrevo o que faz cada um dos principais comandos dessa Macro: Selection.

ColorIndex = 15 . O uso de macros é especialmente indicado naquelas situações em que temos um conjunto de comandos que precisam ser executados. With Selection. Veremos mais detalhes sobre esse editor nas próximas lições.Microsoft Excel – Estudo Avançado Esse comando aplica a formatação em Negrito para a célula onde está o cursor (ou no conjunto de células selecionadas). cada vez que os comandos precisarem ser executados. Página 103 de 219 . Selection.5 temos uma visão do Editor do Visual Basic. repetidamente. quando a macro é executada. porém de uma maneira automatizada. Tudo o que você faz usando o teclado e o mouse. em diferentes situações. Esses são comandos da linguagem VBA. na célula onde está o cursor (ou no conjunto de células selecionadas). executar a macro. também é possível de ser feito com o uso do VBA. quando a macro é executada.ColorIndex = 3 Esse comando aplica cor de fonte Vermelha para a célula onde está o cursor (ou no conjunto de células selecionadas). Nesses casos é muito mais prático criar uma macro composta pelo conjunto de comandos e. Na Figura 5.Font. quando a macro é executada. Com o uso do VBA temos acesso a todos os comandos e funções do Microsoft Excel. quando começarmos a trabalhar com o VBA.Pattern = xlSolid End With Esses comandos aplicam a cor de fundo cinza.Interior .

aprenderemos a renomear. Existem algumas operações que podem ser feitas com uma macro.5 – O Editor de VBA Selecione o comando Arquivo -> Fechar e Voltar para o Microsoft Excel.Microsoft Excel – Estudo Avançado Figura 5. tal como o comando de teclado para executar a macro.1 Renomeando uma macro Selecione o comando Ferramentas -> Macro -> Macros. Também aprenderemos a alterar outras opções associadas com a Macro. após a sua criação. Clique na macro a ser renomeada para seleciona-la. Será exibida a janela Macro. Além da execução é possível executar outras operações com uma macro. Você estará de volta à planilha. Página 104 de 219 .16 Operações com Macros Agora. A mais óbvia (e o motivo pelo qual uma macro é criada) é para executar a macro. conforme descrito a seguir: 2. excluir e fazer outras alterações em macros. Clique no botão Editar. 2.16.

Microsoft Excel – Estudo Avançado Será aberto o editor do VBA. Selecione o comando Ferramentas -> Macro -> Macros. Clique na macro a ser excluída para selecioná-la. O Excel emite um aviso solicitando que você confirme a exclusão.2 Excluindo uma macro Abra o arquivo onde está a macro a ser excluída. Clique no botão Excluir. 2. Para renomear a macro basta alterar o nome após o comando Sub e depois clicar no botão ( ) para salvar as alterações. conforme destacado na Figura 5. Será exibida a janela Macro. conforme indicado na Figura 5.16. O nome da macro vem logo após o comando Sub da primeira linha.7: Página 105 de 219 .6: Figura 5. Em seguida é só fechar o Editor de VBA.6 – Renomeando uma Macro.

4. Será exibida a janela Opções de Macro. 2.16.. Será exibida a janela Macro. 6. Abra o arquivo onde está a macro a ser alterada.17 Associando botões a macros Vamos criar mais uma macro de exemplo. 5. Selecione o comando Ferramentas -> Macro -> Macros.Microsoft Excel – Estudo Avançado Figura 5. onde você pode alterar a tecla de atalho e o comentário associado com a macro.8: Figura 5.8 – Confirmando a exclusão da macro. 2. conforme indicado na Figura 5. 2. Além da criação da macro aprenderemos a criar um novo botão. 3.7 – Confirmando a exclusão da macro..3 Alterando a tecla de atalho e o comentário associado com uma macro 1. Clique no botão Opções. Clique na macro a ser alterada para seleciona-la. Clique em Sim para confirmar a exclusão ou em Não para cancelar a exclusão da macro. na Barra de Ferramentas e a associar esse Página 106 de 219 . Faça as alterações desejadas e clique em OK.

bastará clicar no botão associado com a macro. Agora devemos escolher os comandos que farão parte da macro. Dessa forma toda vez que precisarmos executar a macro. Página 107 de 219 ( . Criar um botão de comando na Barra de Ferramentas padrão e associar esse botão com a macro FormataContábil. Selecione o comando Ferramentas -> Macro -> Gravar nova macro . cor de fonte Vermelha e Itálico. Será exibida a janela Gravar Macro. com duas casas decimais. Agora vamos iniciar a gravação da Macro. Digite o texto indicado na Figura 5. selecione a opção Esta pasta de trabalho . Gravar a macro com o nome de FormataContábil . Uma nova barra ( ) é exibida na planilha do Excel. Essa barra é utilizada para parar a gravação da Macro. A gravação da Macro será iniciada. Todos os comandos que você executar. 10. A macro deverá formatar As células selecionadas com formato Contábil.9: Figura 5. Clique na célula F2.xls. Na lista Armazenar macro em. Exemplo 2: Criar uma macro usando o Gravador de Macros. O campo descrição é simplesmente uma descrição da funcionalidade da macro. Abra a Planilha C:\ExcelAvancado\Módulo 5 œ Exercício 02. Clique em OK. farão parte da Macro.9 – Definição do nome e da descrição da macro FormataContábil. No campo Nome da macro digite: FormataContábil. Abra o Excel.Microsoft Excel – Estudo Avançado botão com a macro. Após ter executado os comandos que farão parte da macro. durante a gravação da Macro. basta clicar no botão ( ) para encerrar a gravação da Macro.

conforme indicado na Figura 5.Microsoft Excel – Estudo Avançado Clique no botão ( ) para aplicar Itálico. Clique na opção Contábil e selecione duas casas decimais. Selecione o comando Formatar -> Células.10: Página 108 de 219 . Na lista de Cores da fonte ( ) selecione Vermelho.

ao( lado do botão ( ). Clique no botão ( ) para encerrar a gravação da Macro. Clique em OK.11: Página 109 de 219 .Microsoft Excel – Estudo Avançado Figura 5. Clique na guia Comandos.1 Assiciando um botão a uma macro Clique com o botão direito do mouse em uma das barras de ferramentas do Excel. Por exemplo. clique com o botão direito do mouse na área cinza.10 – Formatação Contábil com duas casas decimais. No menu que é exibido clique na opção Personalizar. Será exibida a janela Personalizar. Agora a macro FormataContábil foi criada e podemos utilizá-la sempre que necessário. Agora vamos aprender como associar um botão com a macro FormataContábil. 2. Na lista de Categorias que é exibida dê um clique na opção Macros conforme indicado na Figura 5.17.

12 – Arrastando o botão que será associado com a Macro.11 – A opção Macros da guia Comandos.13. Clique no botão ( ) e arraste-o para a barra de ferramentas padrão. A janela Personalizar será fechada e o botão ramentas padrão. agora o botão ( ( ) está associado com a macro FormataContábil. Página 110 de 219 . ) será adicionado à barra de Será exibida a janela Atribuir macros. conforme indicado na Figura 5. a macro que será executada quando você clicar no botão. Pronto. ao lado ( esquerdo do botão ( ). Dê um clique no botão ). conforme indicado na Figura 5.12: Figura 5. Clique em OK.Microsoft Excel – Estudo Avançado Figura 5. Nessa janela você pode selecionar a macro que será associada com o botão. Clique na macro FormataContábil para seleciona-la. isto é.

) está associado à macro FormataContábil.Microsoft Excel – Estudo Avançado Figura 5. onde são utilizados comandos para acessar uma tabela do access a partir de uma planilha do Excel: ‘ Comentários iniciais do Programa. basicamente. ‘ Acessa dados da tabela pedidos do banco de dados ‘ C:\Meus documentos\vendas. Para que possamos criar macros mais sofisticadas e resolver problemas mais complexos com o Excel. Isso comprova que o botão Salve e Feche a planilha. Vamos testar se o botão está funcionando. é um conjunto de comandos. Clique no botão ). Uma linguagem de programação. precisamos utilizar programação. a linguagem de programação do Excel (e de todos os aplicativos do Office) é o VBA: Visual Basic for Application. rotinas e funções que executam tarefas específicas. Conforme descrito anteriormente. Observe que a macro é executada e as respectivas formatações são aplicadas à célula F10. Considere o exemplo genérico a seguir.13 – Associando a macro FormataContábil com o botão.mdb Acessar o banco de dados Página 111 de 219 . as quais reproduzem uma série de comandos de mouse e teclado. Introdução a linguagem VBA Nos tópicos niciais desse módulo aprendemos a criar macros simples. Clique na célula F10.

folhas de dados. Esta rotina pode acessar dados em segunda planilha que está na rede. A linguagem de programação utilizada pelo Microsoft Excel é o VBA . envolvendo os diversos elementos do banco de dados (tabelas. CNPJ ou de um campo NúmeroDoProcesso. Excel e PowerPoint).18 Por que aprender VBA? A utilização de Macros em conjunto com os recurso do VBA nos oferece um grande número de opções na busca por soluções para os problemas mais complexos. Nestas situações temos que utilizar programação. 2. por exemplo. ao mesmo tempo. com base em uma ou mais condições. Word. relatórios. Por exemplo. tais como bancos de dados do Access.19 Programação com o Microsoft Excel O VBA nos oferece possibilidades de controle e personalização para criar aplicativos que vão além das ações de macro.Microsoft Excel – Estudo Avançado Acessar a tabela Pedidos Aplicar um filtro para País=Brasil Exibir os dados obtidos na planilha atual formatar a primeira linha como negrito formatar a primeira linha como fonte azul Encerrar a macro 2. essa utilização não é capaz de solucionar o problema proposto. podemos criar uma rotina em VBA em uma planilha do Excel.Visual Basic for Applications. Conforme veremos a partir de agora esta é uma linguagem. comandos e funções do Excel. Usamos o VBA pelo mesmo motivo que utilizamos macros . consultas.usando menus e teclas de atalho. podemos criar código que percorre todas as linhas de uma planilha. No entanto. Também temos acesso a elementos externos. O VBA vai além da simples automação de seqüências de ações. O VBA é uma linguagem de programação interna do Microsoft Excel (na prática é a linguagem de programação para todos os aplicativos do Office: Access. macros e módulos).para automatizar tarefas e rotinas repetitivas. formulários. Na prática as ações de macro duplicam as operações que podemos realizar manualmente. Com o VBA temos acesso completo a todos os elementos de todos os objetos de uma planilha do Excel. podemos automatizar rotinas para importação e exportação de dados e assim por diante. A mesma rotina além de acessar os dados pode Página 112 de 219 . Porém existem situações em que. alterando os valores de uma ou mais colunas. por mais que saibamos utilizar todos os recursos. o VBA oferece maior poder e controle mais detalhado do que as ações de macro. Com código VBA podemos criar uma rotina para validação do dígito verificador de uma célula de CPF. Ele oferece um conjunto de ferramentas que lhe permite criar aplicações personalizadas com base nos elementos do Excel e nos objetos de planilha do Excel. extremamente simples e poderosa.

chamamos a função. Este é apenas um pequeno exemplo do que pode ser feito como o VBA. Porém este procedimento não é o mais indicado. Poderíamos criar. Em cada planilha. Página 113 de 219 . recolhimentos de tributos. A função calcula o DV e retorna o resultado para a planilha. uma faixa de células. etc. Criação de funções definidas pelo usuário : Este é um dos maiores benefícios do VBA. O ideal é criarmos uma função para validação do DV (uma função deve ser criada dentro de um módulo.txt ou bancos de dados do Microsoft Access. por exemplo: uma planilha. quer seja da pasta de trabalho atual. quer seja de outra pasta de trabalho na rede ou com outros formatos de dados. no módulo onde a função foi criada) e todos os formulários passarão a utilizar a versão atualizada da função. consolidações. Manipulação de objetos : O VBA oferece métodos de criação e modificação dos objetos de uma planilha no Excel.1 Vantagens em utilizarmos o VBA Já utilizamos macros e aprendemos a automatizar algumas tarefas como a aplicação de formatos personalizados. vários planilhas podem conter um campo CPF ou CNPJ. Desta maneira precisamos criar uma única função. onde for necessária. Podemos criar funções que executam cálculos repetitivos. como por exemplo cálculo do imposto de renda. em relação as macros. Quando forem necessárias alterações. basta alterar a função (em um único local. Definição de condições e controle de fluxo: O VBA oferece uma variedade de comandos e estruturas para a realização de testes condicionais e para a repetição de um conjunto de comandos. o código necessário para a validação do DV do CPF ou CNPJ. etc. Também não é possível a resolução de problemas que envolvem uma lógica complexa. gerar os resultados no formato de uma planilha do Excel e salvar a planilha na rede. pois cada alteração necessária terá que ser feita em vários locais. as seguintes vantagens: Acessando dados de uma ou mais planilhas: Com ações de macros estamos limitados a operar com os registro ou com o conjunto de registros atualmente sendo exibido na pasta de trabalho atual O VBA permite trabalhar com qualquer conjunto de dados. ou seja. um gráfico.19. teríamos dificuldades para fazer atualizações neste código. pois além da duplicação do código necessário a validação. 2. mais adiante. Chamamos de objeto qualquer elemento do Microsoft Excel. Aprenderemos a utilizar todas as estruturas de controle de fluxo e testes condicionais. como por exemplo de arquivos . O VBA apresenta. Realização de cálculos complexos e solução de problemas que envolvem uma lógica complexa: Com macros é impossível a realização de cálculos mais complexos.Microsoft Excel – Estudo Avançado fazer cálculos. em cada planilha. simplesmente através da automação de comandos de teclado e mouse. Por exemplo. passando o valor do CPF como parâmetro.

temos que acessar o código VBA associado à macro. 2. dos métodos e propriedades dos objetos. Mais adiante detalharei o conceito de classes. Clique no botão Ativar Macros. Abra o Excel. vamos a um exemplo prático. será exibida uma lista com os argumentos esperados pelo método. Ao invés de lembrar do nome dos métodos/propriedades. etc) de cada argumento. métodos e coleções. data. comandos e funções. Isso é feito no Editor do VBA. bem como o tipo (texto. o Excel pede uma confirmação. Estas são apenas algumas das facilidades fornecidas pelo Ambiente de Desenvolvimento do VBA.Microsoft Excel – Estudo Avançado 2.20 O Ambiente de Programação . sem tê-lo ainda explicado. ao digitar o nome de um objeto e um ponto será aberta. teríamos que lembrar da sintaxe de todos os comandos. módulos e objetos). O ambiente de Desenvolvimento fornece uma série de facilidades para a criação de código VBA. Neste tópico vamos aprender a utilizar os aspectos básicos do Ambiente de Programação do VBA. A planilha será aberta. com uma série de recursos que facilitam a criação de código VBA. Página 114 de 219 . que contém uma macro chamada AplicaNegrito e editar essa macro. Vamos abrir uma planilha. uma lista com todos os métodos e propriedades deste objeto.14. ao digitarmos o parênteses de abertura. o Ambiente de Desenvolvimento emite uma mensagem e coloca em destaque o comando que foi digitado incorretamente.1 Acessando o Editor VBA Vamos acessar o editor do VBA para alterar uma macro. Por enquanto estou utilizando bastante o termo objeto. Abra a Planilha com a macro. Se não tivéssemos disponível um Ambiente de Programação. conforme indicado na Figura 5. Lembre que para editar uma macro. Cada objeto pode ter dezenas de propriedades. Essa confirmação é solicitada devido ao perigo representado pelos vírus de Macro.Editor VBA O Microsoft Excel fornece um ambiente de programação bastante poderoso. Se digitarmos um comando incorretamente. Convenhamos que isso é praticamente impossível. Para conhecermos melhor o referido ambiente. Por exemplo. automaticamente. basta selecioná-los em uma lista. número.20. perguntando se você deseja ativar as macros existentes. Como existem macros já criadas. pois com o VBA temos acesso a milhares de objetos (é isso mesmo: milhares de objetos. Se selecionarmos um método. que podem afetar os aplicativos do Microsoft Office.

Clique no botão Editar. Será aberto o editor do VBA e o código associado à macro. Será exibida a janela Macro.15 temos a descrição de algumas partes da janela do editor VBA. Na Figura 5. Selecione o comando Ferramentas -> Macro -> Macros.14 – Confirmação para ativação de macros. O nosso objetivo é conhecer alguns detalhes sobre o Editor do VBA. Clique na macro para selecioná-la. Página 115 de 219 . na abertura da planilha. Figura 5. Vamos editar essa macro..Microsoft Excel – Estudo Avançado Nessa planilha existe uma macro chamada AtivaNegrito..

Os módulos são utilizados para criar funções e procedimentos que podem ser chamados em todas as planilhas da pasta de trabalho atual. 2. ao selecionar Plan1. Aprenderemos mais sobre funções e procedimentos nas próximas lições. na janela de baixo serão exibidas as propriedades de Plan1. Ao criarmos uma macro podemos criá-la em uma determinada planilha. Por exemplo.15– O Editor VBA. na janela Project. Aqui são exibidas as planilhas e módulos da pasta de trabalho (arquivo .xls) carregado no Excel.Microsoft Excel – Estudo Avançado Figura 5. Janela na parte de baixo: A janela abaixo da janela Project. exibe as propriedades do elemento selecionado na janela Project.16– Propriedades da Planilha.16: Figura 5.21 VBA – Declaração de Variáveis Página 116 de 219 . conforme indicado na Figura 5. No lado esquerdo da tela temos duas janelas: Project œ VBA Project: Nessa janela são exibidos os vários elementos que fazem parte da Pasta de trabalho atual.

Iniciaremos o nosso estudo de VBA pela definição do conceito de variáveis a aprendendo a declarar variáveis no VBA. porém isso é altamente desaconselhável. o que na prática significa que a variável pode conter qualquer tipo de valor. não é obrigatório a declaração de variáveis. Esses comandos serão utilizados nas lições do Módulo 6. basta separar as variáveis. Como o valor armazenado pode variar. Neste caso o que impede de um campo numérico conter valores de texto ou viceversa. não devem aceitar datas inválidas. a variável poderá conter qualquer valor. a medida que o código VBA é executado. conforme exemplificado abaixo: Dim x. Para declararmos uma variável.z As String Dim nome as Double Dim teste1.inteiro. sem declarar de que tipo (texto. como por exemplo Página 117 de 219 .21.y. com vírgula. data. O Tipo define quais dados podem ser armazenados em uma variável. A sintaxe para o comando Dim Dim nome_da_variável As tipo_da_variável Também podemos declarar mais do que uma variável. utilizamos o comando Dim. Fazemos referência a este espaço utilizando nomes. de tal forma que o código fique mais claro e de fácil compreensão. Uma variável declarada sem tipo é considerada do tipo Variant. Variáveis que armazenam datas. Pode parecer uma prática interessante a não declaração do tipo da variável. conforme exemplificado abaixo: Dim x Dim nome Dim teste Neste caso estamos apenas declarando o nome da variável. etc) é a variável. teste2 As Integer Observe que definimos o —tipo“ de cada variável.Microsoft Excel – Estudo Avançado Agora vamos iniciar o estudo de uma série de comandos e conceitos básicos da linguagem VBA. variáveis que armazenam valores numéricos. Por exemplo. Porém é recomendável que declaremos todas as variáveis. conforme descrito anteriormente. Se não declararmos o tipo. estas estruturas são chamadas de variáveis. reservado para armazenar um ou mais valores. onde apresentaremos alguns exemplos práticos do uso do VBA para solução de problemas com o Excel. com um único comando Dim. No VBA. Para isto.1 Declaração de variáveis e —tipos“ de dados Uma variável é um espaço na memória do computador. 2. não devem aceitar caracteres de texto.

estamos definindo que toda variável deve ser declarada. Com isso. devemos utilizar o seguinte comando na seção de declaração do módulo: Option Explicit Ao colocarmos este comando na seção de declaração do módulo. 2. Existem funções que conversão de tipo. obteremos a mensagem de erro indicada na próxima figura. conforme veremos mais adiante. isto significa que a variável pode ser de qualquer tipo. variável esta que não foi declarada. identifica de que maneira os dados são armazenados em uma variável do tipo Variant Por exemplo. Este erro acontece porque tentamos utilizar uma variável c. explicitamente. Dim a As Integer Dim b As Integer a=5 Msgbox "A variável C vale: " & c Ao tentarmos executar este código. Para fazer com que toda variável tenha que ser. O que define o tipo da variável é o valor que está armazenado no momento. Também podemos utilizar variáveis que não foram. Cada subtipo. Na Listagem 1. Erro O tipo Variant é formado de pequenas unidades. a variável é criada na memória. Na Tabela a seguir temos uma descrição dos principais subtipos. chamadas subtipos. é do tipo Variant. Se tentarmos utilizar uma variável não declarada. Subtipos do tipo Variant disponíveis no VBA Página 118 de 219 . Toda variável no VBA. tendo sido definida a opção "Option Explicit". será gerado um erro de compilação e a execução dos comandos é suspensa. temos um exemplo simples de utilização de variáveis não declaradas explicitamente. declaradas com o comando Dim. declarada.2 b=2 c=a+b Utilização de variáveis não declaradas. explicitamente. antes de ser utilizada em uma expressão. antes de ser utilizada.Microsoft Excel – Estudo Avançado 30/02/2001. no momento da sua utilização. variáveis do subtipo Integer são armazenadas de uma maneira diferente de variáveis do subtipo Long.21.

A variável não contém dados válidos. assumir dois Boolean Página 119 de 219 . Null Contém variáveis que somente podem valores:Verdadeiro ou Falso (True ou False). para variáveis de texto.Microsoft Excel – Estudo Avançado Empty O Valor é zero para variáveis numéricas ou uma String de tamanho zero (— —).

na faixa de -32768 até 32767.337.147. 2.685. na faixa de 2. pode conter. Currency Date(Time) String Object Error Antes de fazermos alguns exemplos práticos. na faixa de 0 até 255. vamos aprender um pouco mais sobre o uso de variáveis no VBA. como um Controle Activex.1 Fazendo cálculos com os Operadores aritméticos: Podemos realizar cálculos no VBA. temos uma descrição dos operadores que podemos utilizar: Operadores Aritméticos do VBA: Página 120 de 219 .447. podemos utilizar operadores. Neste item trataremos sobre operadores aritméticos e operadores de comparação.337. Operadores Aritméticos e Exemplos Fazendo cálculos e comparações com o VBA œ Operadores Aritméticos.648 até 2. até 31 de Dezembro de 9999 (Olha o bug do ano 10000 chegando). 2 bilhões de caracteres.447. Pode conter um objeto qualquer.Microsoft Excel – Estudo Avançado Byte Valor inteiro. Vamos falar sobre operadores aritméticos e de comparação.22.203. 2. aproximadamente.22 VBA .5808 até 922. Texto de tamanho variável. Integer Valores na faixa de 923.203. Na Tabela a seguir. É um número que representa a data entre 01 de Janeiro do ano 100.Cálculos. Valor inteiro.483.5807 Long Valor inteiro. Mas isso já é assunto para a próxima lição . ou um Objeto COM+ Pode conter um número de erro. Para realizarmos cálculos e comparações entre variáveis.647.147.685.483. utilizamos operadores aritméticos.

existe a necessidade de efetuarmos comparações entre os valores de duas ou mais variáveis ou expressões. 2. Dim x.1 – Operadores aritméticos. nas estruturas de controle do código.juliobattisti. z As Integer x = 10 y = 25 z = x*y ‘ Nesse exemplo a variável z conterá o valor 250 Vamos fazer um pequeno teste com os comandos para declaração de variáveis. Tabela 2.Then e os Operadores de Comparação Comparando valores com os Operadores de comparação. Normalmente utilizamos comparações. Multiplicação (3*3). ^ Exponenciação (3^2). Em determinadas situações..com. Com base no resultado da comparação œ Verdadeiro ou Falso -.br Declaração das variáveis. y. Autor: Júlio Battisti Site: www. * Subtração (3–1) ou Negação (–1). / Divisão (3/3). % Porcentagem (20%). Listagem œ Exemplo de uso de operadores aritméticos: ‘ ‘ ‘ ‘ ‘ Exemplo de utilização de variáveis e operadores aritméticos Curso: Excel Avançado em 120 Lições. Página 121 de 219 . a execução do código VBA pode seguir caminhos diferentes.23 Estrutura If.Microsoft Excel – Estudo Avançado Operador + Significado Adição (3+3). também conhecidas como laços de controle..

como os do exemplo: If x>y Then ” Comandos a serem executados quando x for maior do que y Comando 1 Comando 2 . é bastante simples. caso contrário. executamos os comandos após o Else. Note que utilizamos o operador de comparação —maior do que: > “. Comando n ElseIf x=y Then ” Comandos a serem executados quando x for igual a y Comando 1 Página 122 de 219 .1 If x>y Then If Then Else ” Comandos a serem executados quando x for maior do que y Comando 1 Comando 2 Comando n Else ” Comandos a serem executados quando x for menor ou igual a y Comando 1 Comando 2 Comando n End If Conforme podemos ver. no caso x>y . Logo em seguida apresentaremos detalhes sobre os operadores de comparação disponíveis no VBA. Abaixo temos um exemplo do funcionamento da estrutura If Then Else: 2.. vamos apresentar uma das estruturas de controle mais simples que existem no VBA. Se o valor do teste for verdadeiro. a estrutura If Then Else.Microsoft Excel – Estudo Avançado Para que possamos estudar os operadores de comparação. executamos os comandos na seqüência.. a estrutura If Then Else.23. estamos testando se x é maior do que y. Fazemos um teste no início da estrutura. Podemos utilizar laços If Then Else mais complexos.

Na Tabela a seguir temos uma descrição dos operadores de comparação. Comando n End If Podemos utilizar tantos ElseIf..23. Página 123 de 219 . Comando n Else ” Comandos a serem executados quando x for menor do que y Comando 1 Comando 2 .. Cada ElseIf é utilizado para fazer um teste adicional..1 – Comparados condicionais.Microsoft Excel – Estudo Avançado Comando 2 .2 Operadores de comparação do VBA Operador > Descrição Maior >= Igual <> Diferente < Menor <= Menor ou igual >= Maior ou igual Tabela 2. 2. quantos forem necessários..

2. Uma variável declarada ao nível de Módulo. amplia o leque de possibilidades para nossos programas em VBA. Um módulo de uma planilha pode conter uma ou mais macros. Em VBA. Com isso a variável pode ser utilizada dentro de todo o bloco de código do Módulo.Microsoft Excel – Estudo Avançado O uso de Operadores de comparação. define em que partes do código a variável pode ser utilizada. em todas as macros que fazem parte do respectivo módulo. caso exista algum. cada procedimento função começa com um Sub ou Function e termina com um End Sub ou End Function. isto é. número e texto.1 O Escopo das variáveis. Após concluído o procedimento. Nota Um procedimento é um bloco de código que pode ser chamado em qualquer ponto do Módulo. nas próximas lições). isto é. a execução é deslocada para dentro do procedimento. Tudo o que estiver entre Sub e End Sub. dentro do módulo de código da planilha. existe enquanto o procedimento estiver sendo executado. Se tentarmos utilizar a variável fora do procedimento onde a ela foi declarada. não teremos acesso ao valor da variável. quando comparamos variáveis com valores de tipos diferentes. ou seja. respectivamente. existe enquanto o Módulo estiver sendo executado.2 Escopo de procedimento / função / macro A variável somente pode ser utilizada. Aqui o conceito de procedimento praticamente se confunde com o de macro. faz parte da respectiva macro. podemos ter os seguintes escopos para as variáveis: Escopo de Módulo: Uma variável declarada dentro do Módulo (um módulo pode conter um ou mais procedimentos ou funções. sendo que cada macro é um procedimento. Ao chamarmos um procedimento. 2. inclusive dentro dos Procedimentos.24. dentro do procedimento onde esta é declarada. inicia com um Sub e termina com um End Sub. no VBA. Devemos ter alguns cuidados quando comparamos variáveis que possuem valores de tipos diferentes. Uma variável declarada ao nível de Módulo. a execução segue com a linha seguinte Página 124 de 219  . O escopo de uma variável. poderá ser utilizada em todos os procedimentos/funções do módulo.24. A Tabela a seguir descreve o que acontece.24 Escopo de Variáveis e Variáveis do tipo Array 2. mas fora de qualquer Procedimento.São as variáveis declaradas na seção de Declarações do Módulo. Veremos mais sobre funções e procedimentos. Uma variável declarada ao nível de procedimento. como por exemplo. cada macro é criada como um procedimento separado.

Ao encontrar esse comando o Excel desloca a execução para o procedimento proc1. executa os comandos deste procedimento e após encerrar continua a execução a partir do comando seguinte ao comando Call. Este procedimento deve ser definido no mesmo módulo. b x=10 y=20 a=5 b=7 MsgBox "x= " & x & " y= " & y & " a= " & a & " b= " & End Sub b O comando Call faz o chamado ao procedimento proc1.Microsoft Excel – Estudo Avançado à que chamou o procedimento. Ao executar esse código será exibida a janela indicada na Figura a seguir: Página 125 de 219 . Dim x. ” Variáveis declaradas nessa seção tem o escopo de módulo. podem ser utilizadas em qualquer procedimento dentro do módulo. Considere o seguinte trecho de código. uma vez que os valores de a e b ' não estão disponíveis. dentro de um módulo VBA de uma planilha do Excel: ”Seção geral do módulo. 'Estas variáveis somente serão visíveis.aux1 As Integer Call proc1 ' Agora vamos tentar utilizar os valores de a e b ' Fora do procedimento proc1. fora do procedimento proc1 Aux1 = a + b MsgBox "aux1= " & Aux1 'Agora vamos criar um procedimento 'E declarar duas variáveis dentro deste procedimento. Sub proc1() Dim a. Veremos maiores detalhes sobre procedimentos e funções nas próximas lições Vamos considerar alguns trechos de código para entendermos melhor este conceito de escopo de uma variável. caso contrário um erro será gerado. 'Dentro deste procedimento. ' Observe que a variável aux1 não é calculada ' corretamente. ” isto é. y.

conforme comprovaremos logo a seguir: Dê um clique no botão OK. trataremos das Estruturas e laços de controle. mantém o seu valor quando Proc1 estiver sendo executada. o conceito de escopo (algumas vezes chamado de visibilidade) das variáveis. Fora de Proc1. Na próxima lição. logo aux1 deveria ser igual a 12. Agora vamos fazer uma tentativa de usar as variáveis a e b fora do procedimento Proc1. elas não podem ser acessadas de fora do procedimento proc1. Com esse exemplo.Microsoft Excel – Estudo Avançado resultado na caixa de diálogo. o seu escopo está ativo. Como elas foram declaradas dentro de Proc1. mesmo se usarmos x e y em outros procedimentos desse módulo. o Excel tem acesso aos valores de a e b. após a execução do procedimento ter sido encerrada. ou seja. as variáveis a e b terão valores nulos. podem ser utilizadas em qualquer procedimento. As variáveis x e y tem escopo de módulo. Será exibida a janela indicada na figura a seguir: Como é possível se aux1= a + b e a=5 e b=7. O que está acontecendo?? Observe que o valor da variável aux1 (foi calculado incorretamente). que são elementos muito importantes na criação de programas VBA. Como as variáveis a e b foram declaradas dentro do procedimento Proc1. foi possível verificar. O comando Call Proc1 é executado. dentro do procedimento Proc1. Isso ocorre porque a e b foram declarados. dentro do módulo. As variáveis x e y foram declarados com escopo de módulo. Página 126 de 219 . isto é. permanecerão disponíveis. Como a e b estão declaradas dentro de Proc1. pois a variável aux1 depende dos valores de "a" e "b". embora não tenham sido declaradas dentro desse procedimento. Por isso os valores de a e b também são exibidos corretamente. somente são —visíveis“. Dê um clique no botão OK e mantenha a planilha aberta. ou seja. por isso podem ser utilizadas corretamente dentro do procedimento Proc1. isso é. Os valores definidos para x e y. na prática. O excel executa os comandos dentro de Proc1. Porém observe que x e y apresentam valores nulos.

ElseIf . Quando for encontrado um valor coincidente com o de x.Case . Página 127 de 219 .Case. é mais eficiente utilizarmos uma única estrutura Select.. O comando abaixo do Case Else somente será executado. menor do que 12 “ End Select A estrutura Select Case x . o valor de x está sendo testado. os comandos abaixo deste Case serão executados.24.. disponíveis no VBA. se todos os testes anteriores falharem.. Considere o exemplo a seguir: Dim x x=10 Select Case x Case 2 MsgBox “X vale 2 !“ Case 4 MsgBox “X vale 4 !“ Case 6 MsgBox “X vale 6 !“ Case 8 MsgBox “X vale 8 !“ Case 10 MsgBox “X vale 10 !“ Case Else MsgBox “X não é um número par. vai testar o valor de x.. O uso da estrutura Select.. do que utilizarmos uma série de testes utilizando a estrutura If. abaixo de Case 10. é bastante intuitivo.3 A estrutura Select. o comando MsgBox “X vale 10 !“ ...Case.. No nosso exemplo. Em cada um dos Case. O funcionamento da estrutura Select.Then..Microsoft Excel – Estudo Avançado 2.. Na próxima lição veremos mais algumas estruturas de controle..Case Quando precisamos realizar uma série de testes. torna o código mais eficiente e de mais fácil leitura.. será executado.

Em cada passagem do laço. Do. aprenderemos as estruturas de repetição disponíveis.. utilizamos uma variável como contador.25... Neste tipo de estrutura. 2.. um número determinado de vezes.. para repetir um segmento de código.Next. normalmente. quando já sabemos o número de vezes que uma determinada seção de código deve ser repetida.25. Caso não seja definido o incremento. a variável contador é incrementada pelo valor definido em incremento. um número específico de vezes. ou até que uma determinada condição torne-se verdadeira ou falsa.1 Estruturas de repetição. até que o último registro seja alcançado. ou Laços. Em determinadas situações. precisamos repetir um ou mais comandos. pode ser que haja a necessidade de percorrer todos os registros de uma determinada tabela. Utilizamos esta estrutura.2 A estrutura For. utilizamos as chamadas estruturas de repetição. O Formato geral desta estrutura é o seguinte: For contador = inicio to fim incremento Comando1 Comando2 Comandon Next No início a variável contador tem o valor definido.While e Do.Next.. será utilizado o padrão 1..Microsoft Excel – Estudo Avançado 2. Este contador varia de um valor inicial até um valor final.Until 2.. Por exemplo. Utilizamos o laço For.. Considere o exemplo a seguir: Dim x x=10 Soma=0 ‘Faz a soma For i=1 to x Soma = Soma +i Next MsgBox “Valor da Soma = “ & Soma dos 10 primeiros números maiores do que zero Página 128 de 219 .. Para isso. A partir de agora.Next.25 Estruturas For.

terá armazenado o valor da soma dos 10 primeiros números inteiros. Com isso temos quatro situações distintas. O formato geral. por exemplo. obtemos o resultado indicado na Figura a seguir: resultado 2.. a partir de agora.Loop Esta estrutura pode ser utilizada para repetir um trecho de código.Microsoft Excel – Estudo Avançado Neste exemplo. neste caso é o seguinte: Do While condição/teste Comando1 Comando2 Página 129 de 219 . Os operadores While ou Until.Loop Neste caso. será utilizado o padrão que é 1. a variável i inicia com o valor 1. para.25. estamos utilizando o operador condicional While. Como o incremento não foi definido.. ou até que uma determinada condição torne. vamos analisar cada uma delas.se verdadeira . Com isso...3 A estrutura Do. Em cada passo. o valor de i é acrescentado à variável Soma. a variável Soma. obter a soma somente dos números ímpares menores do que 10: Dim x x=10 Soma=0 ' Faz a soma dos 10 primeiros números ímpares For i=1 to x Step 2 Soma = Soma +i Next MsgBox “Valor da Soma = “ & Soma Com este código.4 A estrutura Do While Condição.25. podem ser utilizados de duas maneiras diferentes: No início do laço.Next. 2. ao final do laço For. Poderíamos utilizar um valor de incremento diferente de 1. no início do laço. Podemos utilizar dois operadores condicionais diferentes: While ou Until . ou no final do laço. enquanto uma determinada condição for verdadeira...

se a condição for falsa já na primeira vez. é uma causa comum de erros e travamentos.. Comandon Loop While condição/teste Nesta estrutura. Considere o exemplo a seguir: Dim x x=10 Contador=1 Soma=0 ' Faz a soma dos 10 primeiros números maiores do que zero Soma = Soma + Contador Contador = Contador + 1 Do While Contador <= x Loop MsgBox “Valor da Soma = “ & Soma Observe que dentro do laço. deslocamos o teste de condição para o final do laço. será executado.25. O formato geral. o primeiro comando após o final do laço. enquanto a condição for verdadeira. Comandon Loop Nesta estrutura. o primeiro comando após o final Página 130 de 219 . pelo menos uma vez... neste caso é o seguinte: Do Comando1 Comando2 . Quando a condição tornar-se falsa.. ou até o programa travar. Com o teste no final do laço. o código dentro do laço. o código dentro do laço é executado . será executado. enquanto a condição for verdadeira. e o laço é encerrado. o código dentro do laço é executado. pois caso contrário a condição será sempre verdadeira. o laço não será executado nenhuma vez. e os comandos dentro do laço ficarão em execução. devido a erros de programação. infinitamente. A criação de laços infinitos. e continuará sendo executado. Neste caso. o teste do início do laço torna-se falso. 2. quando o valor de Contador.5 A estrutura Do.. enquanto a condição for verdadeira.Microsoft Excel – Estudo Avançado . atingir 11. vamos Incrementando o valor da variável Contador. Com isso.. uma unidade para cada passagem do laço. pois o teste somente é feito no final. O Código dentro do laço deve ser capaz de alterar a condição para que essa se torne Falsa. Quando a condição tornar-se falsa. Loop While Condição Neste caso.

o laço será executado uma única vez.Microsoft Excel – Estudo Avançado do laço. Considere o exemplo a seguir: Dim x x=10 Contador=1 Soma=0 ‘Faz a soma dos 10 primeiros números maiores do que zero Do Soma = Soma + Contador Contador = Contador + 1 Loop While Contador <= x MsgBox “Valor da Soma = “ & Soma Vamos modificar um pouco o nosso exemplo. será executado. ou até o programa travar. e os comandos dentro do laço ficarão em execução. pois caso contrário a condição será sempre verdadeira. O Código dentro do laço deve ser capaz de alterar a condição para Falso. devido a erros de programação. infinitamente. quando for necessário. é uma causa comum de erros e travamentos. A criação de laços infinitos. pois a condição ‘ Contador < x é falsa. Do Soma = Soma + Contador Contador = Contador + 1 Loop While Contador <= x MsgBox “Valor da Soma = “ & Soma Qual o valor será exibido para a variável Soma ? Página 131 de 219 . Considere o exemplo mostrado a seguir: Dim x x=10 Contador=11 Soma=0 ‘ O laço será executado uma única vez. se a condição for falsa já na primeira vez. Neste caso.

Considere o exemplo a seguir: Dim x x=10 Contador=1 Soma=0 ‘Faz a soma dos 10 primeiros números maiores do que zero Do Until Contador > x Soma = Soma + Contador Contador = Contador + 1 Loop MsgBox “Valor da Soma = “ & Soma Página 132 de 219 . antes do teste ser realizado). pois caso contrário a condição será sempre Falsa. quando for necessário. é uma causa comum de erros e travamentos. o laço não será executado nenhuma vez. Comandon Loop Nesta estrutura. pois x=10 e Contador=12 (Lembre que o Contador foi incrementado de uma unidade dentro do laço. o primeiro comando após o final do laço. ou até o programa travar.Loop. A condição Contador < x é falsa. será 11. Com isso. infinitamente.. é atribuído o valor 11 para a variável Soma.25. O formato geral. o código dentro do laço é executado. A criação de laços infinitos. o valor exibido para a variável Soma. Neste caso. Quando o laço é executado.. Neste caso. o laço será executado uma única vez. será executado. devido a erros de programação. enquanto a condição for falsa.. já na primeira vez.. 2.6 A estrutura Do Until Condição. neste caso é o seguinte: Do Until condição Comando1 Comando2 . e os comandos dentro do laço ficarão em execução. no início do laço.Microsoft Excel – Estudo Avançado Muito simples. Quando a condição tornar-se verdadeira. estamos utilizando o operador condicional Until. O Código dentro do laço deve ser capaz de tornar a condição Verdadeira. se a condição for verdadeira. Neste caso. pois o teste de condição está no final do laço.

o código dentro do laço. enquanto a condição for Falsa. pois o teste somente é feito no final. Quando a condição tornar-se Verdadeira. O formato geral. e o laço é encerrado.7 A estrutura Do. pois caso contrário a condição será sempre Falsa.25. e os comandos dentro do laço ficarão em execução. o teste do início do laço torna-se Verdadeiro. O Código dentro do laço deve ser capaz de tornar a condição Verdadeira.. uma unidade para cada passagem do laço. infinitamente. será executado. A criação de laços infinitos. neste caso é o seguinte: Do Comando1 Comando2 . Considere o exemplo a seguir: Dim x x=10 Contador=1 Soma=0 ‘Faz a soma Do Soma = Soma + Contador Contador = Contador + 1 Página 133 de 219 dos 10 primeiros números maiores do que zero . é uma causa comum de erros e travamentos..Microsoft Excel – Estudo Avançado Observe que dentro do laço. será executado. Loop Until Condição. o código dentro do laço é executado. Neste caso. quando for necessário. devido a erros de programação. quando o valor de Contador. vamos Incrementando o valor da variável Contador. Neste caso.. atingir 11. pelo menos uma vez. já na primeira vez.. Com o teste no final do laço. 2. o primeiro comando após o final do laço. e continuará sendo executado. se a condição for Verdadeira. Comandon Loop Until condição Nesta estrutura. Com isso. ou até o programa travar. o laço será executado uma única vez. deslocamos o teste de condição para o final do laço. enquanto a condição for Falsa.

Do Soma = Soma + Contador Contador = Contador + 1 Loop Until Contador >= x MsgBox “Valor da Soma = “ & Soma Qual o valor será exibido para a variável Soma? Muito simples. Aprenderemos as diferenças entre uma Sub-rotina e uma função. tais como uma folha e pagamentos ou cálculos de impostos. Iniciaremos falando um pouco mais sobre tipos de dados e funções para conversão de tipos. Nas lições do próximo módulo. o valor exibido para a variável Soma.Microsoft Excel – Estudo Avançado Loop Until Contador > x MsgBox “Valor da Soma = “ & Soma Vamos modificar um pouco o nosso exemplo. o laço será executado uma única vez. pois o teste de condição está no final do laço. pois a condição ‘Contador >= x é verdadeira. pois x=10 e Contador=12 (Lembre que o Contador foi incrementado de uma unidade. Quando o laço é executado. Funções do VBA – Funções de Tipo – Parte 1 A partir de agora veremos uma série de aspectos que vão além do básico do VBA. Com isso. Neste caso. São funções que fazem parte do Microsoft Excel. na linha 11. Depois passaremos a analisar uma série de funções internas do VBA. na primeira passagem do laço). principalmente quando criamos código que efetua cálculos. A condição Contador>= x é falsa. aprenderemos a criar nossas próprias funções e Sub-rotinas. Considere o exemplo a seguir: Dim x x=10 Contador=11 Soma=0 ‘O laço será executado uma única vez. Este tópico é de grande importância. será 11. é atribuído o valor 11 para a variável Soma. e quando utilizar uma ao invés da outra. Página 134 de 219 . como por exemplo a função Date(). que retorna a data do sistema.

é acessado através do nome da variável Array e de um índice. por engano. podemos utilizar uma função para determinar se os valores digitados pelo usuário. não apresentam problemas. Para declarar um Array chamado produtos. texto em um campo que deve conter valores numéricos. até o elemento 9. O fato do índice começar com 0. e assim por diante. poderíamos ter uma variável Array na qual são armazenados todos os códigos de tributo. do elemento 0. Existem diversas aplicações para este tipo de função.26. Por exemplo. Por exemplo. o usuário pode ter digitado. No exemplo a seguir. o elemento 2.26 Tipos de dados e funções para conversão de tipos Neste item. Um Array é um tipo especial de variável. Por exemplo. Cada valor armazenado no Array é um elemento do conjunto. aprenderemos a determinar qual o tipo de dado que está armazenado em uma variável. um Array é um conjunto ou como aprendi nos bons e velhos tempos da faculdade de Engenharia Elétrica na UFSM: Um vetor. indicado por produtos(19). influencia na hora que formos declarar um Array. utilizando as funções para conversão de tipos. Cada elemento de um Array. temos um exemplo simples de utilização de Array: 'Declara um Array de 7 posições 'Como a primeira posição é a posição zero.Microsoft Excel – Estudo Avançado 2. Com isso teríamos um Array de 12 elementos. De uma forma simples. isto é.1 variável. indicado por produtos(0). Um outro exemplo: Poderíamos criar um Array para armazenar os nomes dos meses do ano. utilizaríamos o seguinte comando: Dim produtos(19) O 19 significa que temos 20 elementos (sempre um a mais do que o número que aparece na declaração). teremos o elemento 0.2 A função IsArray. ao digitar dados em um formulário do Excel (no curso sobre Programação VBA e Criação de Aplicativos com o Excel. até o elemento 20. Por isso se tivermos um Array de 10 elementos. Determinando o Tipo de Dados contido em uma Existem diversas funções. O índice inicia em zero e não em um . o elemento 1. 2.26. com 20 elementos. a qual pode armazenar diversos valores em uma única variável. aprenderemos a criar formulários). que permitem que seja determinado o tipo de valor contido em uma variável. Página 135 de 219 . válidos para o recolhimento de impostos. 2. bem como a converter valores de um tipo para outro.

Microsoft Excel – Estudo Avançado 'Indicamos o tamanho como 6. MsgBox mensagem Esse trecho de código. Página 136 de 219 . ao ser executado. Utilizamos a seguinte sintaxe: IsArray(NomeDaVariável) A função IsArray retorna verdadeiro se a variável for um Array. o que significa 'da posição 0 até a posição 6 = 7 elementos. para exibir a mensagem 'com o conteúdo do Array Dias.. são do tipo Variant). produziria a seguinte saída: caixa com o resultado Utilizamos a função IsArray. For i=0 to 6 mensagem = mensagem & "Dia: " & i+1 & " " & Dias(i)& chr(13) Next 'Utilizamos uma MsgBox. para determinar se uma variável do tipo Variant (lembre que todas as variáveis do VBA.Next 'Para criar uma String. está armazenando um Array. com o conteúdo 'Do Array Dias. Dim Dias(6) 'Atribuímos valores para os dias da semana Dias(0)= Dias(1)= Dias(2)= Dias(3)= Dias(4)= Dias(5)= Dias(6)= "Segunda-feira" "Terça-feira" "Quarta-feira" "Quinta-feira" "Sexta-feira" "Sábado" "Domingo" 'Agora utilizamos um laço For. e falso caso contrário..

Passamos para a função.Microsoft Excel – Estudo Avançado Vamos alterar um pouco o exemplo anterior.: MsgBox IsArray(Dias) o resultado seria o indicado na Figura a seguir: resultado 2.3 A função VarType. o nome de uma variável ou expressão. Valor 0 Descrição Vazio (não inicializado) 1 Nulo (dados não válidos) 2 Inteiro 3 Inteiro longo Número de precisão simples Página 137 de 219 . A sintaxe da função é a seguinte: VarType(NomeDaVariável) ou VarType(expressão) Na Tabela a seguir temos os códigos de retorno da função VarType. ao final da listagem. Podemos utilizar a função VarType.26. para determinar o subtipo de uma variável. o subtipo pode ser utilizado para determinar o tipo de dado armazenado na variável. Como todas as variáveis são do tipo Variant. A função retorna um número inteiro que indica o subtipo da variável. adicionando o seguinte comando.

z Dim a. Dim x. 17 Byte 8192 Array Tabela 2. b=Date() Página 138 de 219 x=12 . para capturar a data do sistema.Microsoft Excel – Estudo Avançado 4 5 Número de precisão dupla 6 Monetário 7 Data 9 Objeto de automação 10 Erro 11 Boleano 12 Variant (somente é utilizado com Arrays de variantes) 13 Um objeto para acesso a dados. b Dim c(20) Dim mensagem As String y=23. temos um exemplo de utilização da função VarType.456 y=123456789 a="Este é um valor de texto !" ‘tilizamos a função Date( ).y.1 – Retorno da função Vartype No exemplo a seguir.

27. ou seja. indicando que o valor armazenado nesta variável é do tipo Data. o que também está coerente com a Tabela anterior. o qual retornou 7. Isto significa que a variável z está vazia. ou pode ser convertida para uma data válida. Página 139 de 219 . por exemplo. na variável b. dentre as quais podemos destacar a validação dos dados digitados em um formulário. uma vez que usamos a função Date() . e determina se a variável ou expressão é uma data válida. Caso o argumento passado seja uma data válida. obteremos o resultado indicado na Figura a seguir: Resultado Observe. principalmente. Muitas são as aplicações práticas para a função VarType. no tipo da variável z. a função retorna Verdadeiro. para armazenar a data do sistema. caso contrário. a qual declarou a variável c como sendo um Array. Podemos utilizar esta função. A função IsDate recebe uma variável ou expressão como argumento. e com a declaração: Dim c(20). Este resultado está coerente com a Tabela anterior. Também podemos salientar o retorno para a variável b.retorna Falso. 2. em um campo de um formulário. Este resultado está coerente com a Tabela anterior. o qual retornou 8192. para verificar se o usuário digitou uma data válida. indicando que a variável c é um Array. não foi inicializado.1 A função IsDate.27 Funções do VBA – Funções de Tipo – Parte 2 2.Microsoft Excel – Estudo Avançado mensagem = "Tipo da variável x: " & Vartype(x) & Chr(13) mensagem = mensagem & "Tipo da variável y: " & Vartype(y) & Chr(13) mensagem = mensagem & "Tipo da variável z: " & Vartype(z) & Chr(13) mensagem = mensagem & "Tipo da variável a: " & Vartype(a) & Chr(13) mensagem = mensagem & "Tipo da variável b: " & Vartype(b) & Chr(13) mensagem = mensagem & "Tipo da variável c: " & Vartype(c) & Chr(13) MsgBox mensagem Ao executar este exemplo. o qual retornou 0. Finalmente observe o valor de retorno para a variável c.

retorna Falso. If IsDate(x) Then MsgBox "Você digitou uma data válida !" Else MsgBox "Data inválida. Podemos utilizar esta função.2 A função IsEmpty. Caso tenha sido atribuído algum valor.Microsoft Excel – Estudo Avançado A sintaxe da função IsDate é a seguinte: IsDate(NomeDaVariável) ou IsDate(expressão) A seguir temos um exemplo de utilização da função IsDate. e determina se.27. em algum momento. não foi deixado em branco. Vamos declarar uma variável x. para verificar se um campo de digitação obrigatória. A sintaxe da função IsEmpty é a seguinte: IsEmpty(NomeDaVariável) ou IsEmpty(expressão) A seguir temos um exemplo de utilização da função IsEmpty. A função IsEmpty recebe uma variável ou expressão como argumento. digite novamente !" End If 2. b. como por exemplo o nome. a função retorna Verdadeiro. foi atribuído algum valor para a variável ou expressão. por exemplo. caso contrário. c Dim x a=10 b=23 c=a+b If IsEmpty(x) Then Página 140 de 219 . que nunca Será utilizada no nosso Script Dim a.

27. a função retorna Verdadeiro. foi atribuído o valor Null para a variável ou expressão. Para atribuirmos Null para uma variável. Dim x x = Null If IsNull(x) Then MsgBox "A variável x é Nula !" End If Este exemplo produz o seguinte resultado: Página 141 de 219 . Quando é atribuído o valor Null para a variável. utilizamos a seguinte sintaxe: NomeDaVariável = Null Uma variável com valor Null. Caso tenha sido atribuído o valor Null. para a variável. retorna Falso.3 A função IsNull A função IsNull recebe uma variável ou expressão como argumento. 2. logo a função IsEmpty(x) irá retornar Verdadeiro. esta continua existindo na memória. e atribuir ' Null. em algum momento. caso contrário. A sintaxe da função IsNull é a seguinte: IsNull(NomeDaVariável) ou IsNull(expressão) A seguir temos um exemplo de utilização da função IsNull. ou uma variável de texto com tamanho zero.Microsoft Excel – Estudo Avançado MsgBox "A variável x. com isso está vazia. e determina se. porém sem nenhum valor definido. não foi utilizada !" End If A variável x foi declarada porém não foi inicializada. ' Vamos declarar uma variável x. não é a mesma coisa que uma variável com valor zero.

Dim x.z x=123 'Atribuo um valor que não pode ser convertido 'para numérico y = "Riachuelo . A sintaxe da função IsNumeric é a seguinte: IsNumeric(NomeDaVariável) ou IsNumeric(expressão) A seguir temos um exemplo de utilização da função IsNumeric. a função retorna Verdadeiro.27. caso contrário.4 A função IsNumeric. e atribuir esta data à variável z. e determina se o valor atribuído à variável ou expressão é numérico. 2. Caso o valor seja numérico. VBA – Funções para conversão de Tipos– Parte 1 Página 142 de 219 . Observe que esta data não foi considerada um valor numérico para a função IsNumeric.Microsoft Excel – Estudo Avançado Resultado. retorna Falso.y. ou pode ser convertido para numérico. ou possa ser convertido. para capturar a data do sistema.80" z = Date() mensagem = "Valor de x: " & x &" É numérico ? " & IsNumeric(x)& Chr(13) mensagem = mensagem & "Valor de y: " & y &" É numérico ? " & IsNumeric(y)& Chr(13) mensagem = mensagem & "Valor de z: " & z &" É numérico ? " & IsNumeric(z) MsgBox mensagem Cabe salientar a utilização da função Date(). A função IsNumeric recebe uma variável ou expressão como argumento.

28. para que possamos realizar cálculos. não pode ser Texto. se tivermos um número. O argumento desta função. Existem situações em que um determinado tipo de dado. para o subtipo Byte. 2. exemplificando a utilização de cada uma delas. 2. o que é comprovado pela Figura anterior. apresento as principais funções de conversão. Por exemplo. com exceção do zero.28. como a expressão é falsa.1 Função Cbool A função Cbool converte uma variável ou resultado de um expressão. não pode Página 143 de 219 . Qualquer valor diferente de zero (com exceção de texto). O valor a ser convertido. Já no segundo uso da função Cbool. que vai de 0 à 255. a função Cbool retorna Falso. para o subtipo Boolean. será gerada uma mensagem de erro. deve ser convertido para outro.2 Função CByte A função CByte converte uma variável ou resultado de um expressão.28 Por que converter tipos? Vamos aprenderemos a utilizar as principais funções para conversão de tipos. O argumento desta função. deve estar na faixa aceitável para o tipo byte. é automaticamente convertido para Verdadeiro. Caso o número esteja fora desta faixa. bem como um pequeno fragmento de código. foi passado o parâmetro 3 para a função. Qualquer número.Microsoft Excel – Estudo Avançado 2. caso contrário será gerado um erro em tempo de execução. Na seqüência. armazenado na forma de texto. O valor zero é sempre convertido para Falso. a função interpreta como Verdadeiro. Observe este linha de código: MsgBox cbool(10>25) & chr(13) & cbool(3) Esta linha gera a mensagem indicada na Figura a seguir: Resultado A expressão 10>25 é avaliada. precisamos convertê-lo para inteiro ou double. em tempo de execução.

caso contrário será gerado um erro.326582) Página 144 de 219 . Observe este linha de código: MsgBox CCur(250. para o subtipo Currency (semelhante ao formato Moeda.3 Função CCur A função CCur converte uma variável ou resultado de um expressão. pois o valor a ser convertido para byte. Observe este linha de código: MsgBox CByte(10+34) & chr(13) & CByte(35) Esta linha gera a mensagem indicada na Figura a seguir: Resultado. MsgBox CByte(100+200) Essa linha de código irá gerar a seguinte mensagem de erro: Erro gerado. A linha de código abaixo. 2. e o resultado (44). porém sem o símbolo do real: R$).Microsoft Excel – Estudo Avançado ser Texto. irá gerar uma mensagem de erro.28. em tempo de execução. caso contrário será gerada uma mensagem de erro. não pode ser Texto.335677+324. é convertido para o tipo byte. A expressão 10+34 é calculada. O argumento desta função.3333) & chr(13) & CCur(1250. em tempo de execução. está fora da faixa de 0 à 255.

Microsoft Excel – Estudo Avançado Esta linha gera a mensagem indicada na Figura a seguir: Resultado.3333 é calculada. Observe este linha de código: MsgBox CDate(—31/10/1980“) & chr(13) & CDate(—23-01-2007“) Esta linha gera a mensagem indicada na Figura a seguir: Página 145 de 219 . A expressão 250. para o subtipo Date. Se passarmos um argumento de texto para a função CCur. e o resultado é convertido para o tipo Currency.4 Função CDate A função CDate converte uma variável ou resultado de um expressão.28. conforme indicado na Figura a seguir: Erro 2.335677+324. será gerado um erro de execução. O argumento desta função deve estar em um formato que seja aceitável para datas. em tempo de execução. caso contrário será gerada uma mensagem de erro.

28. em tempo de execução. caso contrário será gerada uma mensagem de erro. A linha de código abaixo. irá gerar uma mensagem de erro. 2. em tempo de execução. Página 146 de 219 .5 Função CDbl A função CDbl converte uma variável ou resultado de um expressão. conforme indicado na próxima figura: MsgBox CDate(“31/02/1980“) Erro.Microsoft Excel – Estudo Avançado Resultado.940651247E-17") Esta linha gera a mensagem indicada na Figura a seguir: Resultado. para o subtipo Double. O argumento desta função não pode ser do tipo texto. O tipo Doublé é utilizado para números grandes com casas decimais. Observe este linha de código: MsgBox CDbl("4.

8 Função CSng A função CSng converte uma variável ou resultado de um expressão. caso contrário será gerada uma mensagem de erro. caso contrário será gerada uma mensagem de erro.35+40.36) & Chr(13) & CInt(20.7 Função CLng A função CLng converte uma variável ou resultado de um expressão. Observe este linha de código: MsgBox CLng("3462315") Esta linha gera a mensagem indicada na Figura a seguir: Resultado 2.Microsoft Excel – Estudo Avançado 2.28. caso contrário será gerada uma mensagem de erro. em tempo de execução. em tempo de execução. para o subtipo Integer.45) Esta linha gera a mensagem indicada na Figura a seguir: Resultado. Observe este linha de código: MsgBox CInt(32. O argumento desta função não pode ser do tipo texto. O argumento também não pode estar fora da faixa admitida pelo subtipo Long.6 Função CInt A função CInt converte uma variável ou resultado de um expressão. em tempo de execução. Página 147 de 219 . para o subtipo Single. para o subtipo Long. O argumento desta função não pode ser do tipo texto.28.28. 2.

A linha de código a seguir: MsgBox Int(-7. caso contrário será gerada uma mensagem de erro. Observe este linha de código: MsgBox CStr("12345" & " hectares de terra") Esta linha gera a mensagem indicada na Figura a seguir: Resultado.10 Função Int A função Int retorna somente a parte inteira de um determinado número.28. O argumento também não pode estar fora da faixa admitida pelo subtipo Single. caso contrário será gerada uma mensagem de erro. 2.35) & Chr(13) & Int(10. em tempo de execução.28. em tempo de execução. Observe este linha de código: MsgBox CSng("3. para o subtipo String.Microsoft Excel – Estudo Avançado O argumento desta função não pode ser do tipo texto.1418256927") Esta linha gera a mensagem indicada na Figura a seguir: Resultado 2.35) Esta linha gera a mensagem indicada na Figura a Seguir: Página 148 de 219 .9 Função CStr A função CStr converte uma variável ou resultado de um expressão.

29. e retorna o caractere ASCII. 2.29 Funções para tratamento de Texto Nessa lição veremos as principais funções para tratamento de String. Com isso. o código retornado seria 97 e assim por diante.2 Função Chr A função Chr(número). terminamos a nossa apresentação sobre as principais funções para a conversão de tipos de dados. Caso fosse a letra "a" minúscula. utilizamos a função Chr em diversos exemplos. Considere o exemplo: Asc(“Ainda chovia“) Este exemplo de uso da função retorna o valor 65.29. 2. para a primeira letra de uma String. para a letra A maiúscula. recebe um número como parâmetro. para operações com dados do tipo String e do tipo Data/Hora. associado ao número passado como parâmetro.1 Função Asc A função Asc. 2. Na próxima lição.Microsoft Excel – Estudo Avançado Resultado. retorna o valor numérico do código ASCII. o qual é o código ASCII. para simular um ENTER. analisaremos mais algumas funções do VBA.29.3 Função Len Página 149 de 219 . Até agora. 2. Utilizamos o Chr(13). nas mensagens montadas com o MsgBox. o que faz uma quebra de linha. Considere o exemplo: Chr(65) Este exemplo de uso da função retorna o caractere "A" maiúsculo.

2.29.5 Função UCase Esta função converte para MAIÚSCULAS. para letras maiúsculas. Considere o exemplo: MsgBox Lcase(“este é um exemplo do uso da função ucase !“) Este exemplo de uso da função. a String que foi passada como parâmetro para a função. É importante observar que os espaços em branco também —contam“ para o tamanho da string. Considere o exemplo: MsgBox Len(“Este é um exemplo de uso da função Len !“) Este exemplo de uso da função.4 Função LCase Esta função converte para minúsculas.29. a String que foi passada como parâmetro para a função. Considere o exemplo: MsgBox Lcase(“ESTE É UM EXEMPLO DE USO DA FUNÇÀO LCASE!“) Este exemplo de uso da função. retorna 41.x – Resultado. converte o parâmetro passado. conforme indicado na Figura a seguir: Resultado.Microsoft Excel – Estudo Avançado Esta função determina o tamanho da String que foi passada como parâmetro para a função. conforme indicado na Figura a seguir: Fgiura x. 2. para letras minúsculas. converte o parâmetro passado. conforme indicado na Figura a seguir: Página 150 de 219 .

9) Irá retornar: Gabriel O Observe que o espaço em branco também é considerado. retornará Gabriel.29. Vamos alterar um pouco o nosso exemplo: MsgBox Right(—Júlio Cesar Fabris Battisti“. Considere o exemplo: MsgBox Right(“Gabriel Otávio“. a partir do início (Left œ Esquerda) de uma String. Considere o exemplo: MsgBox Left(“Gabriel Otávio“. retorna as cinco primeiras letras da String passada. Página 151 de 219 . n) onde n é o número de caracteres a retornar. neste caso. É importante salientar que espaços em branco também devem ser considerados. retornará “Otávio“. retorna as seis ultimas letras da String passada. O formato geral da função é o seguinte: Left(String.Microsoft Excel – Estudo Avançado 2. neste caso.6 Função Left Esta função retorna um número especificado de caracteres.8) Irá retornar: L Otávio Observe que o espaço em branco também é considerado. n) Onde n é o número de caracteres a retornar.7 Função Right Esta função retorna um número especificado de caracteres. É importante salientar que espaços em branco também devem ser considerados. 2.7) Este exemplo de uso da função.6) Este exemplo de uso da função. a partir do final (Right œ Direita) de uma String. Vamos alterar um pouco o nosso exemplo: MsgBox Left(“Gabriel Otávio“. O formato geral da função é o seguinte: Right(String.29.

Observe que o espaço em branco também é considerado. É importante salientar que espaços em branco também devem ser considerados. retornará Otávio.3.29. O formato geral da função é o seguinte: Mid(String. dentro da String. Considere o exemplo: MsgBox String(35.Microsoft Excel – Estudo Avançado 2. retorna. a partir da posição 7. O formato geral da função é o seguinte: String(n. Um detalhe interessante.8 Função Mid Esta função retorna um número especificado de caracteres. a qual converte os caracteres para minúsculos. n) Onde: posicao_inicio é a posição a partir da qual devem ser retornados caracteres n é o número de caracteres a retornar. A função Mid retira os caracteres NTA MAR. é que podemos utilizar o valor retornado por uma função. Considere o seguinte exemplo: LCase(Mid(—SANTA MARIA“.3.7)) Este exemplo retorna “nta mar”. um número especificado de vezes. Considere alguns exemplos: Mid(“Gabriel Otávio“. Mid(“SANTA MARIA“. posicao_inicio.9 Função String Esta função retorna um determinado caractere.8. como parâmetro para outra função. neste caso.6) Este exemplo de uso da função.29. 5 caracteres. Caracter) Onde n é o número de vezes que Caractere deve ser repitido. os quais são passados como parâmetros para a função LCase. 2.“*“) Página 152 de 219 .7) irá retornar NTA MAR. a partir de uma posição especificada.

1 Função Date Retorna a data corrente do sistema. Considere o exemplo abaixo: MsgBox “Data do Sistema: “ & Date() O resultado deste comando. Não precisamos passar parâmetros para esta função. está indicado na Figura a seguir: Resultado. 2. Considere o exemplo abaixo: MsgBox “Hora do Sistema: “ & Time( ) O resultado deste comando.30 Funções de Data/Hora e Matemáticas Funções para tratamento de Data e Hora Veremos as principais funções para tratamento de Data e Hora.30.X . 2. 2.Resultado. está indicado na Figura a seguir: Página 153 de 219 . Não precisamos passar parâmetros para esta função.2 Função Time Retorna a hora corrente do sistema.30.Microsoft Excel – Estudo Avançado A Figura a seguir mostra o resultado deste comando: Fgirua X.

2. O formato geral é o seguinte: Month(data) Considere o exemplo abaixo: MsgBox “Mês do ano: “ & Month(Date( )) O resultado deste comando.30. está indicado na Figura a seguir: A função Date() captura a data do sistema e passa como parâmetro para a função Day. e retorna um número entre 1 e 12. O formato geral é o seguinte: Day(data) Considere o exemplo abaixo: MsgBox “Dia do mês: “ & Day(Date( )) O resultado deste comando. Resultado. 2. retorna apenas o dia do mês. a qual por sua vez. e retorna um número entre 1 e 31.30.Microsoft Excel – Estudo Avançado Resultado.3 Função Day Recebe como parâmetro uma data.4 Função Month Recebe como parâmetro uma data. indicando o mês do ano. indicando o dia do mês. está indicado na Figura a seguir: Página 154 de 219 .

está indicado na Figura a seguir: Resultado 2. abreviar) Considere o exemplo abaixo: MsgBox "Mês do ano: " & MonthName(Month(Date)) O resultado deste comando. e um segundo parâmetro que pode ser Verdadeiro ou Falso. indicativo do mês do ano (1 œ Janeiro. Não precisamos passar parâmetros para esta função. a qual por sua vez. Considere o exemplo abaixo: MsgBox “Data e Hora do Sistema:“ & Now( ) O resultado deste comando. O formato geral é o seguinte: MonthName(número_do_mês.5 Função Now Retorna a hora e a data corrente do sistema. Se o segundo parâmetro for verdadeiro. e assim por diante). A função Date() captura a data do sistema e passa como parâmetro para a função Month. retorna apenas o mês do ano 2.6 Função MonthName Recebe como parâmetro um número. está indicado na Figura a seguir: Resultado.Microsoft Excel – Estudo Avançado Resultado. o nome do mês será exibido abreviadamente. 2 œ Fevereiro.30.30. Página 155 de 219 .

1 Valores para o parâmetro intervalo Valor Descrição Anos q Trimestres m Meses Página 156 de 219 . é este parâmetro que define se queremos calcular o número de dias. trimestres. está indicado na Figura a seguir: Resultado. 2. data2) O parâmetro intervalo é uma String que diz que tipo de intervalo vamos calcular. data1.8. anos.30. entre duas datas. 2. temos os valores possíveis para o parâmetro intervalo.8 A função DateDiff Esta função pode ser utilizada para determinar o número de intervalos (em dias. Este número é passado como primeiro parâmetro para a função MonthName. etc). A função Time() captura a hora do sistema e passa como parâmetro para a função Hour(). ou o número de meses entre duas datas. A sintaxe desta função é o seguinte: DateDiff(intervalo.30.7 Função Hour Recebe como parâmetro uma hora. e retorna um número entre 0 e 23. semestres.Microsoft Excel – Estudo Avançado A função Date() captura a data do sistema e passa como parâmetro para a função Month. Por exemplo.30. Na Tabela a seguir. A função Month retorna o número do mês retornado pela data. O formato geral é o seguinte: Hour(horário) Considere o exemplo abaixo: MsgBox “Hora do dia: “ & Hour(Time( )) O resultado deste comando. retorna apenas o hora do dia. 2. indicando o hora do dia. a qual por sua vez.

Microsoft Excel – Estudo Avançado Valor Descrição yyyy Anos q Trimestres m Meses y Dias do ano (o mesmo que dias) d Dias w Semanas Página 157 de 219 .

Para isto. até 31 de Dezembro de 1999.“31/12/1999“) O resultado deste comando. vamos calcular o número de meses. Página 158 de 219 .Microsoft Excel – Estudo Avançado w Semanas do ano ww Semans do ano (o mesmo que semanas) h Horas n Minutos s Segundos Tabela 2. podemos utilizar o seguinte comando: MsgBox “Meses desde o descobrimento: “ & DateDiff(“h“.1 – Comparados condicionais. e calcular o número de horas desde o descobrimento. pode ser conferido na Figura a seguir: Resultado.“22/04/1500“. Para isso.“31/12/1999“) O resultado deste comando. Vamos modificar um pouco o nosso exemplo. desde o descobrimento do Brasil. A título de exemplo.“22/04/1500“. pode ser conferido na Figura a seguir: Resultado. utilizaríamos o seguinte comando MsgBox “Meses desde o descobrimento: “ & DateDiff(“m“.

A título de exemplo. com base em uma data fornecida.Microsoft Excel – Estudo Avançado 2. Na Tabela a seguir. é este parâmetro que define se queremos acrescentar um número especificado de dias.“22/04/1500“) O resultado deste comando. Página 159 de 219 . e calcular em que data teremos passado um milhão de dias após o descobrimento. Vamos modificar um pouco o nosso exemplo. MsgBox “Um milhão de dias após o descobrimento em : “ & DateAdd(“d“. Por exemplo.9 A função DateAdd Esta função pode ser utilizada para determinar uma data futura. vamos calcular a data em que tivemos um período de 1000 meses. temos os valores possíveis para o parâmetro intervalo. meses.1000000. data) O parâmetro intervalo é uma String que diz que tipo de intervalo vamos acrescentar. A sintaxe desta função é o seguinte: DateAdd(intervalo. pode ser conferido na Figura a seguir: Resultado. Para isso. meses. o tipo de período a ser acrescentado (dias. e o número de períodos a serem acrescentados.1000. número_de_intervalos.30. após o descobrimento do Brasil. etc. anos. pode ser conferido na Figura a seguir: Resultado. anos. etc). utilizaríamos o seguinte comando: MsgBox “Mil meses após o descobrimento foi em : “ & DateAdd(“m“.“22/04/1500“) O resultado deste comando.

e um parâmetro opcional.) Considere o exemplo abaixo: MsgBox “Dia da semana: “ & WeekDay(“31/12/1999“) O resultado deste comando.11 Função WeekDay Recebe como parâmetros uma data. Poderíamos determinar que o primeiro dia da semana é a Segunda-feira (2 para o último parâmetro). e retorna um número indicativo do ano. ficaria assim: Página 160 de 219 .30.feira. retorna apenas o ano. a qual por sua vez. O formato geral é o seguinte: Year(data) Considere o exemplo abaixo: MsgBox —Ano atual: — & Year(Date( )) O resultado deste comando. está indicado na Figura a seguir: Resultado. 2 œ Segunda.30. e assim por diante. indica que foi uma Sexta-feira. que indica qual o primeiro dia da semana. está indicado na Figura a seguir: Resultado. A função Date() captura a data do sistema e passa como parâmetro para a função Year. Com isso o nosso exemplo. O valor para o primeiro dia da semana é numérico: 1 œ Domingo.Microsoft Excel – Estudo Avançado 2. Se este parâmetro for omitido.10 Função Year Recebe como parâmetro uma data. WeekDay(data. o que confere com o calendário. prim_dia_semana. O valor 6. o primeiro dia da semana será considerado Domingo. 2.

Página 161 de 219 . indicativo do dia da semana.2) O resultado deste comando. O formato geral é o seguinte: WeekDayName(número_do_dia. e assim por diante. está indicado na Figura a seguir: 2. a Terça-feira o dia 2. abreviar) Considere o exemplo abaixo: MsgBox “Dia da semana: “ & WeekDayName(6.30.False) O resultado deste comando. 2. está indicado na Figura a seguir: Resultado.Microsoft Excel – Estudo Avançado MsgBox “Dia da semana: “ & WeekDay(“31/12/1999“.12 Função WeekDayName Recebe como parâmetro um número. temos a descrição das principais funções matemáticas. o nome do dia da semana será exibido abreviadamente.31 Funções para Cálculos matemáticos Veremos as principais funções para efetuar cálculos matemáticos. Novamente confere com o calendário. pois agora a Segunda-feira passou a ser o dia 1. indica que foi uma Sexta-feira. e um segundo parâmetro que pode ser Verdadeiro ou Falso. Se o segundo parâmetro for verdadeiro. Na Tabela a seguir. O valor 5. disponíveis no VBA.

31. O número n deve ser fornecido em radianos Sqr(n) Retorna a Raiz quadrada do número n.14).1 Abs(n) Funções para cálculos matemáticos.  Dica Para converter graus para radianos. O número n deve ser fornecido em radianos. Retorna o valor absoluto (sem sinal). Tan(n) Retorna a tangente do número n. indicando o sinal do número n. Atn(n) Retorna o valor do arco. Sin(n) Retorna o seno do número n. cuja tangente é o número n. Página 162 de 219 . multiplique o valor em graus por pi (3. e divida o resultado por 180. Log(n) Retorna o logaritmo natural de um número n. Cos(n) Retorna o coseno do número n. Exp(n) Retorna o número e (logaritmo neperiano e=2. Rnd(n) Retorna um número aleatório entre 0 e 1. Retorna de1 para números negativos e 1 para números positivos.Microsoft Excel – Estudo Avançado 2. Sgn(n) Retorna um número inteiro. elevado no número n.7183). O número n deve ser fornecido em radianos. O número n deve ser fornecido em radianos. do número n.

32. pois o número é negativo Sin(0) Retorna 0 Sqr(400) Retorna 20 Tan(0) Retorna 0 Estudo avançado da linguagem VBA Nas lições desse módulo vamos estender um pouco mais o nosso estudo sobre a linguagem VBA.1071487177 Cos(0) Retorna 1 Exp(1) Retorna 2.2 Alguns matemáticas.32 Novidades do Modelo de Objetos do Excel 2000 VBA: O modelo do objeto do Microsoft Excel 2000 Visual Basic for Applications inclui muitas alterações que foram feitas para suportar recursos novos e aprimorados no Excel. exemplos de utilização das funções Abs(-2350) Retorna 2350 Atn(2) Retorna 1.31.90775527898214 Rnd*10 Gera um número aleatório entre 0 e 10 Sgn(-235) Retorna 1. Ao gravar código novo. mas o código antigo que usa os componentes ocultos ainda funcionará corretamente sem modificação. propriedades e métodos.71828182845905 Log(1000) Retorna 6. 2. os componentes substituídos foram deixados ocultos ao invés de serem removidos.1 ADO . Para proporcionar compatibilidade com versões anteriores.Microsoft Excel – Estudo Avançado 2.Activex Data Objects Página 163 de 219 . entretanto. Isso significa que eles não aparecem no Pesquisador de objeto por padrão. tratamos sobre os fundamentos básicos do VBA. As principais alterações de recurso feitas no Visual Basic for Applications no Microsoft Excel XP estão listadas a seguir: 2. Nas lições do módulo anterior. você deve usar apenas novos objetos.

Página 164 de 219 . de dentro de uma planilha do Excel. Para maiores detalhes sobre os recursos de Tabela Dinâmica e Gráfico Dinâmico. É muito utilizado quando trabalhamos com planilhas e/ou aplicações criadas com o Excel. 2. milhões ou bilhões. você pode criar um código VBA que.5 Fontes de dados OLAP para relatórios de tabela dinâmica e gráfico dinâmico: Fornece um meio para exibir e analisar dados de fontes de dados OLAP (Processamento Analítico On-line). Fornece uma interface de acesso direto a banco de dados.32. 2. para um ou mais endereços eletrônicos.6 Microsoft Office E-mail Fornece capacidades integradas de correio eletrônico.3 Assinatura digital Fornece uma forma de determinar se o projeto do Visual Basic for Applications da pasta de trabalho foi assinada digitalmente.32. O ADO agora é o método de acesso de dados preferido no Excel.Microsoft Excel – Estudo Avançado É um novo conjunto de objetos para acesso a fontes de dados externas. Os rótulos de unidade são úteis para a criação de gráficos com valores altos – por exemplo. até mesmo.2 Arquivo de texto e consultas da Web Fornece novas melhorias de importação de arquivo texto e consulta de página da Web. envie dados via email.32. consulte o Módulo 3. tais como o Microsoft Access ou o SQL Server 2000. 2. Nas versões anteriores utilizava-se um outro conjunto de objetos.4 Edição em várias línguas Fornece interface do usuário de várias línguas aprimorada e recursos de edição e tratamento de texto fonético melhorado para suporte a idioma do leste asiático. 2. Você pode tornar o gráfico mais legível usando um único rótulo de unidade em vez de números grandes em cada marca de escala.32. Exibe rótulos de unidade: Fornece rótulos de unidade para tornar os rótulos de marcas de escala em eixos de gráfico fáceis de serem lidos. criar uma planilha do Excel que acessa dados diretamente do Mainframe. conhecido como DAO œ Data Access Objects.32. Por exemplo. Você pode. 2. onde o quesito segurança e identificação é um fator fundamental. Representa um rótulo de unidade em um eixo no gráfico especificado.

Por exemplo.7 Microsoft Office Web Components Fornece uma forma de salvar planilhas. número de Cartão de Crédito e assim por diante. 2.32.Microsoft Excel – Estudo Avançado 2. 2. salvar e editar recursos. na Ajuda do Microsoft Excel. os quais serão abordados em curso específico: Desenvolvimento de Aplicações usando o Excel e VBA. consulte Usar o Microsoft Office Web Components em formulários. por exemplo). assim como formulários do usuário sem modo e suporte para controles ActiveX adicionais.32.8 Relatórios de gráfico dinâmico Fornece uma interface para relatórios de gráfico dinâmico. Em seguida você pode utilizar esse componente em qualquer planilha do Excel.10 Script de página da Web Fornece recursos de script de página da Web para soluções de cliente com base em HTML. Com esses objetos teremos acesso a Página 165 de 219 .0 Fornece os recursos de idioma mais recentes. Nas demais lições desse módulo aprenderemos a utilizar os principais objetos que fazem parte do modelo de objetos do Excel. que são baseados em dados de relatórios de tabela dinâmica. Suplementos do Modelo de objeto de componente (COM): Fornece uma interface de usuário consistente na qual os desenvolvedores podem criar suplementos em qualquer linguagem de programação que tenha suporte para COM (Microsoft Visual C++. Além disso. 2. fornece uma interface para salvar Microsoft Office Web Components.11 Visual Basic For Applications 6.32.32. você pode querer criar um componente onde sejam desenvolvidas funções para validação de CPF. Para saber como usar esses componentes em formulários do usuário e em caixas de diálogo.32. 2.9 Salvar para Web e para edição com Office Web Fornece recursos para criar páginas da Web. Visual J++ e Visual Basic. Muitas dessas novidades envolvem conceitos avançados de programação. gráficos e relatórios de tabela dinâmica como páginas interativas da Web.

33 Bibliotecas. podemos criar soluções bastante sofisticadas. Objetos. os seguintes itens:Bibliotecas. Para início de conversa. Referências Objetos. Com os aplicativos do Office (Word. propriedades e coleções. Access e Power Point). 2. Métodos. Propriedades.Microsoft Excel – Estudo Avançado todo e qualquer elemento de uma planilha do Excel. Nesta lição vamos entender exatamente o que são e como se relacionam. Com a utilização dos objetos disponibilizados pelo Office. Propriedades. considere a figura a seguir: Página 166 de 219 . cada biblioteca com dezenas/centenas de objetos. temos acesso a um vasto conjunto de Bibliotecas. até comandos de menu. Excel. cada objeto com inúmeros métodos. Coleções. desde os valores em uma ou mais células. Métodos e Nos tópicos anteriores tratamos dos aspectos básicos do VBA.

Este método é utilizado para estabelecer a conexão entre um objeto RecordSet e um determinado conjunto de Registros. utilizando a estrutura de Controle For. Uma vez criado um objeto RecordSet. Cada objeto é utilizado para um conjunto de ações específico.Each. propriedades e coleções. para utilizar o método Open.. No código VBA. Toda planilha do Excel tem uma coleção chamada Worksheets. Podemos percorrer todos os elementos de uma coleção. do objeto RecordSet. utilizaríamos a seguinte sintaxe: rs. Através dessa coleção temos acesso a todas as planilhas de um arquivo do Excel. que será tratada no próximo tópico.RecordCount Uma coleção é um conjunto de elementos do mesmo tipo.Data Access Objects.Each Página 167 de 219 . Em cada Biblioteca estão disponíveis dezenas/centenas de objetos.. Por exemplo: O objeto RecordSet é utilizado para acessar dados de uma tabela.. possui uma coleção chamada Forms.1 A Estrutura For. Por exemplo. de um objeto RecordSet chamado rs.. Cada objeto possui um conjunto de métodos.. temos uma propriedade chamada RecordCount que informa quantos registros existem no objeto RecordSet. para atribuir a variável quantos. utilizaríamos o seguinte comando: quantos = rs. Um método realiza uma operação específica. par2. Existe uma biblioteca com os diversos objetos do Excel e assim por diante.Microsoft Excel – Estudo Avançado Os diversos objetos disponíveis estão agrupados em Bibliotecas. Isso demonstra bem o poder da utilização do VBA em conjunto com os Objetos/Bibliotecas disponíveis. Uma Biblioteca é um conjunto de objetos que são utilizados para uma determinada função/atividade. utilizamos a seguinte sintaxe: NomeDoObjeto. o número de registros de um objeto RecordSet chamado rs.Activex Data bjects.NomeDoMétodo(par1.. conhecida como ADO .. todos os objetos para acesso a dados são agrupados em uma biblioteca chamada DAO . Através desta coleção podemos ter acesso a todos os Formulários do banco de dados. 2.Open("Pedidos") Uma propriedade descreve uma característica do objeto. Existem dezenas de bibliotecas disponíveis. parn) Por exemplo. como por exemplo o método Open. Existe uma outra biblioteca para acesso a dados. Por exemplo. Por exemplo. todo banco de dados do Microsoft Access. Por exemplo.33. podemos realizar uma série de operações sobre os diversos registros da tabela. .

usarmos Esquerda para o nome da função.. Página 168 de 219 .Each em detalhes. Por exemplo. temos que utilizar os nomes dos comandos. métodos e propriedades em inglês. será gerado um erro. devemos utilizar a estrutura For/Each... Nota: Nos exemplos de código das próximas lições. Por exemplo.. veremos o funcionamento da estrutura For. informando que não existe a função Esquerda. exibindo o nome de cada formulário. Não existe tradução. exibindo o nome de cada um dos elementos. se quisermos percorrer todos os elementos da coleção Forms de um banco de dados. para percorrer todos os elementos da coleção Forms.Microsoft Excel – Estudo Avançado A estrutura For. funções. se ao invés de Left. Nota  Quando trabalhamos com o VBA.Each é utilizada para "percorrer" todos os elementos de uma coleção. Uma visão geral da Biblioteca de Objetos do Excel: Na figura a seguir temos uma visão geral da Biblioteca de Objetos do Microsoft Excel. objetos.

estudaremos alguns dos principais objetos. um objeto Worksheet somente existe dentro do contexto de um objeto Application. da Biblioteca de Objetos do Excel. conforme indicado na Figura a seguir: Página 169 de 219 .Microsoft Excel – Estudo Avançado Nas demais lições desse módulo. cada objeto com os seus métodos e propriedades. Observe que uma biblioteca de objetos forma uma espécie de hierarquia de objetos. Já o próprio objeto Worksheet pode possuir outros objetos. Por exemplo.

onde o cálculo seja necessário. em cada um dos locais. quando fosse necessário alterar a maneira de realizar os cálculos. O princípio por trás da criação de funções e sub. através da programação VBA. métodos. 2. que já fazem parte do Excel. Porém podemos criar nossas próprias funções. é o de reaproveitamento de código e facilidade de manutenção do programa. Poderíamos colocar o código/fórmulas que faz o cálculo.33.rotinas. Porém esta não é a melhor maneira de criarmos nossos programas. aprendemos a utilizar as funções prontas. por exemplo. depreciação contábil. Vamos supor que em diversos locais. aprenderemos a criar nossas próprias funções e Sub-rotinas . por exemplo.Microsoft Excel – Estudo Avançado Veja que um único objeto da hierarquia de objetos œ Worksheet.2 Criando suas próprias funções e procedimentos Nas lições do Módulo 5. Neste item. Imagine. seja necessária a realização do cálculo de depreciação. É esse grande número de objetos que possibilita o acesso a todo e qualquer elemento de uma planilha do Excel. propriedades e coleções. é composto de dezenas de outros objetos. Imagine que estejamos criando uma planilha para cálculos financeiros. Teríamos que repassar todos Página 170 de 219 .

reduz o número de linhas de código . poderíamos criar uma função ou sub-rotina que faz os cálculos de depreciação. Isto poupa esforço . são tipos diferentes de procedimentos.rotinas. e fazer as alterações..rotina. para fazer os cálculos. . em cada local onde precisamos fazer os cálculos. simplesmente através da chamada do nome da Sub-rotina. basta chamar a respectiva função/procedimento que o Microsoft Excel se encarrega de localizar a função/procedimento. Depois. Estes procedimentos/funções são criados em módulos de código VBA associados a planilha.. Podemos passar um ou mais argumentos para uma Sub-rotina.  2. funções e sub-rotinas. argumento2. procurando os pontos onde o código está . é só chamar a função (ou sub-rotina). além de reduzir a possibilidade de erros . A função/sub-rotina seria criada dentro de um módulo de código do VBA. e facilita a manutenção . depois de executados todos os comandos dentro da Sub-rotina. Quando fosse necessária a alteração da metodologia de cálculo. os novos cálculos passarão a ser feitos com base na nova metodologia. a execução do código continua. Para resolver estes problemas. na própria planilha. A sintaxe para a criação de uma Sub-rotina é a seguinte: Sub Nome_da_Sub-rotina(argumento1. Um procedimento é um grupo de instruções que pode ser chamado pelo nome atribuído ao procedimento.. argumenton) Comando1 Comando2 .3 Criando e utilizando Sub-rotinas Uma sub-rotina é um grupo de comandos que podem ser executados. Quando uma sub-rotina é chamada. Comandon End Sub Página 171 de 219 . Neste contexto. com o comando seguinte ao que chamou a Sub-rotina. Quando uma destas funções/procedimentos for necessária. Agora é chegada a hora de aprendermos a criar funções e sub.Microsoft Excel – Estudo Avançado os locais onde o cálculo é feito. a execução desloca-se para dentro da Sub...33. Nota Vamos falar um pouco mais sobre o termo Procedimento. caso seja uma função. era só alterar a função (ou sub-rotina) e pronto. passar os parâmetros necessários (se for o caso) e receber os resultados retornados.

Caso sejam necessários argumentos. ou utilizar um par de parênteses. procure utilizar nomes que descrevam a função da Sub-rotina. para que a Sub-rotina funcione corretamente. Comandon End Sub Considere o seguinte exemplo de declaração de uma Sub-rotina: Sub Calcula_imposto(salario.125) Observe que os parâmetros são passados dentro do parênteses. Nos exemplos abaixo. Uma vez criada a Sub-rotina. sem parâmetros. ou não. conforme indicado abaixo: Sub Nome_da_Sub-rotina Comando1 Página 172 de 219 . declaramos uma rotina chamada Calcula_imposto. sem nada dentro.125) ou Call Calcula_imposto(1500. estes serão passados quando a Sub-rotina for chamada. podemos chamá-la.Microsoft Excel – Estudo Avançado Uma Sub-rotina pode. Neste caso posso simplesmente não utilizar os parênteses após o nome da Sub-rotina.rotina. na mesma ordem em que foram definidos. desconto. e devem ser passados. a qual espera receber 3 parâmetros: salario. Com isso você torna o entendimento do código mais fácil para quem for utilizá. desconto e extras.23. ou utilizando a palavra Call . temos dois métodos de chamada da Sub-rotina Calcula_imposto: Calcula_imposto(1500. Também poderíamos declarar uma Sub-rotina. extras) Neste caso. simplesmente digitando o nome da Sub.. Os parâmetros devem ser fornecidos nesta ordem.lo.23. Dica Quando você criar Sub-rotinas. mais o nome da Sub-rotina.. conter argumentos.  Comando1 Comando2 .

Na Listagem a seguir temos o código da Sub-rotina exibe_data_hora (). Listagem A Sub-rotina exibe_data_hora Listagemœ A Sub-rotina exibe_data_hora Sub exibe_data_hora es_atual=Month(Date()) Página 173 de 219 . para exibir a hora e a data neste formato. Porém é mais prático criar uma Sub-rotina que faz este trabalho. poderíamos criar uma Sub-rotina que exibe uma Caixa de mensagem com a Data do sistema e a hora. Comandon End Sub Ou Sub Nome_da_Sub-rotina( ) Comando1 Comando2 . a qual faz a exibição da data e da hora.. no Formato indicado na Figura a seguir: Poderíamos criar todos os comandos necessários. Comandon End Sub Por exemplo. no formato proposto pela Figura anterior. cada vez que a exibição fosse necessária. Cada vez que precisarmos exibir a data e a hora neste formato...Microsoft Excel – Estudo Avançado Comando2 .. é só chamarmos a Sub-rotina.

.Microsoft Excel – Estudo Avançado es_nome=MonthName(mes_atual. é que a Função sempre retorna um ou mais valores para o comando que a chamou. A sintaxe para declaração de uma Função é a seguinte: Function Nome_da_Função(argumento1. A diferença da Função para a Sub-rotina. a execução do código continua.33. argumento2. Podemos passar um ou mais argumentos para uma Função.. simplesmente através da chamada do nome da Função. a execução desloca-se para dentro da Função.False) mensagem = "Ano atual: " & Year(Date()) & Chr(13) mensagem = mensagem & "Mês atual: " & mes_nome & Chr(13) mensagem = mensagem & "Hoje é dia: " & Day(Date())& Chr(13) mensagem = mensagem & Chr(13) & "***************" & Chr(13)& Chr(13) hora_atual = Hour(Time()) minuto_atual = Minute(Time()) secundo_atual = Second(Time()) mensagem = mensagem & "Hora atual: " & hora_atual & chr(13) mensagem = mensagem & "Minuto atual: " & minuto_atual & chr(13) mensagem = mensagem & "Secundo atual: " & secundo_atual MsgBox mensagem End Sub Agora. . com o comando seguinte ao que chamou a Função. cada vez que for necessário exibir a data e a hora nos formatos do exemplo. depois de executados todos os comandos dentro da Função. utilizando um dos seguintes comandos: Call exibe_data_hora ou exibe_data_hora 2.4 Criando e utilizando Funções Uma Função é um grupo de comandos que podem ser executados.. argumenton) As Tipo Comando1 Comando2 Página 174 de 219 . basta chamar a Sub-rotina exibe_data_hora. Quando uma Função é chamada.

a qual espera receber 2 parâmetros: um valor em real e a cotação do dólar. o valor retornado pela função.. conforme indicado abaixo: Function Nome_da_Função Página 175 de 219 . devemos chamá-la.. valor_dolar = Converte_para_dolar (1500. procure utilizar nomes que descrevam os objetivos da Função.  Comando1 Comando2 . sem nada dentro. No exemplo abaixo.1. Neste caso posso simplesmente não utilizar os parênteses após o nome da Função.1.Microsoft Excel – Estudo Avançado . em um comando de atribuição. ou exibido através de um comando como MsgBox. Comandon End Function Uma Função pode. e na mesma ordem definida quando da criação da função.81) Também poderíamos exibir o valor retornado pela função. Com isso você torna o entendimento do código mais fácil para quem for utilizá-lo. isto é. declaramos uma Função chamada Converte_para_dolar. na mesma ordem em que foram definidos. conforme indicado a seguir: MsgBox “Valor em dólar: ” & Converte_para_dolar (1500. utilizando o comando MsgBox. estes serão passados quando a Função for chamada... ou utilizar um par de parênteses. Considere o seguinte exemplo de declaração de uma Função: Função Converte_para_dolar(valor_em_real. estamos atribuindo o valor de retorno da função. e devem ser passados.81) Observe que os parâmetros são passados dentro dos parênteses. Também poderíamos declarar uma Função. conter argumentos. Caso sejam necessários argumentos. à variável valor_dolar. deve ser atribuído a uma variável. cotacao_dolar) Neste caso. sem parâmetros. ou não. Comandon End Function Dica : Quando você criar Função. Uma vez criada a Função.

Comandon End Function ou Function Nome_da_Função( ) Comando1 Comando2 . Depois utilizaremos a função dentro de um laço For. For i=0 to 20 Mensagem = Mensagem & “Ângulo:” & i & “Valor em Radianos: “ Mensagem = Mensagem & FormatNumber(CRaid(i). que converte um valorem graus para radianos. atribuímos a variável CRad um determinado valor.Next. vamos criar uma função que converte um valor de um ângulo de Graus para Radianos. Criação da função CRad..Microsoft Excel – Estudo Avançado Comando1 Comando2 . Comandon End Function Por exemplo. devemos Página 176 de 219 . através de uma Caixa de mensagem os valores em radianos. Function CRad(valor_graus) CRad = (valor_graus*3. Depois utilizamos um laço for para exibir. para os ângulos de 0 à 20 graus... No exemplo a seguir temos o código onde foi criada a função CRad. Dentro do código da função... para os ângulos de 0 à 20 graus. para exibir o valor em radianos.5) & Chr(13) Next Msgbox Mensagem Observe que dentro da função. É isso que caracteriza uma função..14)/180 End Function Agora utilizamos a função dentro do laço For/Next.

Página 177 de 219 . Ao invés disso.34 Trabalhando com o objeto Application Conforme visto na lição anterior. depois um Workbook. é passado para a função FormatNumber. quisermos fazer referência a uma determinada célula.Next. chamamos a função CRad(i). o que é bastante razoável. da pasta de trabalho atual. a 5 casas depois da vírgula. ActiveSheet e assim por diante. Neste caso. Quando estamos trabalhando dentro de uma planilha do Excel. A função FormatNumber é utilizada para formatar a maneira como um número é exibido. 218 propriedades e métodos. por exemplo. Com isso o Excel supõe que estamos trabalhando com a instância atual do Excel. finalmente. se quiséssemos fazer referência a uma célula de uma planilha de uma pasta de trabalho externa.xls) e as diversas planilhas dessa pasta existem dentro do contexto de um objeto Application. não precisamos criar um objeto Application.Microsoft Excel – Estudo Avançado atribuir a uma variável que tenha o mesmo nome da função. 2. O objeto Application contém: Definições e opções para o aplicativo como um todo (muitas das opções da caixa de diálogo Opções (menu Ferramentas). poder acessar as células de uma planilha (objeto Worksheet). Uma pasta de trabalho (arquivo . um determinado valor. como ActiveCell. Este valor é que será o valor de retorno da função. Apenas teríamos que criar toda essa hierarquia de objetos. utilizamos a função FormatNumber.xls). Nas próximas lições estudaremos os objetos Workbook e Worksheet. O objeto Application tem. Cabe salientar o uso da função FormatNumber. para fazer a conversão de Graus para radianos. se dentro do código. para limitar o número de casas decimais. para ser formatado com apenas 5 casas decimais. Por exemplo. dentro do laço For. ao todo. não é preciso a criação explícita de um objeto Application. o principal objeto da biblioteca de objetos do Excel é o objeto Application... Nessa lição aprenderemos a utilizar o objeto Application. dentro da pasta de trabalho atual (arquivo .34. O Valor retornado pela função CRad. 2.1 O objeto Application Representa todo o aplicativo Microsoft Excel. Métodos que retornem objetos do nível mais alto. são configuradas através das propriedades do objeto Application). podemos fazer referência direta a célula desejada. para fazer referência a células das planilhas. depois um Worksheet para. dentro de uma das suas planilhas. Em cada "passada" do laço For.

Vamos considerar alguns exemplos de código que usa o objeto Application.Open "C:\ExcelAvançado\ExApp.Sheet") xl. criamos um objeto Workbook associado com o arquivo . a planilha é aberta. o qual exibe uma janela para que o usuário selecione o arquivo a ser aberto. Set xl = CreateObject("Excel.xls diferentes.Application.xls). a partir de uma planilha do Excel.Open ArqParaAbrir End If Vamos comentar.Application.Workbooks. o exemplo anterior.Sheet. Em seguida. Nesse último caso criamos um objeto Application. *. Em seguida usamos a coleção Worksheets e o objeto Range para acessar os dados do referido arquivo. como as opções disponíveis no menu Ferramentas -> Opções. fazer cálculos que envolvem dados de diversos arquivos . ou quando temos que acessar dados de uma planilha externa.GetOpenFilename("Planilhas do Excel(*. da coleção Workbook do objeto Application. Criar um objeto Application e usar o método Open para abrir uma planilha: No exemplo de código a seguir.Microsoft Excel – Estudo Avançado Usar o objeto Application Usamos o objeto Application quando temos que configurar alguma opção do Excel. para acessar a planilha C:\ExcelAvançado\ExApp. Usamos a função CreateObject para criar um objeto do tipo planilha do Excel. Exibindo uma caixa para que o usuário selecione a planilha a ser aberta: Nesse exemplo vamos apresentar um trecho de código. objeto esse que é associado com a variável xl: Página 178 de 219 .xls.xls" Nesse exemplo usamos a função CreateObject para Excel. Com isso é possível. temos o uso do objeto Application para abrir um arquivo do Excel que está gravado no disco rígido: Set xl = CreateObject("Excel.Sheet") criar um objeto do tipo Em seguida usamos o método Open. usado no exemplo anterior. usando o método Open. que na prática é uma planilha do Excel: Set xl = CreateObject("Excel.xls") If ArqParaAbrir <> False Then MsgBox "A seguinte planilha será carregada: " & ArqParaAbrir xl.Sheet") ArqParaAbrir = Application. Uma vez feita a seleção.Workbooks.xls do qual queremos acessar dados. em detalhes.

será atribuído à variável ArqParaAbrir.xls). porque recém abri um arquivo dessa pasta.xls. Normalmente são exibidos. No exemplo da figura são exibidos os arquivos da pasta C:\ExcelAvançado.xls). Esse método exibe a caixa de diálogo Abrir (a mesma caixa que é exibida quando você seleciona o comando Arquivo -> Abrir). os arquivos da pasta Meus documentos. Em seguida o código testa se realmente algum arquivo foi selecionado: If ArqParaAbrir <> False Then Caso algum arquivo tenha sido selecionado. O nome do arquivo selecionado nessa janela. Você seleciona um arquivo e clica no botão Abrir.xls. Somente são exibidos os arquivos . Será atribuído o caminho completo. ArqParaAbrir = Application.xls"). o nome do arquivo será exibido: MsgBox "A seguinte planilha será carregada: " & ArqParaAbrir Página 179 de 219 . por padrão. *.Sheet") Agora utilizamos o método GetOpenFilename.GetOpenFilename("Planilhas do Excel (*. *.xls") Quando essa linha for executada.xls da pasta de trabalho atual. do objeto Application. por exemplo C:\ExcelAvançado\Teste.Microsoft Excel – Estudo Avançado Set xl = CreateObject("Excel. será exibida a janela a seguir: Observe que são exibidos apenas os arquivos . porque definimos esse parâmetro na chamada do método GetOpenFilename("Planilhas do Excel (*.

estudaremos mais o objeto Application. nos quais ilustramos o uso das seguintes propriedades do objeto Workbook:     Propriedade Workbooks Propriedade ActiveWorkbook Propriedade ThisWorkbook Propriedade Workbooks Use Workbooks(índice). Também falaremos sobre a coleção Workbook. Página 180 de 219 . tais como as várias planilhas e. Vimos que esse objeto é utilizado para fazer referência a uma pasta de trabalho do Excel (arquivo . 2.Microsoft Excel – Estudo Avançado conforme indicado na figura a seguir: E o arquivo selecionado será aberto no Excel. O objeto Workbook é um membro da coleção Workbooks. os valores contidos nas células da respectiva planilha. para retornar um único objeto Workbook. Para termos acesso a uma planilha específica. Nessa lição veremos alguns exemplos de uso do objeto Workbook. O exemplo seguinte ativa a pasta de trabalho um. onde índice é o número de índice ou o nome da pasta de trabalho. utilizamos os objetos Workbook e Worksheet. O objeto Workbook e a coleção Workbooks O objeto Workbook representa uma pasta de trabalho do Microsoft Excel. Vamos apresentar alguns exemplos simples de uso do objeto Workbook.xls). Uma vez tendo feito referência à pasta de trabalho. Na próxima lição trataremos do objeto WorkSheet e da respectiva coleção Worksheets. dentro de cada planilha. podemos acessar os elementos dessa pasta de trabalho. Existem dezenas de métodos e propriedades do objeto Application.35 Trabalhando com o Objeto Workbook No tópico anterior fizemos uma pequena introdução ao objeto Application. A coleção Workbooks contém todos os objetos Workbook atualmente abertos no Microsoft Excel. Você encontra exemplos de cada método e propriedade na Ajuda do Excel. No curso de Programação VBA e Criação de Aplicativos como Excel.

do comando anterior: Ativar (Activate) a planilha cujo nome é Plan1 (Worksheets(“Plan1“). começando da direita para a esquerda. Propriedade ActiveWorkbook: A propriedade ActiveWorkbook retorna a pasta de trabalho que está ativa no momento.Worksheets("Plan1"). Use a propriedade Workbooks. pode parecer um pouco estranha essa sintaxe. enquanto que a propriedade ThisWorkbook retorna a pasta de trabalho do suplemento. mesmo que elas estejam ocultas. Página 181 de 219 . se o código do Visual Basic for parte de um suplemento. da direita para a esquerda.Activate O número de índice denota a ordem na qual as pastas de trabalho foram abertas ou criadas. a propriedade ThisWorkbook não retornará a pasta de trabalho ativa. onde a propriedade Count retorna o número de pastas de trabalho (arquivos . A propriedade Name retorna o nome da pasta de trabalho. se você precisa alterar o nome. Workbooks(1) é a primeira pasta de trabalho criada e Workbooks(Workbooks. a pasta de trabalho ativa é a pasta de trabalho que está chamando o suplemento. 2. ou seja. O seguinte exemplo ativa a planilha Plan1 na pasta de trabalho chamada "Teste. A ativação de uma pasta de trabalho não altera seu número de índice. No nosso exemplo. O exemplo seguinte define o nome do autor da pasta de trabalho ativa. Na maioria dos casos. Uma dica é fazer a leitura de trás para frente. esta é a própria pasta de trabalho ativa. Você não pode definir o nome usando essa propriedade. Entretanto. sendo que esta planilha está na pasta de trabalho Teste. ActiveWorkbook. O exemplo seguinte fecha todas as pastas de trabalho abertas.Microsoft Excel – Estudo Avançado Workbooks(1). teríamos a seguinte leitura.Author = "José da Silva" Propriedade ThisWorkbook: A propriedade ThisWorkbook retorna a pasta de trabalho onde há código do Visual Basic sendo executado. Workbooks("Teste.xls) abertas.xls" (a pasta de trabalho precisa já estar aberta no Microsoft Excel). use o método SaveAs para salvar a pasta de trabalho com um nome diferente.xls“).xls").1 A coleção Workbooks Uma coleção de todos os objetos Workbook que estão no momento abertos no aplicativo Microsoft Excel.xls (Workbooks(“Teste. Todas as pastas de trabalho são incluídas na contagem do índice.Count) é a última criada.35. para retornar a coleção Workbooks. Nesse caso.Activate Para quem não está acostumado com o VBA. do objeto Application.

O exemplo seguinte adiciona uma nova pasta de trabalho vazia ao Microsoft Excel.Add Use o método Open para abrir um arquivo. para associar a variável wrkb com a coleção Workbooks da pasta de trabalho onde o código esta sendo executado. No exemplo de código a seguir.Count Esse exemplo cria um objeto do tipo Workbooks. Na figura a seguir temos um exemplo da mensagem que é gerada.Each.xls) abertas no momento.xls". atualmente abertas no Excel: Dim pastas As Workbooks Página 182 de 219 .Open fileName:="array.. Na último linha utilizo a propriedade Count para exibir uma mensagem informando o número de elementos da coleção Workbooks. Em seguida utilizo a propriedade Workbooks..Workbooks MsgBox "Pastas atualmente abertas: " & wrkb.xls como uma pasta de trabalho somente leitura. para exibir o nome de todas as pastas de trabalho. Isto cria uma nova pasta de trabalho para o arquivo aberto. usamos a coleção Workbooks e a estrutura For. usamos essa propriedade para exibir uma mensagem que informa quantas pastas estão abertas no momento.Close Use o método Add para criar uma nova pasta de trabalho vazia e adicioná-la à coleção. O exemplo seguinte abre o arquivo Array. Workbooks. readOnly:=True Vamos ver mais alguns exemplos de código com o objeto Workbook e com a coleção Workbooks. A propriedade Count: Essa propriedade informa o número de pastas de trabalho (arquivos . Dim wrkb As Workbooks Set wrkb = Application. Workbooks. do objeto Application. quando esse código é executado: Exibindo o nome de todas as pastas de trabaho abertas o Excel: No exemplo de código a seguir.Microsoft Excel – Estudo Avançado Workbooks.

. Isso é feito usando a propriedade Name.Microsoft Excel – Estudo Avançado Dim pasta As Workbook Set pastas = Application.Each para percorrer todos os elementos da coleção Workbooks. do objeto Workbook.Workbooks For Each pasta In pastas MsgBox "Nome da planilha: " & pasta. Você encontra exemplos de cada método e propriedade na Ajuda do Página 183 de 219 . Em seguida usamos uma estrutura do tipo For..Name Next Inicialmente criamos duas variáveis. O excel foi percorrendo a coleção de pastas abertas (coleção Workbooks) e exibindo o nome da cada elemento da coleção (cada Workbook). xistem dezenas de métodos e propriedades do objeto Workbook e da coleção Workbooks. A cada passagem da estrutura For.Each. uma do tipo Workbooks (variável pastas) e outra do tipo Workbook (variável pasta).. A seguir temos uma seqüência de telas que exemplifica a execução desse código: Nesse exemplo tínhamos quatro pastas de trabalho abertas.. exibimos o nome da respectiva pasta.

No curso de Programação VBA e Criação de Aplicativos como Excel.Microsoft Excel – Estudo Avançado Excel.xls). do objeto Worksheet.Count) é a última. para definir o nome da primeira planilha como sendo Débitos. O nome da planilha é mostrado na guia da planilha. Esses são os assuntos dessa lição. Use a propriedade Name para definir ou retornar o nome da planilha. A coleção Worksheets contém todos os objetos Worksheet em uma pasta de trabalho. 2. O exemplo seguinte oculta a planilha um na pasta de trabalho ativa. Por exemplo. as quais são acessadas usando-se o objeto Worksheet e a coleção Worksheets. utilizo a propriedade Visible. use o seguinte código: Dim pastas As Workbooks Página 184 de 219 . para retornar um único objeto Worksheet. Dentro de uma pasta de trabalho. ou seja: o objeto Worksheet e a coleção Worksheets. A propriedade Count retorna o número de planilhas existentes na pasta de trabalho atual. estudaremos mais o objeto Workbook e a coleção Workbooks. onde índice é número de índice ou nome da planilha.36 Trabalhando com o Objeto Worksheet O próximo passo é aprendermos a utilizar os objetos que fazem referência a uma planilha específica dentro do conjunto de planilhas de uma pasta de trabalho. O objeto Worksheet e a coleção Worksheets O objeto Worksheet representa uma planilha O objeto Worksheet é um membro da coleção Worksheets. Nesse exemplo. podemos ter uma ou mais planilhas. Veremos alguns exemplos que utilizam as seguintes propriedades do objeto Worksheet: Propriedade Worksheets Propriedade ActiveSheet Propriedade Worksheets Usamos Worksheets(índice).Visible = False O número de índice da planilha denota a posição de uma planilha na barra de guias da pasta de trabalho. mesmo quando estão ocultas. Worksheets(1) é a primeira planilha (mais à esquerda) na pasta de trabalho e Worksheets(Worksheets. O objeto Workbook representa uma pasta de trabalho (arquivo . Todas as planilhas são incluídas na contagem do índice. Worksheets(1).

Name = "Débitos" Página 185 de 219 . da pasta de trabalho atual. o que no nosso exemplo é feito com o comando a seguir: MsgBox "Nome atual da planilha: " & pasta.Name Agora usamos a propriedade Name para renomear a primeira planilha.Worksheets(1) MsgBox "Nome atual da planilha: " & pasta.Name pasta.Name Vamos supor que você execute esse código quando o nome da primeira planilha é Plan1. usamos a coleção Worksheets. Nesse momento. Nessa caso. você obterá a seguinte seqüência de mensagens: Iniciamos o exemplo declarando um objeto do Tipo Workbook e um do tipo Worksheet: Dim pastas As Workbooks Dim pasta As Worksheet Em seguida associamos a variável pasta com a pasta de trabalho atual: Set pastas = Application. do objeto Application.Workbooks Depois associamos a variável pasta com a primeira planilha.Workbooks Set pasta = Application.Microsoft Excel – Estudo Avançado Dim pasta As Worksheet Set pastas = Application. conforme indicado a seguir: Set pasta = Application. conforme indicado a seguir: pasta.Name = "Débitos" MsgBox "Novo nome da planilha: " & pasta.Worksheets(1) O próximo passo é exibir o nome atual da primeria planilha.

2.36. você pode usar a propriedade ActiveSheet para referir-se a ela. A coleção Sheets contém todas as planilhas da pasta de trabalho (tanto folhas de gráfico quanto planilhas de trabalho). Para um gráfico ou planilha.36.Visible = True O exemplo de código a seguir torna visível todas as planilhas da trabalho ativa. Isso oculta o objeto para que a única maneira de você torná-lo novamente visível seja definindo essa propriedade como True (o usuário não pode tornar o objeto visível).1 Propriedade ActiveSheet Quando uma planilha é a planilha ativa.Name O objeto Worksheet é também um membro da coleção Sheets. A propriedade Visible para um item de tabela dinâmica é True quando o item está atualmente visível na tabela. Worksheets("Plan1").PageSetup. Se você definir a propriedade Visible de um nome como False. Essa propriedade pode ser utilizada para verificar o valor atual ou para defini-lo .Orientation = xlLandscape ActiveSheet. For Each sh In Sheets sh. Worksheets("Plan1").Visible = True Next sh pasta de Página 186 de 219 .Microsoft Excel – Estudo Avançado Por último exibimos o novo nome da planilha: MsgBox "Novo nome da planilha: " & pasta.Visible = False Este exemplo torna Plan1 visível. O exemplo seguinte usa o método Activate para ativar a planilha Plan1.PrintOut 2. o nome não aparecerá na caixa de diálogo Definir nome.2 Propriedade Visible True se o objeto está visível ou False caso contrário. define a orientação da página como modo paisagem e. essa propriedade pode ser definida como xlVeryHidden.Activate ActiveSheet. Worksheets("Plan1"). imprime a planilha. Considere o exemplo a seguir: Este exemplo oculta a planilha Plan1. em seguida.

uma seleção de células contendo um ou mais blocos contíguos de células ou um intervalo 3D. Estudaremos as seguintes propriedades do objeto Range: Propriedade Range Propriedade Cells Range e Cells Página 187 de 219 . estudamos o objeto Worksheet. Você encontra exemplos de cada método e propriedade na Ajuda do Excel. a um arquivo .Microsoft Excel – Estudo Avançado 2.UsedRange. 2.O objeto Workbook representa uma pasta de trabalho (arquivo . o qual faz referência a uma planilha. uma linha. O próximo passo é aprendermos a utilizar os objetos que fazem referência a uma célula ou faixa de células. No curso de Programação VBA e Criação de Aplicativos como Excel. Somente leitura. na planilha Plan1.Activate ActiveSheet.37. dentro de uma planilha. estudaremos mais o objeto Worksheet e a coleção Worksheets.xls). Worksheets("Plan1").1 O objeto Range O objeto Range representa uma célula.3 Propriedade UsedRange Essa propriedade retorna um objeto Range representando o intervalo usado na planilha especificada. Dentro de uma planilha. uma coluna. podemos ter uma ou mais planilhas. Já passamos pelo objeto Application (que faz referência ao próprio Excel). isto é. Esse é o assunto dessa lição. na última lição. e. usamos o objeto Range para acessar uma célula ou faixa de células da planilha.37 Trabalhando com o Objeto Range Agora vamos descer um pouco mais na hierarquia de objetos do Excel.36. em seguida pelo objeto Workbook (o qual faz referência a uma pasta de trabalho.Select Existem dezenas de métodos e propriedades do objeto Worksheet e da coleção Worksheets.xls). dentro de uma pasta de trabalho. 2. ou seja: o objeto Range. Dentro de uma pasta de trabalho. Considere o exemplo a seguir: Este exemplo seleciona o intervalo de células usado (onde existem dados). as quais são acessadas usando-se o objeto Worksheet e a coleção Worksheets.

Value O exemplo seguinte preenche o intervalo A1:H8 com números randômicos (aleatórios).Range("A5"). Use o método Activate para ativar uma planilha antes de usar a propriedade Range sem um qualificador de objeto explícito. definindo a fórmula para cada célula do intervalo. Worksheets("Plan1").Formula = "=rand() O exemplo seguinte limpa o conteúdo do intervalo chamado "Criteria". o método falhará.2 Propriedade Range Use Range(argumento). a propriedade Range retorna um intervalo da planilha ativa.37. para retornar um objeto Range representando uma única célula ou um intervalo de células.Value = Worksheets("Plan1"). Página 188 de 219 . Se a planilha ativa não for uma planilha de trabalho.Range("A1"). onde argumento nomeia o intervalo. O exemplo seguinte atribui o valor da célula A1 para a célula A5. Worksheets("Plan1"). Quando usada sem um qualificador de objeto (um objeto à esquerda do ponto).Activate " Range("A1:H8").Microsoft Excel – Estudo Avançado Propriedade Offset Método Union 2.

para retornar uma única célula. 1). Worksheets(1).Value = 1990 + theYear Next theYear For theQuarter = 1 To 4 Cells(theQuarter + 1. O exemplo seguinte define o valor da célula A1 como 24.Activate For theYear = 1 To 5 Cells(1. Observe que após a planilha ser ativada.Range("criteria"). Worksheets(1).Value = 24 O exemplo seguinte define a fórmula para a célula A2. Worksheets("Plan1"). Use expressão. O exemplo seguinte cria cabeçalhos de coluna e linha na planilha Plan1. coluna). onde linha e coluna são os deslocamentos de linha e coluna. para retornar um intervalo em um deslocamento especificado de um outro Página 189 de 219 . para retornar parte de um intervalo. 1). e linha e coluna são relativas ao canto superior esquerdo do intervalo.Microsoft Excel – Estudo Avançado Worksheets(1). 1). coluna). ActiveSheet. a propriedade Cells pode ser usada sem uma declaração explícita de planilha (ela retorna uma célula da planilha ativa).Cells(linha. O exemplo seguinte define a fórmula para a célula C5. coluna) onde linha é o índice da linha e coluna é o índice da coluna.Cells(2. Propriedade Cells: Use Cells(linha.1).Value = "Q" & theQuarter Next theQuarter Apesar de você poder usar funções de cadeia de caracteres do VBA para alterar as referências de estilo A1.ClearContents Se você usar um argumento dex texto para o endereço do intervalo. você terá que especificar o endereço em notação de estilo A1 (você não poderá usar a notação de estilo L1C1. theYear + 1).37. onde expressão é uma expressão que retorne um objeto Range.Range("C5:C10"). é muito mais fácil (e é uma prática de programação muito melhor) usar a notação Cells(1. onde L1 significa Linha 1 e C1 significa Coluna 1).3 Propriedade Offset Use Offset(linha. pode haver ocasiões em que a propriedade Cells seja mais conveniente porque você pode usar uma variável para a linha ou coluna.Formula = "=sum(B1:B5)" Embora você também possa usar Range("A1") para retornar a célula A1. 1).Cells(1.Formula = "=rand()" 2.Cells(1.

Activate Set r1 = Range("A1:B2") Set r2 = Range("C3:D4") Set myMultiAreaRange = Union(r1. 1). Dim r1 As Range. colIndex) . o exemplo substituirá esse valor por 0 (zero).Value < . Worksheets("Plan1").Activate t Selection.Font.001.Cells(rwIndex.ClearContents Este exemplo percorre as células A1:J4 da planilha Plan1. Cells(5.Italic = True Página 190 de 219 . For rwIndex = 1 to 4 For colIndex = 1 to 10 If Worksheets("Plan1"). r2) myMultiAreaRange. r2 As Range.001 Then Worksheets("Plan1").Range("A1"). Worksheets("Plan1"). Você não pode selecionar uma célula que não esteja na planilha ativa. O exemplo seguinte cria um objeto definido como a união de intervalos A1:B2 e C3:D4 e. 1).Value = 0 End If Next colIndex Next rwIndex Este exemplo define o estilo da fonte para as células A1:C5 da planilha Plan1 como itálico.. a qual é a propriedade mais utilizada do objeto Range.Cells(1). Worksheets("Plan1"). intervalos compostos de dois ou mais blocos contíguos de células.Selec Método Union: Use Union(intervalo1.Font.Offset(3. 3). Se uma célula contiver um valor menor que 0. . seleciona o intervalo definido.Select Vamos apresentar mais alguns exemplos do uso da propriedade Cells.Activate Range(Cells(1.) para retornar intervalos de várias áreas – isto é. Este exemplo define o tamanho da fonte para a célula C5 de planilha Plan1 como 14 pontos. você precisa ativar primeiro a planilha..Cells(5. colIndex).Microsoft Excel – Estudo Avançado intervalo. em seguida.Cells(rwIndex. myMultiAreaRange As Range Worksheets("Plan1"). portanto. intervalo2. O exemplo seguinte seleciona a célula três linhas abaixo e uma coluna à esquerda da célula do canto superior esquerdo da seleção atual.Size = 14 Este exemplo limpa a fórmula na célula um da planilha Plan1: Worksheets("Plan1"). 3)).

É do tipo Somente leitura.38. caso existam. estudaremos mais o objeto Range. Use essa propriedade para referir-se à pasta de trabalho que contém o código de sua macro.Cells(n.Microsoft Excel – Estudo Avançado Este exemplo varre uma coluna de dados chamada "myRange". Esse estudo seguirá na Próxima lição. O exemplo a seguir fecha a pasta de trabalho que contém o código de exemplo.1 Propriedade ThisWorkBook Essa propriedade retorna um objeto Workbook representando a pasta de trabalho na qual o código da macro atual está sendo executado. 1) = r. ThisWorkbook. Você encontra exemplos de cada método e propriedade na Ajuda do Excel.Cells(n + 1.Count If r.38 O Objeto Application – Propriedades e Métodos – Parte I Vamos iniciar o estudo das principais propriedades do objeto Application. use código tal como o seguinte para ativar uma folha de caixa de diálogo armazenada em sua pasta de trabalho do suplemento.DialogSheets(1). Set r = Range("myRange") For n = 1 To r.Show Essa propriedade só pode ser usada de dentro do Microsoft Excel. como por exemplo o Microsoft Access. 1). não são salvas. ThisWorkbook. 2.Close SaveChanges:=False Página 191 de 219 . 1) Then MsgBox "Dados duplicados em: " & r. o exemplo exibirá o endereço da célula que contém os dados duplicados. Por exemplo. Alterações na pasta de trabalho. Você não pode usá-la para acessar uma pasta de trabalho a partir de um outro aplicativo.Rows. essa propriedade somente pode ser usada para fazer referência ao Workbook atualmente carregado e não para definir o Workbook ativo. No curso de Programação VBA e Criação de Aplicativos como Excel. Se uma célula tiver o mesmo valor que a célula imediatamente acima. 2.Address End If Next n Existem dezenas de métodos e propriedades do objeto Range. ou seja.Cells(n + 1.

FullName 2.Bold = True ActiveCell.Font.xls) da pasta de trabalho atual: MsgBox “Você está trabalhando no seguinte arquivo: “& ThisWorkbook. Quando você não especifica um qualificador de objeto.Italic = True 2.Activate MsgBox ActiveCell. o exemplo ativa a planilha Plan1 antes de usar a propriedade ActiveCell.Microsoft Excel – Estudo Avançado A propriedade ThisWorkbook retorna uma referência a um objeto Workbook.2 Propriedade ActiveCell: Essa propriedade retorna um objeto Range representando a célula ativa da janela ativa (a janela visível) ou da janela especificada.ActiveCell ActiveWindow. mas somente uma é a célula ativa.ActiveCell Application. Podemos utilizar todas as propriedades do objeto Workbook (que estudaremos em detalhes a partir da lição 14) para obter informações sobre a pasta de trabalho atual. somente pode ser usada para retornar a célula ativa e não para ativar uma determinada célula. A célula ativa é uma única célula dentro da seleção atual.3 Propriedade ActiveSheet Página 192 de 219 . Todas as expressões seguintes retornam a célula ativa. ActiveCell Application.Font. o qual faz referência a pasta de trabalho atual. É do tipo Somente leitura.ActiveWindow. Como a propriedade ActiveCell falha se a planilha ativa não for uma planilha de trabalho. sendo todas equivalentes. essa propriedade retorna a célula ativa da janela ativa.38. Worksheets("Plan1").Activate ActiveCell. Worksheets("Plan1"). Tenha cuidado de distinguir entre célula ativa e seleção.Value Este exemplo altera a formatação da fonte da célula ativa.ActiveCell Exemplos da propriedade ActiveCell: Este exemplo usa uma caixa de mensagem para exibir o valor da célula ativa. ou seja. No exemplo a seguir. essa propriedade falhará. A seleção pode conter mais de uma célula.38. Se a janela não estiver exibindo uma planilha. usamos a propriedade FullName para obter o caminho completo (por exemplo C:\ExcelAvancado\Teste.

Retorna Nothing se não houver planilha ativa.38.BaseField = "ORDER_DATE" Worksheets("Plan1").PivotField. Se você não especificar um qualificador de objeto. essa propriedade retornará a planilha ativa da pasta de trabalho ativa. Application. Página 193 de 219 .CalculateBeforeSave = True Este exemplo define o campo de dados no relatório de tabela dinâmica em Plan1 para calcular a diferença a partir do campo base.Name 2.Calculation = xlDifferenceFrom Worksheets("Plan1"). MsgBox "O nome da planilha ativa é: " & ActiveSheet.Range("A3").PivotField.Microsoft Excel – Estudo Avançado Essa propriedade retorna um objeto representando a planilha ativa (a planilha visível) da pasta de trabalho ativa ou na janela ou pasta de trabalho especificada. Worksheets("Plan1"). Somente leitura.Range("A3"). define o campo base com o campo chamado "ORDER_DATE" e define o item base com o item chamado "5/16/89". Exemplo da propriedade ActiveSheet: Este exemplo exibe o nome da planilha ativa.4 Propriedade Calculation Essa propriedade Retorna ou define o modo de cálculo.BaseItem = "5/16/89" Na próxima lição veremos mais algumas propriedades do objeto Application e iniciaremos o estudo dos principais métodos desse objeto.PivotField .Range("A3"). Se uma pasta de trabalho aparece em mais de uma janela. Exemplo da propriedade Calculation: Este exemplo faz o Microsoft Excel calcular pastas de trabalho antes de elas serem salvas em disco.Calculation = xlCalculateManual Application. Pode ser uma das seguintes constantes     xlCalculation xlCalculationAutomatic xlCalculationManual xlCalculationSemiautomatic. a propriedade ActiveSheet poderá ser diferente em janelas diferentes.

6 Propriedade DefaultSaveFormat: Essa propriedade retorna ou define o formato padrão para salvar arquivos. String de leitura e gravação. Para obter uma lista de constantes válidas. Do tipo Long de leitura e gravação.DefaultFilePath 2.38. é acessada a pasta Meus documentos. Na tabela a seguir temos uma lista de constantes válidas para essa propriedade: Dependendo do idioma da sua versão do Excel. Por padrão é a pasta Meus documentos. MsgBox "O caminho padrão é: " & Application. consulte a propriedade FileFormat. algumas dessas constantes podem não estar disponíveis.38. Exemplo da propriedade DefaultFilePath: Este exemplo exibe o atual caminho de arquivo padrão. Página 194 de 219 .5 Propriedade DefaultFilePath Essa propriedade retorna ou define o caminho padrão que o Microsoft Excel usa ao abrir arquivos. ou seja. Exemplo da propriedade DefaultSaveFormat: Este exemplo define o formato padrão para salvar arquivos. por padrão.Microsoft Excel – Estudo Avançado 2. quando você seleciona o comando Arquivo -> Salvar ou Arquivo -> Abrir.

Página 195 de 219 . o título padrão será "Entrada". Default.8 Método InputBox Esse método exibe uma caixa de diálogo para entrada pelo usuário e retorna as informações inseridas na caixa de diálogo. Esse valor pode ser um objeto Range. Application. em pontos. Default: Variant opcional. Especifica uma posição y para a caixa de diálogo em relação ao canto superior esquerdo da tela. Title. Se esse argumento for omitido. Pode ser uma seqüência. Type) expressão : É obrigatória e deve ser uma expressão que retorne um objeto Application.DefaultSaveFormat = xlExcel4Workbook 2. 2. Prompt: String obrigatória. caixa de diálogo em Top: Variant opcional.RecentFiles. um número. Sintaxe: Expressão. Left: Variant opcional. HelpFile. Exemplo da propriedade RecentFiles: Este exemplo define como 6 o número máximo de arquivos da lista de arquivos usados recentemente. uma data ou um valor Boolean (o Microsoft Excel converte o valor automaticamente para uma String antes dele ser exibido). O título da caixa de entrada. Title: Variant opcional. Top.7 Propriedade RecentFiles Essa propriedade retorna uma coleção RecentFiles representando a lista de arquivos usados recentemente. Especifica um valor que aparecerá na caixa de texto quando a caixa de diálogo for inicialmente exibida.Microsoft Excel – Estudo Avançado Application. A mensagem a ser exibida na caixa de diálogo. HelpContextId.38. em pontos. Se esse argumento for omitido. Left.InputBox(Prompt.Maximum = 6 Principais Métodos do método Application: Vamos iniciar o estudo dos principais métodos do objeto Application. Esse estudo seguirá na Próxima lição.38. a caixa de texto será deixada vazia. Especifica uma posição x para a relação ao canto superior esquerdo da tela.

Página 196 de 219 . O número de identificação do contexto do tópico da Ajuda em HelpFile. Pode ser um dos valores abaixo ou a soma deles.Microsoft Excel – Estudo Avançado HelpFile: Variant opcional. O nome do arquivo de Ajuda para essa caixa de entrada. Especifica o tipo de dados retornado. Se os argumentos HelpFile e HelpContextID estiverem presentes. HelpContextId: Variant opcional. a caixa de diálogo retornará texto. um botão Ajuda aparecerá na caixa de diálogo. Se esse argumento for omitido. Type: Variant opcional.

Se houver quaisquer referências na fórmula. Quando você escolhe o botão OK. Set myRange = Application. como mostrado no exemplo seguinte. a variável será intervalo em vez do próprio objeto Range. (Use ConvertFormula para fazer a conversão entre estilos de referências). Você precisa usar a instrução Set para atribuir o resultado a um objeto Range. Quando Type é 0. defina Type como 1 + 2. Este exemplo usa o argumento Type para assegurar que o valor retornado seja uma referência de célula válida (um objeto Range). Quando Type é 8. A fórmula de entrada deverá estar no idioma do usuário. A caixa de diálogo tem um botão OK e um botão Cancelar. InputBox retorna a fórmula na forma de texto – por exemplo. Quando você clica no botão Cancelar. InputBox retorna o valor inserido na caixa de diálogo. como #N/D Uma matriz de valores Você pode usar a soma dos valores permitidos para Type. para uma caixa de entrada que possa aceitar tanto texto como números. você terá que usar a propriedade FormulaLocal para atribuir a fórmula a um objeto Range. Por exemplo.Activate Página 197 de 219 . myNum = Application. InputBox retorna um objeto Range.InputBox("Digite um número:") Este exemplo pede ao usuário que selecione uma célula em Plan1. Worksheets("Plan1"). como um objeto Range Um valor de erro. Exemplo do método InputBox: Este exemplo pede um número ao usuário. type := 8) Se você não usar a instrução Set. InputBox retorna False. Use InputBox para exibir uma caixa de diálogo simples para que você possa inserir informações a serem usadas em uma macro.Microsoft Excel – Estudo Avançado Valor 0 1 2 4 8 16 64 Significado Uma fórmula Um número Texto (uma seqüência) Um valor lógico (True ou False) Uma referência a células.InputBox(prompt := "Sample". definida com o valor no Se você usar o método InputBox para pedir uma fórmula ao usuário. elas serão retornadas como referências de estilo A1. "=2*PI()/360".

Microsoft Excel – Estudo Avançado

Set myCell = Application.InputBox(prompt:="Select a cell", Type:=8)

2.38.9

Método FindFile

Esse método exibe a caixa de diálogo Abrir. Sintaxe:
expressão.FindFile

expressão: Obrigatória. Uma expressão que retorne um objeto Application. Comentários: Este método exibe a caixa de diálogo Abrir e permite que o usuário abra um arquivo. Se um novo arquivo for aberto com sucesso, esse método retornará True. Se o usuário cancelar a caixa de diálogo, este método retornará False. Este exemplo exibe a caixa de diálogo Abrir. Application.FindFile

2.38.10

Método GetOpenFilename

Esse método exibe a caixa de diálogo Abrir padrão e obtém um nome de arquivo do usuário sem realmente abrir nenhum arquivo. Sintaxe:
expressão.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

expressão: Obrigatória. Uma expressão que retorna um objeto Application. FileFilter: Variant opcional. Uma seqüência que especifica critérios de filtragem do arquivo. Esta seqüência consiste em pares de seqüências de filtro de arquivo seguidas pela especificação de arquivo curinga do MS-DOS, com cada parte e cada par separados por vírgulas. Cada par separado é listado na caixa de listagem suspensa Arquivos do tipo. Por exemplo, a seguinte seqüência especifica dois filtros de arquivo–texto e suplemento:
"Arquivos de texto (*.txt),*.txt,Arquivos de suplemento (*.xla),*.xla"

Para usar várias expressões curingas do MS-DOS para um único tipo de filtro, separe as expressões curinga com pontos-e-vírgulas; por exemplo, "Arquivos do Visual Basic (*.bas; *.txt),*.bas;*.txt". Se omitido, o padrão desse argumento será "Todos os arquivos (*.*),*.*".
Página 198 de 219

Microsoft Excel – Estudo Avançado

FilterIndex: Variant opcional. Especifica os números de índice dos critérios padrão de filtragem de arquivo, de 1 até o número de filtros especificado em FileFilter. Se esse argumento for omitido ou for superior ao número de filtros presentes, o primeiro filtro de arquivo será usado. Title: Variant opcional. Especifica o título da caixa de diálogo. Se esse argumento for omitido, o título será "Abrir". ButtonText: Variant opcional. Somente para computadores Macintosh. MultiSelect: Variant opcional. True para permitir que vários nomes de arquivo sejam selecionados. False para permitir que somente um nome de arquivo seja selecionado. O valor padrão é False Esse método retorna o nome de arquivo selecionado ou o nome fornecido pelo usuário. O nome retornado pode incluir uma especificação de caminho. Se MultiSelect for True, o valor de retorno será uma matriz dos nomes de arquivo selecionados (mesmo que somente um nome de arquivo seja selecionado). Retorna False se o usuário cancelar a caixa de diálogo. Esse método pode alterar a unidade ou pasta atual. Exemplo do método GetOpenFilename: Este exemplo exibe a caixa de diálogo Open, com o filtro de arquivo definido para arquivos de texto. Se o usuário escolher um nome de arquivo, o código exibirá esse nome de arquivo em uma caixa de mensagens.
fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt") If fileToOpen <> False Then MsgBox "Arquivo selecionado: " & fileToOpen End If

2.38.11

Método SendKeys

Esse método envia pressionamentos de teclas para o aplicativo ativo. Sintaxe
expressão .SendKeys( Keys , Wait )

expressão:

Opcional. Uma expressão que retorne um objeto Application .

Keys: Variant obrigatória. A tecla ou combinação de teclas que você deseja enviar para o aplicativo, na forma de texto.

Página 199 de 219

Microsoft Excel – Estudo Avançado

Wait: Variant opcional. True para que o Microsoft Excel espere que as teclas sejam processadas antes de devolver o controle à macro. False (ou omitido) para continuar a executar a macro sem esperar que as teclas sejam processadas. Este método coloca os pressionamentos de teclas em uma memória intermediária de teclas. Em alguns casos, você precisa chamar esse método antes de chamar o método que irá usar os pressionamentos de teclas. Por exemplo, para enviar uma senha para uma caixa de diálogo você precisa chamar o método SendKeys antes de exibir a caixa de diálogo. O argumento Keys pode especificar qualquer tecla única ou qualquer tecla combinada com ALT, CTRL ou SHIFT (ou qualquer combinação dessas teclas). Cada tecla é representada por um ou mais caracteres, tais como "a" para o caractere a, ou "{ENTER}" para a tecla ENTER. Para especificar caracteres que não são exibidos quando você pressiona a tecla correspondente (por exemplo, ENTER ou TAB), use os códigos listados na tabela seguinte. Cada código da tabela representa uma tecla no teclado.
Tecla BACKSPACE BREAK CAPS LOCK CLEAR DELETE ou DEL SETA PARA BAIXO END ENTER (teclado numérico) ENTER ESC HELP HOME INS SETA PARA ESQUERDA Código {BACKSPACE} ou {BS} {BREAK} {CAPSLOCK} {CLEAR} {DELETE} ou {DEL} {DOW N} {END} {ENTER} ~ (til) {ESCAPE} ou {ESC} {HELP} {HOME} {INSERT} {LEFT}

Página 200 de 219

Microsoft Excel – Estudo Avançado
NUM LOCK PAGE DOW N PAGE UP RETURN SETA PARA DIREITA SCROLL LOCK TAB SETA PARA CIMA F1 a F15 {NUMLOCK} {PGDN} {PGUP} {RETURN} {RIGHT} {SCROLLLOCK} {TAB} {UP} {F1} a {F15}

Você também pode especificar teclas combinadas com SHIFT e/ou CTRL e/ou ALT. Para especificar uma tecla combinada com uma outra tecla ou teclas, use a tabela seguinte.
TELCA SHIFT CTRL ALT Símbolo código da tecla com: + (sinal de mais) ^ (circunflexo) % (sinal de porcentagem)

Exemplo do método SendKeys: Este exemplo usa o método SendKeys para encerrar o Microsoft Excel.
Application.SendKeys("%ar") ‘%a -> Alt+A -> Abre o menu arquivo. ‘R -> Seleciona o comando Sair.

Com isso encerramos o estudo dos principais métodos e propriedades do objeto Application.

2.39 O Objeto Workbook – Propriedades e Métodos – Parte I
Nessa lição veremos alguns exemplos de usos práticos do objeto Workbook. Nas Lições 15 e 16 serão apresentados detalhes sobre alguns dos principais métodos e propriedades do objeto Workbook.

2.39.1

Ativar uma pasta de trabalho

A Ativação de uma pasta de trabalho pelo uso do método Activate coloca a pasta de trabalho na janela ativa. O comando a seguir ativa a pasta de trabalho aberta chamada "Contabilidade.xls". Workbooks("Contabilidade.xls").Activate Criar uma nova pasta de trabalho: Para criar uma nova pasta de trabalho no VBA, você usa o método Add. O exemplo a seguir criar uma nova pasta de trabalho. O Microsoft Excel dá
Página 201 de 219

Microsoft Excel – Estudo Avançado automaticamente à pasta de trabalho o nome PastaN. Sheets(4). Workbooks.Activate Página 202 de 219 . ela se torna um membro da coleção Workbooks. A nova pasta de trabalho se torna a pasta de trabalho ativa. o objeto Workbook retornado pelo método Add é atribuído a uma variável de objeto. Workbooks. Você pode facilmente controlar a nova pasta de trabalho usando a variável de objeto newBook.xls localizada na pasta chamada "MyFolder" na unidade C. gráficos.2 Abrir uma pasta de trabalho Quando você abre uma pasta de trabalho usando o método Open.Title = "1995 Sales" newBook. newBook. várias propriedades de newBook são definidas.39. onde N é o próximo número disponível. Worksheets(1). O procedimento seguinte abre uma pasta de trabalho chamada MyBook.SaveAs filename:="95Sales.Add Uma maneira melhor de criar uma nova pasta de trabalho é atribuí-la a uma variável de objeto.xls" 2.Add ‘ Agora a variável newBook é do tipo Workbook ‘ Podemos utilizar todas as propriedades e métodos ‘ do objeto Workbook para configurar a pasta de trabalho ‘ newBook newBook. módulos e folhas de caixa de diálogo). com base na posição de sua guia de planilha (contando da esquerda para a direita) entre planilhas do mesmo tipo. No exemplo seguinte.Open("C:\MyFolder\MyBook.Activate Se você desejar trabalhar com todos os tipos de planilha (planilhas.Subject = "Sales" newBook. use a propriedade Sheets.xls") Referir-se a planilhas pelo número de índice: Um número de índice é um número seqüencial atribuído a uma planilha. Set newBook = Workbooks. O exemplo seguinte usa a propriedade Worksheets para ativar a planilha um da pasta de trabalho ativa. O procedimento seguinte ativa a planilha quatro na pasta de trabalho. Em seguida.

a coleção Sheets contém todos estes. suporte de edição.Microsoft Excel – Estudo Avançado Observação A ordem dos índices pode ser alterada se você mover. Para fazer isso. consulta de tabela. Sheets("Chart1"). intervalo. como mostrado no exemplo seguinte. resolução de tela. gráfico. Caso você tenha que fazer quebra de linha. use o método SaveAs.Activate Observação: Os gráficos incorporados em uma planilha são membros da coleção ChartObjects. Você também pode editar arquivos HTML diretamente no Excel. deve ser utilizado o caractere de sublinhado no final da linha. conteúdo. adicionar ou excluir planilhas. Você pode personalizar a aparência. ActiveWorkbook. gráfico. Salvar um documento como uma página da Web é o processo de criar e salvar um arquivo HTML e quaisquer arquivos de suporte.htm.4 Personalizar a página da Web Esse comando deve ser digitado todo em uma única linha.3 Salvar documentos como páginas da Web No Microsoft Excel.Activate Charts("Chart1"). relatório de gráfico dinâmico. As instruções seguintes ativam várias planilhas na pasta de trabalho ativa.39. formatos gráficos. organização de arquivo e codificação do documento HTML definindo propriedades do objeto DefaultWebOptions e do Página 203 de 219 . 2. você pode salvar uma pasta de trabalho. área de impressão ou intervalo AutoFilter como uma página da Web.Activate Você pode usar a propriedade Sheets para retornar uma planilha. que salva a pasta de trabalho ativa como C:\Reports\myfile.Activate DialogSheets("Dialog1"). O exemplo seguinte ativa a planilha chamada "Ghart1" na pasta de trabalho ativa. planilha. módulo ou folha de caixa de diálogo. FileFormat:=”xlHTML” 2.htm". enquanto que gráficos existentes em suas próprias folhas pertencem à coleção Charts.39.SaveAs Filename:="C:\Reports\myfile. suporte de navegador. Worksheets("Sheet1"). Referir-se a planilhas por nome: Você pode identificar planilhas pelo nome usando as propriedades Worksheets e Charts.

Página 204 de 219 .Microsoft Excel – Estudo Avançado objeto WebOptions. Essas configurações são sobrescritas por quaisquer configurações de propriedade de pasta de trabalho que tenham os mesmos nomes (contidas no objeto WebOptions). O objeto DefaultWebOptions contém propriedades que afetam todo o aplicativo.

PixelsPerInch = 96 ActiveWorkbook.htm. tabela de consulta.Open Filename:="C:\Reports\1997_Q4. sobrescrevendo a configuração padrão do aplicativo. O exemplo seguinte define várias propriedades de aplicativo e define a propriedade AllowPNG da pasta de trabalho ativa. relatório de gráfico dinâmico.RelyonVML = True WebOptions. O exemplo seguinte salva um intervalo de células em um servidor Web. suporte de navegador.htm.WebOptions." Application. área de impressão ou intervalo AutoFilter de uma página da Web. dando à página da Web o endereço de URL http://example.Publish Você também pode salvar os arquivos diretamente em um servidor Web.RelyonVML = True Application.AllowPNG = False PublishObjects(1). Workbooks.com/annualreport.39.Publish 2. ActiveWorkbook.DefaultWebOptions. você pode usar o método Publish para salvar a pasta de trabalho. suporte de edição. intervalo.DefaultWebOptions.PixelsPerInch = 96 ActiveWorkbook.AllowPNG = True Application. planilha. gráfico.htm" PublishObjects(1).5 Abrir um documento HTML em Microsoft Excel Para editar um documento HTML no Excel..FileName = "http://example. Finalmente. você pode personalizar a aparência.htm" Depois de abrir o arquivo.homepage.htm" para edição. Página 205 de 219 . resolução de tela. conteúdo. O exemplo seguinte abre o arquivo "C:\Reports\1997_Q4.DefaultWebOptions.homepage.htm" PublishObjects(1). organização de arquivo e codificação do documento HTML definindo as propriedades dos objetos DefaultWebOptions e WebOptions.WebOptions WebOptions.com/annualreport.Microsoft Excel – Estudo Avançado Após definir os atributos.FileName = "C:\Reports\1998_Q1. abra primeiro o documento usando o métodoOpen. formatos gráficos.PublishObjects(1) PublishObjects(1). o exemplo salva o intervalo como "C:\Reports\1998_Q1.

Microsoft Excel – Estudo Avançado Propriedade Application: Página 206 de 219 .

somente os campos visíveis em um relatório de tabela dinâmica são contados. Comentários: Para fontes de dados OLAP.Value = "Microsoft Excel" Then MsgBox "É um objeto do Microsoft Excel!!!" Else MsgBox "Não é um objeto do Microsoft Excel!!!" End If 2.Areas(i). Exemplo da propriedade Application: Este exemplo exibe uma mensagem sobre o aplicativo que criou a variável myObject. Set myObject = ActiveWorkbook If myObject.39. O código também testa se a seleção é de área múltipla.Activate areaCount = Selection.Columns. Long somente leitura.Areas. essa propriedade retorna um objeto Application representando o criador do objeto especificado (você pode usar essa propriedade com um objeto de Automação OLE para retornar o aplicativo desse objeto).Count & " colunas.6 Propriedade Count Retorna o número de objetos da coleção. se for o caso." Next i " & _ Página 207 de 219 .Microsoft Excel – Estudo Avançado Quando usada sem um qualificador de objeto.Count & " colunas.Application. Somente leitura." Else For i = 1 To areaCount MsgBox "Area " & i & " da selção contém Selection. Exemplo da propriedade Count: Este exemplo exibe o número de colunas na faixa selecionada na planilhaSheet1. Quando usada com um qualificador de objeto.Count If areaCount <= 1 Then MsgBox "A seleção contém " & Selection. o código fará um loop pelas áreas da seleção de múltiplas áreas.Columns. Worksheets("Sheet1"). essa propriedade retorna um objeto Application representando o aplicativo Microsoft Excel.

Microsoft Excel – Estudo Avançado

End If Este exemplo faz do último caractere da célula A1 um caractere sobrescrito.
n = Worksheets("Sheet1").Range("A1").Characters. Count Worksheets("Sheet1").Range("A1").Characters(n, 1).Font.Superscript = True

2.39.7

Propriedade Item (coleção Workbooks)

Retorna um único objeto Workbook de uma coleção Workbooks. Sintaxe: expressão.Item(Index) expressão: Obrigatória. Uma expressão que retorne um objeto Workbooks. Index : Variant obrigatória. O nome ou número de índice da pasta de trabalho. Exemplo da propriedade Item (coleção Workbooks): Este exemplo define a variável pt com a pasta de trabalho de myaddin.xla.
Set wb = Workbooks.Item("myaddin.xla")

2.39.8

Propriedade Parent

Retorna o objeto pai do objeto especificado. Somente leitura. Exemplo da propriedade Parent: Este exemplo exibe o nome do gráfico que contém myAxis.
Set myAxis = Charts(1).Axes(xlValue) MsgBox myAxis.Parent.Name
Método Add (coleção Workbooks): Cria uma nova pasta de trabalho. A nova pasta de trabalho se torna a pasta de trabalho ativa. Retorna um objeto W orkbook. Sintaxe: expressão.Add(Template) expressão: Obrigatória. Uma expressão que retorne um objeto W orkbooks. Template: Variant opcional. Determina como a nova pasta de trabalho é criada. Se esse argumento for uma cadeia de caracteres especificando o nome de um arquivo do Microsoft Excel existente, a nova pasta de trabalho será criada com o arquivo especificado como um modelo. Se esse argumento for uma constante, a nova pasta de trabalho conterá uma única

Página 208 de 219

Microsoft Excel – Estudo Avançado
planilha do tipo especificado. Pode ser uma das seguintes constantes XlW BATemplate: xlW BATChart, xlW BATExcel4IntlMacroSheet, xlW BATExcel4MacroSheet ou xlW BATW orksheet. Se esse argumento for omitido, o Microsoft Excel criará uma nova pasta de trabalho com algumas planilhas em branco (o número de planilh as é definido pela propriedade SheetsInNewW orkbook). Comentários: Quando o argumento Template especifica um arquivo, o nome do arquivo pode incluir um caminho. Exemplo do método Add (coleção W orkbooks): Este exemplo cria uma nova pasta de trabalho. W orkbooks.Add Método Close: Fecha o objeto. A coleção W orkbooks usa a Sintaxe 1. Os objetos W indow e W orkbook usam a Sintaxe 2. Sintaxe 1:

expressão.Close Sintaxe 2: expressão.Close(SaveChanges, FileName, RouteW orkbook) expressão: Obrigatória. Uma expressão que retorne um objeto da lista Relativo a. SaveChanges: Variant opcional. Se não houver alterações na pasta de trabalho, esse argumento será ignorado. Se houver alterações na pasta de trabalho e ela aparecer em outras janelas abertas, esse argumento será ignorado. Se houver alterações na pasta de trabalho, mas ela não aparecer em qualquer outra janela aberta, esse argumento especificará se as alterações devem ser salvas, como mostrado na tabela seguinte. Valores True: Salva as alterações na pasta de trabalho. Se ainda não houver um nome de arquivo associado à pasta de trabalho, FileName será usado. Se FileName for omitido, o usuário será solicitado a fornecer um nome de arquivo. False: Não salva as alterações nesse arquivo. Omitido: Exibe uma caixa de diálogo perguntando ao usuário se as alterações devem ser salvas. FileName: Variant opcional. As alterações são salvas sob este nome de arquivo. RouteWorkbook: Variant opcional. Se a pasta de trabalho não precisar ser encaminhada para o próximo destinatário (se não tiver lista de circulação ou se já tiver sido encaminhada), este argumento será ignorado. Caso contrário, o Microsoft Excel encaminhará a pasta de trabalho como mostrado na tabela seguinte. Valores: True: Envia a pasta de trabalho para o próximo destinatário.

Página 209 de 219

Microsoft Excel – Estudo Avançado
False: Não envia a pasta de trabalho. Omitido: Exibe uma caixa de diálogo perguntando ao usuário se a pasta de trabalho deve ser enviada. Comentários: O fechamento de uma pasta de trabalho a partir do VBA não causa a execução de macros Auto_Fechar da pasta de trabalho. Use o método RunAutoMacros para executar as macros de fechamento automático. Método Open: Abre uma pasta de trabalho. Sintaxe: expressão.Open(FileName, UpdateLinks, ReadOnly, Format, Password, W riteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMRU) expressão: Obrigatória. Uma expressão que retorne um objeto W orkbooks ou RecentFile. FileName: String obrigatória. O nome de arquivo da pasta de trabalho a ser aberta. UpdateLinks: Variant opcional. Especifica o modo pelo qual são atualizados os vínculos do arquivo. Se este argumento for omitido, o usuário será solicitado a especificar como os vínculos serão atualizados. Caso contrário, este argumento será um dos valores listados na tabela seguinte. Valor 0 1 2 3 Significado Não atualiza nenhuma referência Atualiza as referências externas, mas não as remotas Atualiza as referências remotas, mas não as externas Atualiza tanto as referências externas quanto as remotas

Se o Microsoft Excel estiver abrindo um arquivo em formato W KS, W K1 ou W K3 e o argumento UpdateLinks for 2, o Microsoft Excel irá gerar gráficos a partir dos gráficos anexados ao arquivo. Se o argumento for 0, nenhum gráfico será criado. ReadOnly: Variant opcional. True para abrir a pasta de trabalho em modo somente leitura. Format: Variant opcional. Se o Microsoft Excel estiver abrindo um arquivo de texto, este argumento especificará o caractere delimitador, conforme mostrado na tabela seguinte. Se este argumento for omitido, o delimitador atual será usado. Valor 1 2 3 4 5 6 Delimitador Tabulações Vírgulas Espaços Ponto-e-vírgulas Nada Caractere personalizado (consulte o argumento Delimiter)

Password: Variant opcional. Uma seqüência de caracteres que contenha a senha obrigatória para se abrir uma pasta de trabalho protegida. Se esse argumento for omitido e a pasta de trabalho exigir uma senha, o usuário será solicitado a fornecê-la.

Página 210 de 219

Microsoft Excel – Estudo Avançado
WriteResPassword: Variant opcional. Uma seqüência de caracteres que contenha a senha necessária para gravar em uma pasta de trabalho de gravação reservada. Se este argumento for omitido e a pasta de trabalho requerer uma senha, o usuário será solicitado a fornecê-la. IgnoreReadOnlyRecommended: Variant opcional. True para que o Microsoft Excel não exiba a mensagem de recomendação somente leitura (se a pasta de trabalho foi salva com a opção Recomendável somente leitura). Origin: Variant opcional. Se o arquivo for um arquivo de texto, este argumento indicará qual a sua origem (para que as páginas de código e o retorno de carro/alimentação de linha (CR/LF) possam ser mapeados corretamente). Pode ser uma das seguintes constantes XlPlatform: xlW indows ou xlMSDOS. Se este argumento for omitido, o sistema operacional atual será usado. Delimiter: Variant opcional. Se o arquivo for um arquivo de texto e o argumento Format for 6, este argumento será uma seqüência de caracteres que especificará o caractere a ser usado como delimitador. Por exemplo, use Chr(9) para tabulações, use "," para vírgulas, use ";" para ponto-e-vírgulas ou use um caractere personalizado. Somente o primeiro caractere da seqüência é usado. Editable: Variant opcional. Se o arquivo for um suplemento do Microsoft Excel 4.0, este argumento será True para abrir o suplemento como uma janela visível. Se este argumento for False ou omitido, o suplemento será aberto como oculto e não poderá deixar de ser oculto. Esta opção não se aplica a suplementos criados no Microsoft Excel 5.0 ou posterior. Se o arquivo for um modelo do Excel, True abrirá o modelo especificado para edição. False abrirá uma nova pasta de trabalho baseada no modelo especificado. O valor padrão é False. Notify: Variant opcional. Se o arquivo não puder ser aberto em modo de leitura e gravação, este argumento será True para adicionar o arquivo à lista de notificação de arquivos. O Microsoft Excel abrirá o arquivo como somente leitura, pesquisará a lista de notificação de arquivos e, em seguida, notificar o usuário quando o arquivo tornar-se disponível. Se este argumento for False ou omitido, nenhuma notificação será solicitada, e qualquer tentativa de abrir um arquivo não disponível irá falhar. Converter: Variant opcional. O índice do primeiro conversor de arquivo a experimentar ao abrir o arquivo. O conversor de arquivo especificado é experimentado primeiro; se esse conversor não reconhecer o arquivo, todos os outros conversores serão usados. O índice de conversor compreende os números de linha dos conversores, retornados pela propriedade FileConverters. AddToMru: Variant opcional. True para adicionar esta pasta de trabalho à lista de arquivos usados recentemente. O valor padrão é False. Comentários: Se a pasta de trabalho sendo aberta tiver quaisquer macros Auto_Open, estas não serão executadas quando você abrir o arquivo a partir do Visual Basic. Se você desejar executar a macro Auto_Open, você deverá usar o método RunAutoMacros. Exemplo do método Open: Este exemplo abre a pasta de trabalho Analysis.xls e, em seguida, executa sua macro Auto_Open.

Workbooks.Open

"ANALYSIS.XLS"

ActiveWorkbook.RunAutoMacros xlAutoOpen

Página 211 de 219

F:F") Significado Célula A1 Células de A1 até B5 Uma seleção de várias áreas Coluna A Linha 1 Colunas de A até C Linhas 1 até 5 Linhas 1.C:C.Value = counter Página 212 de 219 . Como fazer referência a células e intervalos: Uma tarefa comum ao usar o VBA é especificar uma célula ou intervalo de células e.Bold = True A tabela seguinte ilustra algumas referências em estilo A1 usando o método Range. veremos alguns exemplos de usos práticos do objeto W orksheet e de Range. Geralmente. O exemplo seguinte altera o formato das células A1:D5 para negrito. a propriedade Value é definida como 10. conforme mostrado no exemplo seguinte. Cells(6. C e F Referir-se a células usando números de índice: Você pode usar a propriedade Cells para referir-se a uma única célula usando números de índice de linha e coluna.Cells(6.Cells(counter. Os tópicos seguintes mostram as maneiras mais comuns de identificar e trabalhar com objetos Range. você pode fazer isso em uma instrução que identifique o intervalo e também altere uma propriedade ou aplique um método.Font.Range("A1:D5"). Dim counter As Integer For counter = 1 To 20 Worksheets("Sheet1"). No exemplo seguinte. Também serão apresentados detalhes sobre alguns dos principais métodos e propriedades desses objetos. Referência Range("A1") Range("A1:B5") Range("C5:D9.3:3. W orkbooks("Book1").Value = 10 A propriedade Cells funciona bem para loop através de um intervalo de células porque você pode substituir os números de índice por variáveis. como inserir uma fórmula ou alterar o formato. em seguida. Referir-se a células e intervalos usando a notação A1: Você pode referir-se a uma célula ou intervalo de células no estilo de referência A1 usando o método Range. Essa propriedade retorna um objeto Range representando uma única célula. Em seguida.Sheets("Sheet1"). 3 e 8 Colunas A. 1). fazer algo com elas. Um objeto Range no VBA pode ser uma única célula ou um intervalo de células.8:8") Range("A:A. Worksheets("Sheet1").Microsoft Excel – Estudo Avançado Worksheet e Range – Propriedades e Métodos – Parte I Nessa lição e nas próximas duas.G9:H16") Range("A:A") Range("1:1") Range("A:C") Range("1:5") Range("1:1.1) retorna a célula A6 da planilha Sheet1. 3).

pressione ENTER. Em seguida.xls!MyRange"). Rows(5)) myUnion. W orksheets("Sheet1"). clique na caixa de nome na extremidade esquerda da barra de fórmulas. consulte Referir-se a células usando notação A1. Para nomear um intervalo selecionado. O exemplo seguinte altera para negrito o formato das linhas um.xls".Activate Dim myUnion As Range Set myUnion = Union(Rows(1). digite um nome e.BorderAround weight:=xlthin Página 213 de 219 . Referir-se a linhas e colunas: Use a propriedade Rows ou a propriedade Columns para trabalhar com linhas ou colunas inteiras.Rows(1). No exemplo seguinte.Font. três e cinco na planilha um da pasta de trabalho ativa. use a propriedade Range. Worksheets("Sheet1"). Rows(1) retorna a linha um na planilha Sheet1.xls]Sheet1!Sales"). Range("MyBook.Italic = True O exemplo seguinte se refere ao intervalo específico de planilha chamado "Sheet1!Sales" na pasta de trabalho chamada "Report. crie uma variável de objeto e use o método Union.Bold = True A tabela seguinte ilustra algumas referências de linha e coluna usando as propriedades Rows e Columns. Referir-se a um intervalo nomeado: O exemplo seguinte refere-se ao intervalo chamado "MyRange" na pasta de trabalho chamada "MyBook.xls".Font.Microsoft Excel – Estudo Avançado Next counter Observação: Se você desejar alterar as propriedades ou aplicar um método a todo um intervalo de células de uma só vez. Range("[Report. Para obter mais informações. Referência Rows(1) Rows Columns(1) Columns("A") Columns Significado Linha um Todas as linhas da planilha Coluna um Coluna um Todas as colunas da planilha Para trabalhar com várias linhas ou colunas ao mesmo tempo. em seguida. Essas propriedades retornam um objeto Range representando um intervalo de células.Font. a propriedade Bold do objeto Font do intervalo é definida como True. Rows(3). combinando várias chamadas à propriedade Rows ou Columns.Bold = True Referir-se a intervalos nomeados: Os intervalos são mais fáceis de identificar por nome do que por notação A1.

use uma variável com a propriedade Cells em um loop.ColorIndex = 27 End If Next c Na próxima lição continuaremos a ver exemplos de referência a células e faixa de células. Const limit As Integer = 25 For Each c In Range("MyRange") If c. Worksheet e Range – Propriedades e Métodos – Parte II Referir-se a células relativas a outras células: Uma maneira comum de trabalhar com uma célula em relação a uma outra célula é usar a propriedade Offset. aponte para Gravar macro e.Microsoft Excel – Estudo Avançado Para selecionar um intervalo nomeado.. clique em Usar referências relativas.ClearContents Realizar loop em células de um intervalo nomeado O exemplo seguinte faz um loop através de cada célula de um intervalo nomeado usando um loop For Each. Application.ClearContents O exemplo seguinte mostra como o mesmo procedimento seria escrito para a pasta de trabalho ativa. O exemplo seguinte preenche as 20 primeiras células da terceira coluna com valores entre 5 e 100.Goto Reference:="MyBook. Se o valor de qualquer célula do intervalo exceder o valor de limit.Value > limit Then c.Goto Reference:="MyRange" Selection.Interior. Para fazer um loop através de um intervalo de células.Next. incrementados por 5.Underline = xlDouble Observação: Você pode gravar macros que usem a propriedade Offset em vez d e referências absolutas. ActiveCell. use o método GoTo.. No exemplo seguinte. Dim counter As Integer Página 214 de 219 . em seguida. o conteúdo da célula que se encontra uma linha abaixo e a três colunas da célula ativa na planilha ativa é formatado com sublinhado duplo. A variável counter é usada como índice de linha para a propriedade Cells. No menu Ferramentas. o qual ativa a pasta de trabalho e a planilha e. 3).xls!MyRange" Selection. em seguida. Application.Font. a cor da célula será alterada para amarelo. seleciona o intervalo.Offset(1.

O exemplo seguinte cria a variável de objeto myRange e. o método retorna um objeto Range representando todas as células da planilha. Instruções subseqüentes modificam propriedades do intervalo substituindo o objeto de intervalo pelo nome da variável.Range("A1:D5") myRange.G9:H16.Font. Range("MyRange. O exemplo seguinte limpa o conteúdo dos três intervalos de Sheet1. você pode facilmente manipular o intervalo usando o nome da variável.ClearContents Os intervalos nomeados tornam o uso da propriedade Range mais fácil ao trabalhar com vários intervalos. define-o com os intervalos A1:B2 e C3:D4 e.B14:D18").ClearContents Usar o método Union: Você pode combinar vários intervalos em um objeto Range usando o método Union. Worksheets("Sheet1").Bold = True Referir-se a todas as células da planilha: Quando você aplica a propried ade Cells a uma planilha sem especificar um número de índice.Cells. HisRange"). formata com negrito os intervalos combinados. em seguida. O exemplo seguinte funciona quando todos os três intervalos nomeados se encontram na mesma planilha. atribui a variável ao intervalo A1:D5 de Sheet1 na pasta de trabalho ativa. O exemplo seguinte limpa o conteúdo de todas as células de Sheet1 na planilha ativa.Range("C5:D9.Formula = "=RAND()" myRange. Página 215 de 219 .Microsoft Excel – Estudo Avançado For counter = 1 To 20 Worksheets("Sheet1"). use a propriedade Areas para referir-se ao grupo de intervalos selecionado em uma planilha. você pode facilmente referir-se a vários intervalos.Value = counter * 5 Next counter Referir-se a células usando um objeto Range: Quando você define uma variável de objeto para um objeto Range. Use os métodos Range e Union para referir-se a qualquer grupo de intervalos. Dim myRange As Range Set myRange = Worksheets("Sheet1").Cells(counter. O exemplo seguinte cria um objeto Range chamado myMultipleRange. 3). em seguida. Usar a propriedade Range: Você pode referir-se a vários intervalos com a propriedade Range colocando vírgulas entre duas ou mais referências.ClearContents Referir-se a vários intervalos: Usando o método apropriado. YourRange. Worksheets("Sheet1").

.Value = 0 Next counter Uma outra maneira mais fácil de se fazer um loop através de um intervalo é usar um loop For Each. uma mensagem de aviso será exibida.Cells Página 216 de 219 .01.01 Then curCell..Bold = True Usar a propriedade Êreas: Você pode usar a propriedade Areas para referir-se ao intervalo selecionado ou à coleção de intervalos em uma seleção de várias áreas. e executa a operação.Count > 1 Then MsgBox "A operação não é permitida em uma selação múltipla. Se houver mais de uma área." End If 2. você pode substituir o contador do loop (ou outras variáveis ou expressões) pelos números de índice das células.01.Microsoft Excel – Estudo Avançado Dim r1. definindo como 0 (zero) qualquer número cujo valor absoluto seja menor que 0.. For counter = 1 To 20 Set curCell = Worksheets("Sheet1"). Usando a propriedade Cells.40 Loop através de um intervalo de células Ao usar o VBA. Uma maneira de fazer loop através de um intervalo é usar o loop For. você combina uma instrução de loop com um ou mais métodos para identificar cada célula.Font. For Each c In Worksheets("Sheet1"). No exemplo seguinte. O seguinte exemplo faz um loop através do intervalo A1:D10. r2) myMultipleRange.. O exemplo seguinte conta as áreas da seleção. uma de cada vez.Next (descrito no Módulo 5) com a coleção de células retornada pelo método Range. Para fazer isso. 3) If Abs(curCell. O seguinte exemplo faz um loop através de um intervalo C1:C20. If Selection. r2. O VBA define automaticamente uma variável de objeto para a próxima célula cada vez que o loop é executado.Cells(counter.Range("C3:D4") Set myMultipleRange = Union(r1. definindo como 0 (zero) qualquer número cujo valor absoluto seja menor que 0. a variável counter é substituída pelo índice de linha.Next (descrito no Módulo 5) com a propriedade Cells. você freqüentemente precisa executar o mesmo bloco de instruções em cada célula de um intervalo de células.Range("A1:B2") Set r2 = Sheets("Sheet1").Range("A1:D10").Value) < 0. myMultipleRange As Range Set r1 = Sheets("Sheet1").Areas.

Sheets("Sheet1"). ativar ou selecionar uma planilha e. como formatar as células ou inserir valores nelas. Worksheets("Sheet1").Value = 0 Next Se você não souber os limites do intervalo pelo qual deseja fazer o loop.40. No VBA. o exemplo seguinte. e ilustra como Select e Selection funcionam juntas. normalmente não é necessário selecionar células antes de modificá-las. Por exemplo.Value) < 0.01.01 Then c. se você desejar inserir uma fórmula na célula D6 usando o Visual Basic. definindo como 0 (zero) qualquer número cujo valor absoluto seja menor que 0. faz um loop através do intervalo que envolve a célula ativa. você precisa ativar uma pasta de trabalho. quando executado de uma planilha.Formula = "=SUM(D2:D5)" Usar o método Select e a propriedade Selection: O método Select ativa planilhas e objetos em planilhas.Microsoft Excel – Estudo avançado If Abs(c.Select Range("A1"). O gravador de macro costuma criar macros que usam o método Select e a propriedade Selection. você geralmente seleciona uma célula ou células e. definir a propriedade Formula com a fórmula desejada. O exemplo seguinte foi criado pelo uso do gravador de macro. conforme mostrado no exemplo seguinte. a propriedade Selection retorna um objeto representando a seleção atual na planilha ativa da pasta de trabalho ativa.Value = 0 Next 2.01 Then c.Select ActiveCell.FormulaR1C1 = "Name" Página 217 . Você precisa apenas retornar o objeto Range e. Por exemplo. Antes de você poder usar com êxito a propriedade Selection. em seguida. você não terá que selecionar o intervalo D6. efetua uma ação.1 Selecionar e ativar células Quando você trabalha com o Microsoft Excel. For Each c In ActiveCell. em seguida.Range("D6"). selecionar um intervalo (ou outro objeto) usando o método Select. você pode usar a propriedade CurrentRegion para retornar o intervalo que envolve a célula ativa.CurrentRegion.Value) < 0.Cells If Abs(c. em seguida.

Activate Página 218 .Select Range("B2"). Worksheets("Sheet1").Range("A1:B1").Activate 2.40.Rows(1). o exemplo seguinte copia uma linha de Sheet1 para Sheet2 na pasta de trabalho ativa.Microsoft Excel – Estudo avançado Range("B1"). como no exemplo seguinte.Bold = True O exemplo seguinte realiza a mesma tarefa sem ativar nem selecionar a planilha ou as células.Range("B1") = "Address" Worksheets("Sheet1"). Você pode aplicar qualquer das propriedades ou métodos de um objeto Range à célula ativa.Rows(1).Select Worksheets("Sheet2"). ativa uma célula dentro do intervalo sem alterar a seleção.4 Trabalhar com a célula ativa A propriedade ActiveCell retorna um objeto Range representando a célula que está ativa. Por exemplo.Select Selection. mesmo quando um intervalo de células é selecionado.Font.Activate Range("A1:D4").FormulaR1C1 = "Address" Range("A1:B1").Paste 2.3 Ativar uma célula dentro de uma seleção Você pode usar o método Activate para ativar uma célula dentro de uma seleção.40. Worksheets("Sheet1").2 Selecionar células na planilha ativa Se você usa o método Select para selecionar células.Copy Worksheets("Sheet2"). O exemplo seguinte seleciona um intervalo e.Font. Worksheets("Sheet1"). Só pode haver uma célula ativa. Worksheets("Sheet1"). o método Select falhará a menos que o seu procedimento ative a planilha antes de usar o método Select em um intervalo de células.40. Se você executar o seu procedimento Sub a partir do módulo.Range("A1") = "Name" Worksheets("Sheet1"). em seguida.Select Worksheets("Sheet2"). esteja ciente de que Select só funciona na planilha ativa.Select ActiveCell.Bold = True 2.

2. em seguida.Range("B5"). Em seguida. Para tornar uma única célula a célula ativa. Worksheets("Sheet1").40.Style = "Currency" Página 219 . move a célula ativa uma célula para a direita sem alterar a seleção. Worksheets("Sheet1").Offset(0.Font. o exemplo seguinte torna B5 a célula ativa e. Worksheets("Sheet1").Activate 2. O exemplo seguinte insere texto na célula ativa do intervalo selecionado e. No exemplo seguinte. Por exemplo.Activate Worksheets("Sheet1"). que contenham dados.Activate ActiveCell. esse intervalo é formatado com o formato Currency.Value = "Monthly Totals" ActiveCell.CurrentRegion.6 Selecionar as células ao redor da célula ativa A propriedade CurrentRegion retorna um intervalo de células delimitado por linhas e colunas em branco.Select Selection. use o método Activate.Select ActiveCell.40. a seleção é expandida para incluir as células adjacentes à célula ativa. 1).Activate Range("A1:D10").Bold = True Observação: Para selecionar um intervalo de células. a formata com negrito.Activate ActiveCell. em seguida. Você pode usar a propriedade Offset para mover a célula ativa. use o método Select.Value = 35 Observação: Você só pode trabalhar com a célula ativa quando a planilha na qual ela se encontra é a planilha ativa.5 Mover a célula ativa Você pode usar o método Activate para designar qual célula é a célula ativa.Microsoft Excel – Estudo avançado ActiveCell.