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

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

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

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

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

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

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

Página 11 de 219 . No menu suspenso que surgirá selecione o comando Opções. Opções de assistente Desmarque a opção Usar o ‘Assistente do Office’ e clique no botão OK.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.

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

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

Microsoft Excel – Estudo Avançado Assistente de resposta 1. Ajuda por índice.3 Índice Através da guia índice temos a possibilidade de pesquisar recursos do software em uma lista de palavras-chaves. 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).3. Página 14 de 219 .

Por exemplo. / Divisão (3/3). Página 15 de 219 . referências.1. =5+2*3 Uma fórmula também pode conter quaisquer dos seguintes itens: funções. subtração ou multiplicação. referenciar outras células e planilhas além de identificar os possíveis erros exibidos em cálculos. * Subtração (3–1) ou Negação (–1). ^ Exponenciação (3^2). como adição. Multiplicação (3*3).1 Operadores aritméticos Para efetuar operações matemáticas básicas.1 – Operadores aritméticos. utilize os operadores aritméticos.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.1 Fórmulas Fórmulas são equações que executam cálculos sobre valores na planilha. Tabela 2. 2. % Porcentagem (20%). Uma fórmula inicia com um sinal de igual (=). Neste capítulo vamos aprender a criar formulas. 2. Operador Significado + Adição (3+3). combinar números e produzir resultados numéricos. a fórmula a seguir multiplica 2 por 3 e depois adiciona 5 ao resultado. 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]Plan2'!B1:B10) Intervalo de células Separa a referência da planilha do intervalo.Microsoft Excel – Estudo Avançado = Média( Plan2 ! B1:B10) Intervalo de células Separa a referência da planilha do intervalo. Automaticamente intervalo selecionado será transcrito para sua fórmula.3 Referência a outro arquivo do Excel No exemplo a seguir. Página 20 de 219 .xls gravado na pasta c:\arquivos. Identifica a planilha pelo nome Observe que o nome da planilha e um ponto de exclamação (!) precedem a referência de intervalo.2. O ponto de exclamação é obrigatório após o nome da planilha.  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. Identifica a planilha e o arquivo de origem pelo nome. 2. a função de planilha MÉDIA calcula o valor médio do intervalo B1:B10 na planilha denominada Plan2 no arquivo contas. =MÉDIA('C:\arquivos\[contas.

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

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

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

ou clique sobre a mesma. O excel estará neste momento criando a fórmula. Referênciando C3 Pressione Enter. Iniciando a fóruma Digite a referência relatativa à célula C2 ou clique sobre a célula. 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. Referenciando C2 Insira o operador de multiplicação ( * ) e digite a referência à célula C3. Clique na célula C4 e digite o sinal de igual ( = ).Microsoft Excel – Estudo Avançado Exemplo proposto Vamos criar esta fórmula utilizando a referência relativa.

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

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

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

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

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

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

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

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

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

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

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

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

Microsoft Excel – Estudo Avançado

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

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

Página 37 de 219

Microsoft Excel – Estudo Avançado

Função ESCOLHER

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

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

Microsoft Excel – Estudo Avançado

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

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

2.5.10

INDIRETO

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

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

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

Microsoft Excel – Estudo Avançado

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

Exemplo

- Função INDIRETO

2.5.11

ÍNDICE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. Página 64 de 219 .  Se o método for Verdadeiro. o resultado será formatado como uma data. 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.448 dias após 1° de janeiro de 1900. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39.7 HOJE Retorna o número de série da data atual. ou seja.Microsoft Excel – Estudo Avançado primeiro do próximo mês.448 dias após 1° de janeiro de 1900. Se o formato da célula era Geral antes de a função ser inserida. 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. Caso contrário. Por padrão. Exemplo Função DIA360 2. Por padrão. a data final se tornará igual ao trigésimo dia do mesmo mês. 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.7.

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

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

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

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

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

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

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

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

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

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

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

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

Comentários Se a matriz estiver vazia. Comentários Página 77 de 219 .1) retornará o maior valor e MAIOR(matriz. MAIOR retornará o valor de erro #NÚM!. Se n for o número de pontos de dados em um intervalo.Microsoft Excel – Estudo Avançado Matriz é a matriz ou intervalo de dados cujo maior valor k-ésimo você deseja determinar.. 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. MAIOR retornará o valor de erro #NÚM!.9.. MAIOR(matriz. Se k ≤ 0 ou se k for maior que o número de pontos de dados...) Núm1. Exemplo Função MAIOR 2. núm2.n) retornará o menor valor. .. Sintaxe MÁXIMO(núm1. K é a posição (do maior) na matriz ou intervalo de célula de dados a ser fornecida.

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

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

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

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

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

Se k ≤ 0 ou k exceder o número de pontos de dados.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. K é a posição (a partir do menor) na matriz ou intervalo de dados a ser fornecido.1) será igual ao menor valor. MENOR retornará o valor de erro #NÚM!. MENOR(matriz. Use esta função para retornar valores com uma posição específica relativa em um conjunto de dados.  Exemplo Página 83 de 219 . Comentários   Se matriz estiver vazia. Sintaxe MENOR(matriz. MENOR retornará o valor de erro #NÚM!.n) será igual ao maior valor. Se n for o número de pontos de dados em matriz.k) Matriz é uma matriz ou intervalo de dados numéricos cujo menor valor k-ésimo você deseja determinar. e MENOR(matriz.

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

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

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

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

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

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

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

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

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

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

Exemplo Função LOCALIZAR Página 94 de 219 . o valor de erro #VALOR! será retornado.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.

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

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

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

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

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

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

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

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

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

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

Microsoft Excel – Estudo Avançado Será aberto o editor do VBA. Será exibida a janela Macro. O Excel emite um aviso solicitando que você confirme a exclusão. 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. conforme indicado na Figura 5. Em seguida é só fechar o Editor de VBA. 2. Clique na macro a ser excluída para selecioná-la.6 – Renomeando uma Macro.2 Excluindo uma macro Abra o arquivo onde está a macro a ser excluída. conforme destacado na Figura 5. Clique no botão Excluir. Selecione o comando Ferramentas -> Macro -> Macros.6: Figura 5.7: Página 105 de 219 .16.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.Offset(3. Worksheets("Plan1").. 1).Microsoft Excel – Estudo Avançado intervalo. colIndex) . myMultiAreaRange As Range Worksheets("Plan1").Cells(rwIndex. r2 As Range.Font.Select Vamos apresentar mais alguns exemplos do uso da propriedade Cells.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.Activate Set r1 = Range("A1:B2") Set r2 = Range("C3:D4") Set myMultiAreaRange = Union(r1.) para retornar intervalos de várias áreas – isto é.Cells(1). O exemplo seguinte cria um objeto definido como a união de intervalos A1:B2 e C3:D4 e.Cells(5. Cells(5. Você não pode selecionar uma célula que não esteja na planilha ativa.Cells(rwIndex.Selec Método Union: Use Union(intervalo1. Worksheets("Plan1").001.Size = 14 Este exemplo limpa a fórmula na célula um da planilha Plan1: Worksheets("Plan1").001 Then Worksheets("Plan1"). 1).Activate Range(Cells(1. a qual é a propriedade mais utilizada do objeto Range.Value < . 3)). Dim r1 As Range. seleciona o intervalo definido. . intervalos compostos de dois ou mais blocos contíguos de células. Este exemplo define o tamanho da fonte para a célula C5 de planilha Plan1 como 14 pontos.Range("A1").Italic = True Página 190 de 219 . em seguida. Se uma célula contiver um valor menor que 0.ClearContents Este exemplo percorre as células A1:J4 da planilha Plan1. o exemplo substituirá esse valor por 0 (zero). r2) myMultiAreaRange. 3). Worksheets("Plan1"). portanto. For rwIndex = 1 to 4 For colIndex = 1 to 10 If Worksheets("Plan1").Font. você precisa ativar primeiro a planilha. intervalo2.Activate t Selection. colIndex). 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(n + 1. essa propriedade somente pode ser usada para fazer referência ao Workbook atualmente carregado e não para definir o Workbook ativo. Set r = Range("myRange") For n = 1 To r. ou seja.Cells(n + 1.Rows. use código tal como o seguinte para ativar uma folha de caixa de diálogo armazenada em sua pasta de trabalho do suplemento. Você não pode usá-la para acessar uma pasta de trabalho a partir de um outro aplicativo.Cells(n. 1).Show Essa propriedade só pode ser usada de dentro do Microsoft Excel. Alterações na pasta de trabalho. como por exemplo o Microsoft Access.Microsoft Excel – Estudo Avançado Este exemplo varre uma coluna de dados chamada "myRange". não são salvas. o exemplo exibirá o endereço da célula que contém os dados duplicados.DialogSheets(1). 2.Count If r.Address End If Next n Existem dezenas de métodos e propriedades do objeto Range. É do tipo Somente leitura.Close SaveChanges:=False Página 191 de 219 . ThisWorkbook. 1) Then MsgBox "Dados duplicados em: " & r. Esse estudo seguirá na Próxima lição.38 O Objeto Application – Propriedades e Métodos – Parte I Vamos iniciar o estudo das principais propriedades do objeto Application. ThisWorkbook. Você encontra exemplos de cada método e propriedade na Ajuda do Excel. Use essa propriedade para referir-se à pasta de trabalho que contém o código de sua macro. No curso de Programação VBA e Criação de Aplicativos como Excel. 1) = r. O exemplo a seguir fecha a pasta de trabalho que contém o código de exemplo. Se uma célula tiver o mesmo valor que a célula imediatamente acima.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. estudaremos mais o objeto Range. Por exemplo.38. caso existam. 2.

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

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

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

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

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

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

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

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

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

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). Página 204 de 219 .Microsoft Excel – Estudo Avançado objeto WebOptions.

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

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

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

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

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

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

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

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

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

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

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. como no exemplo seguinte. Por exemplo. Só pode haver uma célula ativa.Bold = True O exemplo seguinte realiza a mesma tarefa sem ativar nem selecionar a planilha ou as células.Select Selection.Select Range("B2").Range("A1:B1").Activate Range("A1:D4"). Você pode aplicar qualquer das propriedades ou métodos de um objeto Range à célula ativa.Select ActiveCell. Se você executar o seu procedimento Sub a partir do módulo. mesmo quando um intervalo de células é selecionado.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.Font.Bold = True 2.Range("B1") = "Address" Worksheets("Sheet1").Range("A1") = "Name" Worksheets("Sheet1"). esteja ciente de que Select só funciona na planilha ativa. O exemplo seguinte seleciona um intervalo e. Worksheets("Sheet1").Rows(1).40.Copy Worksheets("Sheet2").Select Worksheets("Sheet2"). Worksheets("Sheet1").Paste 2.Select Worksheets("Sheet2").FormulaR1C1 = "Address" Range("A1:B1").2 Selecionar células na planilha ativa Se você usa o método Select para selecionar células. Worksheets("Sheet1").Microsoft Excel – Estudo avançado Range("B1").Rows(1).Activate Página 218 .Activate 2. o exemplo seguinte copia uma linha de Sheet1 para Sheet2 na pasta de trabalho ativa.40.40. Worksheets("Sheet1").Font.4 Trabalhar com a célula ativa A propriedade ActiveCell retorna um objeto Range representando a célula que está 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. 2.40.Style = "Currency" Página 219 . o exemplo seguinte torna B5 a célula ativa e. use o método Select. Worksheets("Sheet1"). em seguida. Em seguida.Microsoft Excel – Estudo avançado ActiveCell.Range("B5").Activate Range("A1:D10"). use o método Activate.Font. Worksheets("Sheet1"). move a célula ativa uma célula para a direita sem alterar a seleção.Activate 2. em seguida. Você pode usar a propriedade Offset para mover a célula ativa. que contenham dados.Bold = True Observação: Para selecionar um intervalo de células.Activate Worksheets("Sheet1"). Para tornar uma única célula a célula ativa.Activate ActiveCell.Activate ActiveCell. esse intervalo é formatado com o formato Currency.Value = 35 Observação: Você só pode trabalhar com a célula ativa quando a planilha na qual ela se encontra é a planilha ativa. O exemplo seguinte insere texto na célula ativa do intervalo selecionado e.Select ActiveCell. No exemplo seguinte.40.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.Value = "Monthly Totals" ActiveCell.CurrentRegion.Select Selection.Offset(0. a seleção é expandida para incluir as células adjacentes à célula ativa. 1). Por exemplo. Worksheets("Sheet1"). a formata com negrito.

Sign up to vote on this title
UsefulNot useful