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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Iniciando a fóruma Digite a referência relatativa à célula C2 ou clique sobre a célula. O cálculo será exibido na célula e a fóruma na barra de fórmula. Referênciando C3 Pressione Enter. O excel estará neste momento criando a fórmula. Resultado da fóruma Criando uma fórmula utilizando funções Página 24 de 219 . 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. Referenciando C2 Insira o operador de multiplicação ( * ) e digite a referência à célula C3. ou clique sobre a mesma.

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

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

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

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

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

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

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

uma fórmula de matriz ou uma referência a um intervalo de células cujo número de colunas você deseja obter.4 COLS Retorna o número de colunas em uma matriz ou referência.tipo_correspondência) Valor_procurado tabela. Exemplo Função COLS 2.Microsoft Excel – Estudo Avançado Função COL 2.matriz_procurada. Sintaxe COLS(matriz) Matriz é uma matriz.5. Por exemplo. 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. 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 CORRESP(valor_procurado.5.  é o valor utilizado para localizar o valor desejado em uma Valor_procurado é o valor que você deseja coincidir com matriz_procurada.

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

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

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

Linha absoluta..8 ESCOLHER Use ESCOLHER para selecionar um valor entre 29 valores que se baseie no número de índice. o nome da planilha não será utilizado. se do valor1 até o valor7 forem os números da semana. Relativa A1 é um valor lógico que especifica o estilo de referência A1 ou L1C1. se for FALSO. ENDEREÇO retornará uma referência em estilo L1C1.) Página 36 de 219 . Se A1 for VERDADEIRO ou omitido. ENDEREÇO retornará uma referência em estilo A1.5. Exemplo função Endereço 2. Sintaxe ESCOLHER(núm_índice. Núm_col é o número da coluna a ser utilizado na referência da célula. Texto_planilha é o texto que especifica o nome da planilha a ser usada como referência externa.valor1. Por exemplo. Couna absoluta. Núm_abs especifica o tipo de referência a ser retornado. Núm_abs 1 ou omitido 2 3 4 Descrição Absoluta. linha relativa. ESCOLHER retorna um dos dias quando um número entre 1 e 7 for usado como núm_índice. Se texto_planilha for omitido.. coluna relativa.valor2..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á a matriz de valores referente à coluna ou linha inteira. ÍNDICE retornará o valor de erro #REF!.5. 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.12 LIN Retorna o número da linha de uma referência. respectivamente. caso contrário. Sintaxe LIN(ref) Ref é a célula ou intervalo de células cujo número da linha você deseja obter. pressione CTRL+SHIFT+ENTER. Se você definir núm_linha ou núm_coluna como 0 (zero).  Se ref for omitido. Para usar valores retornados como uma matriz. será equivalente à referência da célula na qual a função LIN aparecer. Para inserir uma fórmula de matriz. Exemplo Função Índice 2. LIN retornará os números de linha de referência como uma matriz vertical. Página 41 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.   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.Microsoft Excel – Estudo Avançado Comentários  Se os argumentos núm_linha e núm_coluna forem usados.

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

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

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

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

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

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

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

Comentários Página 49 de 219 . Npera é o número de períodos compostos por ano.Microsoft Excel – Estudo Avançado Exemplo Função MITR 2. 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?. Sintaxe NOMINAL(taxa_efet. instale e carregue o suplemento Ferramentas de análise.6.7 NOMINAL Retorna a taxa de juros anual nominal.npera) Taxa_efet é a taxa de juros efetiva.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

por exemplo. 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39.9 VALOR TEMPO Retorna o número decimal da hora representada por uma seqüência de caracteres de texto.99999999 e que representa as horas entre 0:00:00 (12:00:00 AM) e 23:59:59 (11:59:59 PM). O número decimal é um valor que varia de 0 a 0. 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. as seqüências de caracteres de texto entre aspas "6:45 PM" e "18:45" representam hora. Sintaxe MÊS(núm_série) Núm_série é a data do mês que você está tentando encontrar. variando de 1 (janeiro) a 12 (dezembro). Por padrão. use DATA(2008. Comentários Página 65 de 219 . Por exemplo.448 dias após 1° de janeiro de 1900.Microsoft Excel – Estudo Avançado 2.8 MÊS Retorna o mês de uma data representado por um número de série. Exemplo Função Hoje 2.7. O mês é fornecido como um inteiro.23) para 23 de maio de 2008.TEMPO(texto_hora) Texto_hora é uma seqüência de caracteres de texto que representa uma hora em qualquer um dos formatos de hora do Microsoft Excel.5. Sintaxe VALOR.7.

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

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

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

5 VERDADEIRO Retorna o valor lógico VERDADEIRO.) Valor1..NÚM(valor1. Sintaxe VERDADEIRO( ) Comentários Você pode inserir o valor VERDADEIRO diretamente nas células e fórmulas sem usar esta função. 2.. Sintaxe CONT..NÚM Conta quantas células contêm números e também os números na lista de argumentos. A função VERDADEIRO é fornecida primeiramente para compatibilidade com outros programas de planilha.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.. . Use CONT. 2.Microsoft Excel – Estudo Avançado Função OU 2.valor2. mas somente os números são contados.1 CONT. 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.9. valor2. são argumentos de 1 a 30 que contêm ou se referem a uma variedade de diferentes tipos de dados.8..

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. Exemplo Função LOCALIZAR Página 94 de 219 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. A variável não contém dados válidos.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Microsoft Excel – Estudo Avançado

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

2.39.7

Propriedade Item (coleção Workbooks)

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

2.39.8

Propriedade Parent

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

Página 208 de 219

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

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

Página 209 de 219

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

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

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

Página 210 de 219

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

Workbooks.Open

"ANALYSIS.XLS"

ActiveWorkbook.RunAutoMacros xlAutoOpen

Página 211 de 219

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful