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

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

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

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

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

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

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

Microsoft Excel – Estudo Avançado Assistente do Office Clique com o botão direito do mouse sobre o assistente. A caixa de diálogo Assistente do Office será aberta. Agora desabilitando o Assistente. Página 11 de 219 . 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.

janela de Ajuda do Excel Página 12 de 219 .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. A ajuda do Excel será exibida.

1.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. Este recurso é muito semelhante a uma busca.Microsoft Excel – Estudo Avançado  Dica Para acionar a ajuda do Excel através do teclado.1 Conteúdo Na guia Conteúdo obtém-se de forma organizada toda a documentação eletrônica existente para o software. 1. basta pressionar a tecla F1. facilitando o trabalho do usuário a encontrar a informação desejada. Acessando a documentação via conteúdo.3.3.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. Página 13 de 219 . O conteúdo é organizado em tópicos e sub-tópicos.

Ajuda por índice.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). Página 14 de 219 .3 Índice Através da guia índice temos a possibilidade de pesquisar recursos do software em uma lista de palavras-chaves.

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

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

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

Se você copiar a fórmula ao longo de linhas ou colunas. como A1(Coluna e linha). Por exemplo. novas fórmulas usam referências relativas. Se você copiar a fórmula ao longo de linhas ou colunas.1 Referência relativa Uma referência relativa em uma fórmula. Por padrão. se você copiar uma referência relativa que está na célula B2 para a célula B3. Se a posição da célula que contém a fórmula se alterar. Se a posição da célula que contém a fórmula se alterar. é baseada na posição relativa da célula que contém a fórmula e da célula à qual a referência se refere. sempre se refere a uma célula em um local específico. a referência absoluta permanecerá a mesma. Dica  Para fazer referência utilizando o mouse.2 Referência absoluta Uma referência absoluta de célula em uma fórmula.3 Referências relativas.3. absolutas e mistas Ao fazermos referência a um intervalo de células podemos fazê-la de três maneiras distintas. 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. a referência será alterada. 2. a referência será automaticamente ajustada de =A1 para =A2. O ponto de exclamação é obrigatório após o nome da planilha. como $A$1(Coluna e linha). 2. a referência se ajustará automaticamente. referências relativas 2. Através de referências relativas. a referência absoluta não se Página 21 de 219 . Automaticamente a referência a outro arquivo e planilha será transcrita para sua fórmula.3.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 (!). absolutas ou mistas.

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

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

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

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

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

uma referência ou uma seqüência de caracteres de texto. A-Z.5... -1. Textos em maiúsculas e minúsculas são equivalentes.. Se procurar_intervalo for FALSO. tal como Banco de dados ou Lista. Observação  Se procurar_intervalo for VERDADEIRO. Use uma referência para um intervalo ou nome de intervalo. Sintaxe PROCV(valor_procurado. FALSO. 2. 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. Matriz_tabela é a tabela de informações em que os dados são procurados. . os valores na primeira coluna de matriz_tabela deverão ser colocados em ordem ascendente: .. Os valores na primeira coluna de matriz_tabela podem ser texto. 2. .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. -2.matriz_tabela.5 Funções de busca e referência Vamos analisar o funcionamento das principais funções de banco de dados disponibilizadas pelo Excel XP. caso contrário. 0. Página 27 de 219 .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. PROCV pode não retornar o valor correto.. números ou valores lógicos. Valor_procurado pode ser um valor. O V em PROCV significa "Vertical". VERDADEIRO.procurar_interva lo) Valor_procurado é o valor a ser localizado na primeira coluna da Matriz. 1. matriz_tabela não precisará ser ordenada.núm_índice_coluna.

PROCV fornecerá o valor #N/D. Se FALSO.   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. Observações  Se PROCV não localizar valor_procurado e procurar_intervalo for VERDADEIRO. uma correspondência aproximada é retornada. Se valor_procurado for menor do que o menor valor na primeira coluna de matriz_tabela. Se VERDADEIRO ou omitida. o valor de erro #N/D é retornado. Se núm_índice_coluna for menor do que 1. e assim por diante.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. PROCV retornará o valor de erro #REF!. Se PROCV não localizar valor_procurado e procurar_intervalo for FALSO. se núm_índice_coluna for maior do que o número de colunas em matriz_tabela. Um núm_índice_coluna de 1 retornará o valor na primeira coluna em matriz_tabela. Se nenhuma correspondência for encontrada. PROCV encontrará uma correspondência exata. PROCV fornecerá o valor de erro #N/D. em outras palavras. um núm_índice_coluna de 2 retornará o valor na segunda coluna em matriz_tabela. o valor maior mais próximo que é menor que o valor_procurado é retornado. se uma correspondência exata não for encontrada. PROCV retornará o valor de erro #VALOR!. ela usará o maior valor que for menor do que ou igual a valor_procurado. Utilizandoo ProcV para localizar o telefone Página 28 de 219 . Procurar_intervalo é um valor lógico que especifica se você quer que PROCV encontre a correspondência exata ou uma correspondência aproximada.

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

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

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

Exemplo Função COLS 2. quando você procura o número do telefone de alguém em Página 32 de 219 .5. Sintaxe CORRESP(valor_procurado.Microsoft Excel – Estudo Avançado Função COL 2.  é o valor utilizado para localizar o valor desejado em uma Valor_procurado é o valor que você deseja coincidir com matriz_procurada. 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. uma fórmula de matriz ou uma referência a um intervalo de células cujo número de colunas você deseja obter. Por exemplo.matriz_procurada. Sintaxe COLS(matriz) Matriz é uma matriz.5 CORRESP Retorna a posição relativa de um item em uma matriz que coincide com um valor especificado em uma ordem específica.tipo_correspondência) Valor_procurado tabela.5.4 COLS Retorna o número de colunas em uma matriz ou referência.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.7.5. 1° de janeiro de 1900 é o Página 58 de 219 . Os números à direita da vírgula decimal no número de série representam a hora.5 representa a hora 12:00 meio-dia. use DATA(2008.2 ANO Retorna o ano correspondente a uma data.   2. 2. Por padrão.Microsoft Excel – Estudo Avançado 2.23) para 23 de maio de 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. 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. o número de série 0.7 Funções de Data e hora Vamos ver as principais funções para a manipulação de data e hora no Excel XP. o resultado será formatado como uma data. A função AGORA só muda quando a planilha é calculada ou quando a macro que contém a função é executada. Por padrão. Por exemplo. Se o formato da célula era Geral antes de a função ser inserida. O ano é retornado como um inteiro no intervalo de 1900-9999. Por exemplo. As datas devem ser inseridas com a função DATA ou como resultado de outras fórmulas ou funções.448 dias após 1° de janeiro de 1900. os números à esquerda representam a data. não sendo atualizada continuamente.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.7.

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

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

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

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

Exemplo Função DIA.método) Data_inicial e data_final são as duas datas entre as quais você deseja saber o número de dias.DA. Se data_inicial ocorrer após data_final. 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.SEMANA 2. ou seja. Por exemplo. o americano ou o europeu.  Se método for FALSO ou Omitido.6 DIA360 Retorna o número de dias entre duas datas com base em um ano de 360 dias (doze meses de 30 dias). Use esta função para ajudar no cálculo dos pagamentos. se a data inicial for o dia 31 de um mês. Método é um valor lógico que especifica que método será usado no cálculo. ela se tornará igual ao dia 30 do mesmo mês.data_final.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.7. use DATA(2008.5.23) para 23 de maio de 2008. utiliza-se o método americano.448 dias após 1° de janeiro de 1900. se o seu sistema de contábil estiver baseado em doze meses de 30 dias. 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 dia Página 63 de 219 . Por padrão. As datas devem ser inseridas com a função DATA ou como resultado de outras fórmulas ou funções. DIAS360 retornará um número negativo. Sintaxe DIAS360(data_inicial.

Caso contrário.  Se o método for Verdadeiro. ou seja. 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. Página 64 de 219 . 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. 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. Se o formato da célula era Geral antes de a função ser inserida.Microsoft Excel – Estudo Avançado primeiro do próximo mês. o resultado será formatado como uma 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. utiliza-se o método europeu. Comentários O Microsoft Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos.7 HOJE Retorna o número de série da data atual. a data final se tornará igual ao trigésimo dia do mesmo mês.7. 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. Exemplo Função DIA360 2. Por padrão.

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

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

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

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

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

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

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

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. Exemplo Página 72 de 219 . Células com valores nulos não são contadas.Microsoft Excel – Estudo Avançado Função CONT. Sintaxe CONTAR.4 CONTAR.VALORES 2.9.

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

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

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

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

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

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

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

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

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

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

n) será igual ao maior valor.  Exemplo Página 83 de 219 . Sintaxe MENOR(matriz.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.1) será igual ao menor valor. Comentários   Se matriz estiver vazia.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. MENOR retornará o valor de erro #NÚM!. MENOR retornará o valor de erro #NÚM!. e MENOR(matriz. Se k ≤ 0 ou k exceder o número de pontos de dados. K é a posição (a partir do menor) na matriz ou intervalo de dados a ser fornecido. MENOR(matriz. Se n for o número de pontos de dados em matriz.

Células vazias. Comentários  Você pode especificar os argumentos que são números.9.. Se os argumentos não contiverem números.. MÍNIMO retornará 0. Os argumentos que são valores de erro ou texto que não podem ser traduzidos em números causam erros. 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   . Sintaxe MÍNIMO(núm1. células vazias.. valores lógicos ou valores de erro na matriz ou referência serão ignorados... mínimo..) Núm1. Caso o texto e os valores lógicos não devam ser ignorados. núm2.núm2. Se um argumento for uma matriz ou referência.Microsoft Excel – Estudo Avançado Função MENOR 2. valores lógicos ou representações em texto de números.14 MÍNIMO Retorna o menor número na lista de argumentos. utilize MÍNIMOA.

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

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

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

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

Um número formatado com o comando Células continua sendo um número.NÚM. 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. núm será arredondado à esquerda da vírgula decimal.     Exemplo Página 89 de 219 .NÚM.DEC Arredonda o número para o número especificado de decimais.10. Decimais é o número de dígitos à direita da vírgula decimal.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.NÚM. ele será considerado 2. Se decimais for negativo. Sem_sep_milhar é um valor lógico que. mas os decimais podem chegar a 127. Se você omitir decimais. se VERDADEIRO.NÚM. Comentários  Os números no Microsoft Excel não podem ter mais de 15 dígitos significativos.decimais.2 DEF. impede que DEF.DEC inclua vírgulas no texto retornado. o texto retornado incluirá vírgulas como padrão. Sintaxe DEF.sem_sep_milhar) Núm é o número que você deseja arredondar e converter em texto.DEC é que DEF.DEC converte o resultado em texto.DEC(núm.NÚM. Se sem_sep_milhar for FALSO ou omitido.

10. Comentários   Núm_caract deve ser maior ou igual a zero.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ê. DIREITA retornará todo o texto. Se núm_caract for omitido.DEC 2.Microsoft Excel – Estudo Avançado Função DEF.NÚM. Núm_caract especifica o número de caracteres a ser extraído por DIREITA. Sintaxe DIREITA(texto.  Exemplo Página 90 de 219 . será considerado 1. Se núm_caract for maior do que o comprimento do texto.núm_caract) Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja extrair.

 Exemplo Função ESQUERDA Página 91 de 219 . Núm_caract especifica o número de caracteres que você deseja que ESQUERDA extraia. Função DIREITA 2.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ê. será considerado 1. Núm_caract deve ser maior ou igual a zero. Se núm_caract for omitido.Microsoft Excel – Estudo Avançado .10.núm_caract) Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja extrair. ESQUERDA retornará todo o texto. Sintaxe ESQUERDA(texto.  Se núm_caract for maior do que o comprimento do texto.

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

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

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

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

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

A grande vantagem de gravarmos uma seqüência de comandos é que poderemos utiliza-la sempre que necessário. passos estes que podem ser automatizados através do uso de uma macro. Para implementar uma função que faz a verificação do DV do CPF. vamos supor que você precisasse fazer a verificação do CPF que é digitado em uma célula. Isso é feito usando o Editor de VBA. os comandos VBA é que serão efetivamente executados. veremos os comandos básicos da linguagem VBA. Por isso que. Com o uso de Macros temos um ganho de produtividade considerável. sempre que necessário. Página 98 de 219 .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. 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. conforme descrito anteriormente. Para isso basta executar a macro na qual foi gravada a seqüência de comandos. Quando a macro for executada.14. 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. As Macros são uma excelente opção para automatizar tarefas repetitivas.14 O que são Macros? Conforme descrito anteriormente. envolve uma série de operações aritméticas. conforme veremos a seguir. 2. Criar a Macro usando VBA: A partir do momento em que você domina a linguagem VBA. poderá criar a macro digitando os comandos VBA necessários. Por exemplo.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 cálculo do DV do CPF. ao evitar que tenhamos que executar manualmente. você terá que fazer uso de programação. os diversos passos de uma tarefa. o qual é de domínio público. 2.

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

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

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

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

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

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

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

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

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

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

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

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

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

podemos automatizar rotinas para importação e exportação de dados e assim por diante. por exemplo. formulários. consultas. tais como bancos de dados do Access. essa utilização não é capaz de solucionar o problema proposto. por mais que saibamos utilizar todos os recursos. envolvendo os diversos elementos do banco de dados (tabelas. O VBA vai além da simples automação de seqüências de ações. 2.para automatizar tarefas e rotinas repetitivas.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. Conforme veremos a partir de agora esta é uma linguagem. o VBA oferece maior poder e controle mais detalhado do que as ações de macro. podemos criar código que percorre todas as linhas de uma planilha. Na prática as ações de macro duplicam as operações que podemos realizar manualmente. ao mesmo tempo. podemos criar uma rotina em VBA em uma planilha do Excel. Nestas situações temos que utilizar programação. A mesma rotina além de acessar os dados pode Página 112 de 219 .usando menus e teclas de atalho. Porém existem situações em que. Com código VBA podemos criar uma rotina para validação do dígito verificador de uma célula de CPF. comandos e funções do Excel.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. macros e módulos).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. A linguagem de programação utilizada pelo Microsoft Excel é o VBA . Com o VBA temos acesso completo a todos os elementos de todos os objetos de uma planilha do Excel. Usamos o VBA pelo mesmo motivo que utilizamos macros . Por exemplo. Também temos acesso a elementos externos. extremamente simples e poderosa. Word. CNPJ ou de um campo NúmeroDoProcesso. alterando os valores de uma ou mais colunas. relatórios. folhas de dados. No entanto. 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. 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. Excel e PowerPoint). Esta rotina pode acessar dados em segunda planilha que está na rede. com base em uma ou mais condições.Visual Basic for Applications.

em relação as macros.txt ou bancos de dados do Microsoft Access. Também não é possível a resolução de problemas que envolvem uma lógica complexa. 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. teríamos dificuldades para fazer atualizações neste código. Aprenderemos a utilizar todas as estruturas de controle de fluxo e testes condicionais. Desta maneira precisamos criar uma única função. Chamamos de objeto qualquer elemento do Microsoft Excel.Microsoft Excel – Estudo Avançado fazer cálculos. passando o valor do CPF como parâmetro. 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. 2. Porém este procedimento não é o mais indicado. Quando forem necessárias alterações. mais adiante. simplesmente através da automação de comandos de teclado e mouse. uma faixa de células. etc. onde for necessária. Página 113 de 219 . 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. em cada planilha. vários planilhas podem conter um campo CPF ou CNPJ. A função calcula o DV e retorna o resultado para a planilha. 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. consolidações. por exemplo: uma planilha. ou seja. quer seja de outra pasta de trabalho na rede ou com outros formatos de dados. O VBA apresenta. Poderíamos criar. Este é apenas um pequeno exemplo do que pode ser feito como o VBA. Podemos criar funções que executam cálculos repetitivos. o código necessário para a validação do DV do CPF ou CNPJ. quer seja da pasta de trabalho atual. Por exemplo. como por exemplo cálculo do imposto de renda. um gráfico. pois cada alteração necessária terá que ser feita em vários locais. basta alterar a função (em um único local. 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. chamamos a função. etc. como por exemplo de arquivos . gerar os resultados no formato de uma planilha do Excel e salvar a planilha na rede.19. Manipulação de objetos : O VBA oferece métodos de criação e modificação dos objetos de uma planilha no Excel. Em cada planilha. recolhimentos de tributos. pois além da duplicação do código necessário a validação.1 Vantagens em utilizarmos o VBA Já utilizamos macros e aprendemos a automatizar algumas tarefas como a aplicação de formatos personalizados.

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

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

xls) carregado no Excel.21 VBA – Declaração de Variáveis Página 116 de 219 . na janela de baixo serão exibidas as propriedades de Plan1.16: 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. exibe as propriedades do elemento selecionado na janela Project.15– O Editor VBA. conforme indicado na Figura 5. Ao criarmos uma macro podemos criá-la em uma determinada planilha. na janela Project.16– Propriedades da Planilha.Microsoft Excel – Estudo Avançado Figura 5. ao selecionar Plan1. 2. Por exemplo. Aqui são exibidas as planilhas e módulos da pasta de trabalho (arquivo . Janela na parte de baixo: A janela abaixo da janela Project. Aprenderemos mais sobre funções e procedimentos nas próximas lições. 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.

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

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

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

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

23 Estrutura If.. Página 121 de 219 .Then e os Operadores de Comparação Comparando valores com os Operadores de comparação. * Subtração (3–1) ou Negação (–1). % Porcentagem (20%)..com. 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. a execução do código VBA pode seguir caminhos diferentes. nas estruturas de controle do código. Em determinadas situações. existe a necessidade de efetuarmos comparações entre os valores de duas ou mais variáveis ou expressões. / Divisão (3/3). Tabela 2. Normalmente utilizamos comparações. ^ Exponenciação (3^2). Com base no resultado da comparação œ Verdadeiro ou Falso -. 2. Multiplicação (3*3).br Declaração das variáveis. y. também conhecidas como laços de controle.1 – Operadores aritméticos.Microsoft Excel – Estudo Avançado Operador + Significado Adição (3+3). 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. Autor: Júlio Battisti Site: www.juliobattisti. Dim x.

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

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

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

y. fora do procedimento proc1 Aux1 = a + b MsgBox "aux1= " & Aux1 'Agora vamos criar um procedimento 'E declarar duas variáveis dentro deste procedimento. ” Variáveis declaradas nessa seção tem o escopo de módulo. Considere o seguinte trecho de código. ' Observe que a variável aux1 não é calculada ' corretamente. 'Estas variáveis somente serão visíveis. 'Dentro deste procedimento. Este procedimento deve ser definido no mesmo módulo. Ao encontrar esse comando o Excel desloca a execução para o procedimento proc1. Dim x. uma vez que os valores de a e b ' não estão disponíveis. caso contrário um erro será gerado. ” isto é.Microsoft Excel – Estudo Avançado à que chamou o procedimento. executa os comandos deste procedimento e após encerrar continua a execução a partir do comando seguinte ao comando Call. 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.aux1 As Integer Call proc1 ' Agora vamos tentar utilizar os valores de a e b ' Fora do procedimento proc1. dentro de um módulo VBA de uma planilha do Excel: ”Seção geral do módulo. Ao executar esse código será exibida a janela indicada na Figura a seguir: Página 125 de 219 . podem ser utilizadas em qualquer procedimento dentro do 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. Sub proc1() Dim a.

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

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

.. um número determinado de vezes. Utilizamos esta estrutura.25.. Do.. Para isso. pode ser que haja a necessidade de percorrer todos os registros de uma determinada tabela. utilizamos uma variável como contador. ou até que uma determinada condição torne-se verdadeira ou falsa. Caso não seja definido o incremento.Until 2. 2.. utilizamos as chamadas estruturas de repetição. até que o último registro seja alcançado. será utilizado o padrão 1. Neste tipo de estrutura...Next. a variável contador é incrementada pelo valor definido em incremento.2 A estrutura For. 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. um número específico de vezes.1 Estruturas de repetição. 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 .Next.25 Estruturas For. quando já sabemos o número de vezes que uma determinada seção de código deve ser repetida. Utilizamos o laço For.25. Este contador varia de um valor inicial até um valor final. Por exemplo.Next. normalmente.. Em cada passagem do laço. A partir de agora. ou Laços..Microsoft Excel – Estudo Avançado 2. Em determinadas situações. precisamos repetir um ou mais comandos.. aprenderemos as estruturas de repetição disponíveis.While e Do. para repetir um segmento de código.

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

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

e os comandos dentro do laço ficarão em execuçã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. se a condição for falsa já na primeira vez. quando for necessário. Considere o exemplo mostrado a seguir: Dim x x=10 Contador=11 Soma=0 ‘ O laço será executado uma única vez.Microsoft Excel – Estudo Avançado do laço. Neste caso. será executado. o laço será executado uma única vez. ou até o programa travar. pois caso contrário a condição será sempre verdadeira. devido a erros de programação. 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 . é uma causa comum de erros e travamentos. O Código dentro do laço deve ser capaz de alterar a condição para Falso. pois a condição ‘ Contador < x é falsa. infinitamente. A criação de laços infinitos.

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

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

pois x=10 e Contador=12 (Lembre que o Contador foi incrementado de uma unidade. Depois passaremos a analisar uma série de funções internas do VBA. e quando utilizar uma ao invés da outra. que retorna a data do sistema. Este tópico é de grande importância. Quando o laço é executado. como por exemplo a função Date(). na primeira passagem do laço). o laço será executado uma única vez. São funções que fazem parte do Microsoft Excel. pois o teste de condição está no final do laço. pois a condição ‘Contador >= x é verdadeira. Com isso. é atribuído o valor 11 para a variável Soma. Considere o exemplo a seguir: Dim x x=10 Contador=11 Soma=0 ‘O laço será executado uma única vez. aprenderemos a criar nossas próprias funções e Sub-rotinas. 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. A condição Contador>= x é 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. será 11. Página 134 de 219 . o valor exibido para a variável Soma. Neste caso. na linha 11.Microsoft Excel – Estudo Avançado Loop Until Contador > x MsgBox “Valor da Soma = “ & Soma Vamos modificar um pouco o nosso exemplo. Aprenderemos as diferenças entre uma Sub-rotina e uma função. principalmente quando criamos código que efetua cálculos. 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.

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

For i=0 to 6 mensagem = mensagem & "Dia: " & i+1 & " " & Dias(i)& chr(13) Next 'Utilizamos uma MsgBox. com o conteúdo 'Do Array Dias. e falso caso contrário. são do tipo Variant). ao ser executado. para exibir a mensagem 'com o conteúdo do Array Dias. está armazenando um Array.Next 'Para criar uma String. para determinar se uma variável do tipo Variant (lembre que todas as variáveis do VBA. produziria a seguinte saída: caixa com o resultado Utilizamos a função IsArray.Microsoft Excel – Estudo Avançado 'Indicamos o tamanho como 6. MsgBox mensagem Esse trecho de código. Utilizamos a seguinte sintaxe: IsArray(NomeDaVariável) A função IsArray retorna verdadeiro se a variável for um Array. 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. Página 136 de 219 ... o que significa 'da posição 0 até a posição 6 = 7 elementos.

para determinar o subtipo de uma variável.3 A função VarType. A função retorna um número inteiro que indica o subtipo da variável.: MsgBox IsArray(Dias) o resultado seria o indicado na Figura a seguir: resultado 2. Como todas as variáveis são do tipo Variant.26. Podemos utilizar a função VarType.Microsoft Excel – Estudo Avançado Vamos alterar um pouco o exemplo anterior. o subtipo pode ser utilizado para determinar o tipo de dado armazenado na variável. adicionando o seguinte comando. ao final da listagem. 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 . Passamos para a função. o nome de uma variável ou expressão. 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.

temos um exemplo de utilização da função VarType.456 y=123456789 a="Este é um valor de texto !" ‘tilizamos a função Date( ).z Dim a.y. b=Date() Página 138 de 219 x=12 . Dim x.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.1 – Retorno da função Vartype No exemplo a seguir. para capturar a data do sistema. b Dim c(20) Dim mensagem As String y=23. 17 Byte 8192 Array Tabela 2.

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

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

3 A função IsNull A função IsNull recebe uma variável ou expressão como argumento. utilizamos a seguinte sintaxe: NomeDaVariável = Null Uma variável com valor Null. com isso está vazia. caso contrário. foi atribuído o valor Null para a variável ou expressão. para a variável. não é a mesma coisa que uma variável com valor zero. ou uma variável de texto com tamanho zero. 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 . logo a função IsEmpty(x) irá retornar Verdadeiro. a função retorna Verdadeiro. porém sem nenhum valor definido. e atribuir ' Null. em algum momento.Microsoft Excel – Estudo Avançado MsgBox "A variável x. ' Vamos declarar uma variável x. 2. esta continua existindo na memória. Quando é atribuído o valor Null para a variável. Caso tenha sido atribuído o valor Null. retorna Falso.27. 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. não foi utilizada !" End If A variável x foi declarada porém não foi inicializada. e determina se.

para capturar a data do sistema. Dim x. ou possa ser convertido. 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. retorna Falso. e determina se o valor atribuído à variável ou expressão é 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. caso contrário.4 A função IsNumeric.Microsoft Excel – Estudo Avançado Resultado. ou pode ser convertido para numérico. Caso o valor seja numérico.27.y. e atribuir esta data à variável z.z x=123 'Atribuo um valor que não pode ser convertido 'para numérico y = "Riachuelo .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(). 2. a função retorna Verdadeiro. A função IsNumeric recebe uma variável ou expressão como argumento.

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

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

Se passarmos um argumento de texto para a função CCur.Microsoft Excel – Estudo Avançado Esta linha gera a mensagem indicada na Figura a seguir: Resultado. conforme indicado na Figura a seguir: Erro 2. O argumento desta função deve estar em um formato que seja aceitável para datas.28. 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. A expressão 250. caso contrário será gerada uma mensagem de erro. para o subtipo Date. será gerado um erro de execução.335677+324. 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 . em tempo de execução.3333 é calculada.

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

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

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

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

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

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

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

Considere o exemplo abaixo: MsgBox “Hora do Sistema: “ & Time( ) O resultado deste comando. Não precisamos passar parâmetros para esta função. Considere o exemplo abaixo: MsgBox “Data do Sistema: “ & Date() O resultado deste comando. 2.Resultado.2 Função Time Retorna a hora corrente do sistema.1 Função Date Retorna a data corrente do sistema.Microsoft Excel – Estudo Avançado A Figura a seguir mostra o resultado deste comando: Fgirua X. 2. está indicado na Figura a seguir: Resultado.X . 2.30.30. Não precisamos passar parâmetros para esta função. está indicado na Figura a seguir: Página 153 de 219 .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.

está indicado na Figura a seguir: Página 154 de 219 . O formato geral é o seguinte: Month(data) Considere o exemplo abaixo: MsgBox “Mês do ano: “ & Month(Date( )) O resultado deste comando. 2.4 Função Month Recebe como parâmetro uma data. indicando o dia do mês. e retorna um número entre 1 e 31. Resultado. 2. e retorna um número entre 1 e 12.Microsoft Excel – Estudo Avançado Resultado. indicando o mês do ano. O formato geral é o seguinte: Day(data) Considere o exemplo abaixo: MsgBox “Dia do mês: “ & Day(Date( )) O resultado deste comando. a qual por sua vez. retorna apenas o dia do mês. 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.3 Função Day Recebe como parâmetro uma data.30.30.

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

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

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 .

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.“22/04/1500“.“31/12/1999“) O resultado deste comando.1 – Comparados condicionais. pode ser conferido na Figura a seguir: Resultado. A título de exemplo. utilizaríamos o seguinte comando MsgBox “Meses desde o descobrimento: “ & DateDiff(“m“. até 31 de Dezembro de 1999. e calcular o número de horas desde o descobrimento. Vamos modificar um pouco o nosso exemplo. Página 158 de 219 .“22/04/1500“. desde o descobrimento do Brasil. Para isto. pode ser conferido na Figura a seguir: Resultado. Para isso.“31/12/1999“) O resultado deste comando. vamos calcular o número de meses. podemos utilizar o seguinte comando: MsgBox “Meses desde o descobrimento: “ & DateDiff(“h“.

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

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

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

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

Ao gravar código novo. Para proporcionar compatibilidade com versões anteriores.31. As principais alterações de recurso feitas no Visual Basic for Applications no Microsoft Excel XP estão listadas a seguir: 2. 2. os componentes substituídos foram deixados ocultos ao invés de serem removidos.90775527898214 Rnd*10 Gera um número aleatório entre 0 e 10 Sgn(-235) Retorna 1.2 Alguns matemáticas.71828182845905 Log(1000) Retorna 6.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. Nas lições do módulo anterior. 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.Microsoft Excel – Estudo Avançado 2. mas o código antigo que usa os componentes ocultos ainda funcionará corretamente sem modificação.1 ADO . exemplos de utilização das funções Abs(-2350) Retorna 2350 Atn(2) Retorna 1.1071487177 Cos(0) Retorna 1 Exp(1) Retorna 2. você deve usar apenas novos objetos. propriedades e métodos. entretanto.32.Activex Data Objects Página 163 de 219 . Isso significa que eles não aparecem no Pesquisador de objeto por padrão. tratamos sobre os fundamentos básicos do VBA.

criar uma planilha do Excel que acessa dados diretamente do Mainframe. você pode criar um código VBA que.3 Assinatura digital Fornece uma forma de determinar se o projeto do Visual Basic for Applications da pasta de trabalho foi assinada digitalmente. consulte o Módulo 3. É muito utilizado quando trabalhamos com planilhas e/ou aplicações criadas com o Excel. 2. Por exemplo. Para maiores detalhes sobre os recursos de Tabela Dinâmica e Gráfico Dinâmico.6 Microsoft Office E-mail Fornece capacidades integradas de correio eletrônico. 2.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. 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. tais como o Microsoft Access ou o SQL Server 2000.32.32.32. 2. 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.32. onde o quesito segurança e identificação é um fator fundamental. O ADO agora é o método de acesso de dados preferido no Excel. Nas versões anteriores utilizava-se um outro conjunto de objetos. Representa um rótulo de unidade em um eixo no gráfico especificado. 2.32. 2. Os rótulos de unidade são úteis para a criação de gráficos com valores altos – por exemplo.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). para um ou mais endereços eletrônicos. milhões ou bilhões. conhecido como DAO œ Data Access Objects. até mesmo. envie dados via email.Microsoft Excel – Estudo Avançado É um novo conjunto de objetos para acesso a fontes de dados externas. de dentro de uma planilha do Excel.2 Arquivo de texto e consultas da Web Fornece novas melhorias de importação de arquivo texto e consulta de página da Web. Você pode. Fornece uma interface de acesso direto a banco de dados. Página 164 de 219 .

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

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

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

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

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

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

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

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

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

é 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. Podemos passar um ou mais argumentos para uma Função.. a execução do código continua. A diferença da Função para a Sub-rotina. Quando uma Função é chamada.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. cada vez que for necessário exibir a data e a hora nos formatos do exemplo. utilizando um dos seguintes comandos: Call exibe_data_hora ou exibe_data_hora 2. argumento2.Microsoft Excel – Estudo Avançado es_nome=MonthName(mes_atual. simplesmente através da chamada do nome da Função. .. argumenton) As Tipo Comando1 Comando2 Página 174 de 219 .. a execução desloca-se para dentro da Função. com o comando seguinte ao que chamou a Função. basta chamar a Sub-rotina exibe_data_hora.33.4 Criando e utilizando Funções Uma Função é um grupo de comandos que podem ser executados. depois de executados todos os comandos dentro da Função.

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

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

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

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

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

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

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

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

. 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). do objeto Workbook.Name Next Inicialmente criamos duas variáveis.Each. A cada passagem da estrutura For.Each para percorrer todos os elementos da coleção Workbooks. 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. xistem dezenas de métodos e propriedades do objeto Workbook e da coleção Workbooks. Você encontra exemplos de cada método e propriedade na Ajuda do Página 183 de 219 .Workbooks For Each pasta In pastas MsgBox "Nome da planilha: " & pasta.Microsoft Excel – Estudo Avançado Dim pasta As Workbook Set pastas = Application.. Em seguida usamos uma estrutura do tipo For. exibimos o nome da respectiva pasta... Isso é feito usando a propriedade Name.

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

Workbooks Depois associamos a variável pasta com a primeira planilha. conforme indicado a seguir: pasta.Name pasta. usamos a coleção Worksheets.Name = "Débitos" MsgBox "Novo nome da planilha: " & pasta. 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. Nessa caso.Name Agora usamos a propriedade Name para renomear a primeira planilha.Name Vamos supor que você execute esse código quando o nome da primeira planilha é Plan1.Name = "Débitos" Página 185 de 219 .Worksheets(1) MsgBox "Nome atual da planilha: " & pasta. o que no nosso exemplo é feito com o comando a seguir: MsgBox "Nome atual da planilha: " & pasta. do objeto Application. da pasta de trabalho atual.Workbooks Set pasta = Application.Worksheets(1) O próximo passo é exibir o nome atual da primeria planilha. conforme indicado a seguir: Set pasta = Application.Microsoft Excel – Estudo Avançado Dim pasta As Worksheet Set pastas = Application. Nesse momento.

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

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

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

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

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

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

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

Pode ser uma das seguintes constantes     xlCalculation xlCalculationAutomatic xlCalculationManual xlCalculationSemiautomatic. Worksheets("Plan1").Range("A3").Range("A3"). define o campo base com o campo chamado "ORDER_DATE" e define o item base com o item chamado "5/16/89". Somente leitura. Se você não especificar um qualificador de objeto.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. MsgBox "O nome da planilha ativa é: " & ActiveSheet.Calculation = xlCalculateManual Application.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. Retorna Nothing se não houver planilha ativa.38.Name 2. Exemplo da propriedade ActiveSheet: Este exemplo exibe o nome da planilha ativa.PivotField . Se uma pasta de trabalho aparece em mais de uma janela. Página 193 de 219 . Exemplo da propriedade Calculation: Este exemplo faz o Microsoft Excel calcular pastas de trabalho antes de elas serem salvas em disco. Application. a propriedade ActiveSheet poderá ser diferente em janelas diferentes.PivotField.BaseField = "ORDER_DATE" Worksheets("Plan1").4 Propriedade Calculation Essa propriedade Retorna ou define o modo de cálculo. essa propriedade retornará a planilha ativa da pasta de trabalho ativa.Calculation = xlDifferenceFrom Worksheets("Plan1").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.Range("A3").

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

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

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

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

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

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

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

Página 204 de 219 . O objeto DefaultWebOptions contém propriedades que afetam todo o aplicativo. 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).Microsoft Excel – Estudo Avançado objeto WebOptions.

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

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

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

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

W orkbooks("Book1").G9:H16") Range("A:A") Range("1:1") Range("A:C") Range("1:5") Range("1:1.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. Essa propriedade retorna um objeto Range representando uma única célula. 1).Value = counter Página 212 de 219 .C:C.Microsoft Excel – Estudo Avançado Worksheet e Range – Propriedades e Métodos – Parte I Nessa lição e nas próximas duas. Um objeto Range no VBA pode ser uma única célula ou um intervalo de células. a propriedade Value é definida como 10.3:3. 3 e 8 Colunas A. Os tópicos seguintes mostram as maneiras mais comuns de identificar e trabalhar com objetos Range. Geralmente. 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.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.1) retorna a célula A6 da planilha Sheet1. Em seguida. No exemplo seguinte. Também serão apresentados detalhes sobre alguns dos principais métodos e propriedades desses objetos.Cells(6.Font. Cells(6. fazer algo com elas. Dim counter As Integer For counter = 1 To 20 Worksheets("Sheet1"). Worksheets("Sheet1").Range("A1:D5"). 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. 3). em seguida. você pode fazer isso em uma instrução que identifique o intervalo e também altere uma propriedade ou aplique um método. como inserir uma fórmula ou alterar o formato. 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. O exemplo seguinte altera o formato das células A1:D5 para negrito. veremos alguns exemplos de usos práticos do objeto W orksheet e de Range. conforme mostrado no exemplo seguinte.Sheets("Sheet1").Bold = True A tabela seguinte ilustra algumas referências em estilo A1 usando o método Range.8:8") Range("A:A. Referência Range("A1") Range("A1:B5") Range("C5:D9.Cells(counter.

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

a cor da célula será alterada para amarelo. o qual ativa a pasta de trabalho e a planilha e. seleciona o intervalo. Dim counter As Integer Página 214 de 219 .Value > limit Then c. ActiveCell. No menu Ferramentas. Application.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. use o método GoTo. No exemplo seguinte. 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.Goto Reference:="MyBook.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.. A variável counter é usada como índice de linha para a propriedade Cells. em seguida.Offset(1.Interior.Underline = xlDouble Observação: Você pode gravar macros que usem a propriedade Offset em vez d e referências absolutas.Font. aponte para Gravar macro e. 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. em seguida. 3).Goto Reference:="MyRange" Selection.xls!MyRange" Selection.ClearContents O exemplo seguinte mostra como o mesmo procedimento seria escrito para a pasta de trabalho ativa. use uma variável com a propriedade Cells em um loop. O exemplo seguinte preenche as 20 primeiras células da terceira coluna com valores entre 5 e 100.Microsoft Excel – Estudo Avançado Para selecionar um intervalo nomeado.. clique em Usar referências relativas. Para fazer um loop através de um intervalo de células. Application. Se o valor de qualquer célula do intervalo exceder o valor de limit. incrementados por 5. Const limit As Integer = 25 For Each c In Range("MyRange") If c.Next.

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful