Você está na página 1de 68

Microsoft Excel Avanado Com VBA

Pgina 1 Ednis P. Rocha

A ordem na qual o Microsoft Excel efetua operaes em frmulas........................................................ 4 Operadores.............................................................................................................................................. 4 Tipos de critrios de comparao ........................................................................................................... 5 Uma seqncia de caracteres ............................................................................................................. 5 Caracteres curinga .............................................................................................................................. 5 Valores dentro de limites especificados .............................................................................................. 6 Como o Microsoft Excel converte valores em frmulas .......................................................................... 6 Solucionar problemas de valores de erro e frmulas.............................................................................. 7 O que significa o erro #####?.............................................................................................................. 7 O que significa o erro #VALOR!? ........................................................................................................ 7 O que significa o erro #DIV/0!?............................................................................................................ 8 O que significa o erro #NOME??......................................................................................................... 8 O que significa o erro #N/D? ............................................................................................................... 9 O que significa o erro #REF!? ........................................................................................................... 10 O que significa o erro #NM!? .......................................................................................................... 10 O que significa o erro #NULO!?......................................................................................................... 10 Solucionar problemas de erros em frmulas ........................................................................................ 10 SE.......................................................................................................................................................... 12 VERDADEIRO....................................................................................................................................... 13 FALSO................................................................................................................................................... 13 E ............................................................................................................................................................ 13 OU ......................................................................................................................................................... 14 NO....................................................................................................................................................... 15 Exemplos de frmulas comuns ............................................................................................................. 16 Referncias de clula e intervalo .......................................................................................................... 16 Referncias L1C1 .............................................................................................................................. 17 A diferena entre referncias relativas e absolutas .......................................................................... 18 Rtulos e nomes em frmulas ........................................................................................................... 18 Sobre o uso de rtulos mltiplos em frmulas .................................................................................. 19 Diretrizes para usar referncias 3-D.................................................................................................. 19 O que acontece a uma referncia 3-D quando voc move, copia, insere ou exclui planilhas?........ 19 Funes................................................................................................................................................. 21 Uso de funes para calcular valores ............................................................................................... 21 Vrias funes dentro de funes, ou aninhamento ......................................................................... 21 Banco de dados .................................................................................................................................... 22 Diretrizes para criar uma lista em uma planilha ................................................................................ 23 Tamanho e Localizao da Lista ....................................................................................................... 24 Rtulos de Coluna ............................................................................................................................. 24 Contedo das Linhas e Colunas........................................................................................................ 24 Exemplos de critrios de filtro avanado........................................................................................... 24 Trs ou mais condies em uma nica coluna ................................................................................. 24 Critrios de duas ou mais colunas .................................................................................................... 24 Condies criadas como resultado de uma frmula ......................................................................... 25 Trabalhando com Banco de Dados....................................................................................................... 26 Primeiro mtodo ................................................................................................................................ 26 Segundo mtodo ............................................................................................................................... 27 Trabalhando com filtros avanados ...................................................................................................... 28 Trabalhando com subtotais ................................................................................................................... 28 Tabela Dinmica ................................................................................................................................... 29 Funo Procv ........................................................................................................................................ 35 Solver .................................................................................................................................................... 37 Atingir Meta ........................................................................................................................................... 40 Data e Hora ........................................................................................................................................... 41 Funes Definidas pelo usurio ............................................................................................................ 44 Procedimento Function...................................................................................................................... 44 Instruo If...Then...Else.................................................................................................................... 44 Utilizando instrues If...Then...Else ................................................................................................. 45 Instruo For...Next............................................................................................................................... 46 Utilizando instrues For Each...Next ................................................................................................... 49 Executando um loop em um intervalo de clulas .............................................................................. 49 Saindo de um loop For Each...Next antes que ele tenha terminado................................................. 49 Pgina 2 Ednis P. Rocha

Objeto Workbook................................................................................................................................... 51 Propriedade Workbooks .................................................................................................................... 51 Propriedade ActiveWorkbook ............................................................................................................ 51 Objeto Worksheet.................................................................................................................................. 52 Propriedade Worksheets ................................................................................................................... 52 Propriedade ActiveSheet ................................................................................................................... 52 Objeto Range ........................................................................................................................................ 53 Propriedade Range............................................................................................................................ 53 Propriedade Cells .............................................................................................................................. 53 Range e Cells .................................................................................................................................... 54 Propriedade Offset............................................................................................................................. 54 Mtodo Union .................................................................................................................................... 54 Mtodo InputBox ................................................................................................................................... 56 Funo MsgBox..................................................................................................................................... 58 Como fazer referncia a clulas e intervalos ........................................................................................ 59 Referindo-se a clulas e intervalos usando notao A1 ................................................................... 60 Referindo-se a clulas usando nmeros de ndice ........................................................................... 60 Referir-se a linhas e colunas ............................................................................................................. 61 Referindo-se a clulas usando notao de atalho ............................................................................ 61 Referindo-se a intervalos nomeados................................................................................................. 61 Referindo-se a um intervalo nomeado .............................................................................................. 61 Loop atravs de clulas em um intervalo nomeado .......................................................................... 62 Referindo-se a clulas em relao a outras clulas.......................................................................... 62 Referindo-se a clulas usando um objeto Range.............................................................................. 63 Referindo-se a todas as clulas da planilha...................................................................................... 63 Referindo-se a vrios intervalos ........................................................................................................ 63 Usar a propriedade Range ................................................................................................................ 63 Usar o mtodo Union......................................................................................................................... 63 Usar a propriedade Areas.................................................................................................................. 64 Exemplos............................................................................................................................................... 65 Personalizar cdigos de formato de hora, nmero e data .................................................................... 67 Formatar datas e horas ..................................................................................................................... 67 Formatar texto e espaamento.......................................................................................................... 68

Pgina 3 Ednis P. Rocha

A ordem na qual o Microsoft Excel efetua operaes em frmulas


Se voc combinar diversos operadores em uma nica frmula, o Microsoft Excel efetuar as operaes na ordem mostrada na tabela a seguir. Se uma frmula contiver operadores com a mesma precedncia por exemplo, se uma frmula contiver um operador de multiplicao e diviso o Microsoft Excel avaliar os operadores da esquerda para a direita. Para alterar a ordem de avaliao, coloque a parte da frmula a ser calculada primeiro entre parnteses.

Operadores
Operador : (dois-pontos); (ponto-e-vrgula) (espao simples) % ^ *e/ +e & (concatenao) = < > <= >= <> Operadores de clculos em frmulas Os operadores especificam o tipo de clculo que voc deseja efetuar nos elementos de uma frmula. O Microsoft Excel inclui quatro tipos diferentes de operadores de clculo: aritmticos, de comparao, texto e referncia. Os operadores aritmticos efetuam operaes matemticas bsicas, como adio, subtrao ou multiplicao, combinam nmeros e produzem resultados numricos. Significado Adio Subtrao Negao Multiplicao Diviso Percentagem Exponenciao Exemplo 3+3 31 1 3*3 3/3 20% 3^2 (igual a 3*3) Descrio Operadores de referncia Negao (como em 1) Percentagem Exponenciao Multiplicao e diviso Adio e subtrao Conecta duas seqncias de texto Comparao

Operador aritmtico + (sinal de adio) (sinal de subtrao) * (sinal de multiplicao) / (sinal de diviso) % (smbolo de percentagem) ^ (sinal de exponenciao)

Os operadores de comparao comparam dois valores e produzem o valor lgico VERDADEIRO ou FALSO. Operador de comparao = (sinal de igual) > (sinal de maior do que) < (sinal de menor do que) >= (sinal de maior ou igual a) <= (sinal de menor ou igual a) <> (sinal de diferente) Significado Igual a Maior do que Menor do que Maior ou igual a Menor ou igual a Diferente Pgina 4 Ednis P. Rocha Exemplo A1=B1 A1>B1 A1<B1 A1>=B1 A1<=B1 A1<>B1

O operador de texto "&" combina um ou mais valores de texto para produzir um nico texto. Operador de texto & (E comercial) Significado Conecta ou concatena dois valores para produzir um valor de texto contnuo Exemplo "north" & "wind" produz "Northwind"

Os operadores de referncia combinam intervalos1 de clulas para clculos. Operador de referncia : (dois-pontos) ; (ponto-e-vrgula) (espao simples) Significado Operador de intervalo, que produz uma referncia a todas as clulas entre duas referncias, incluindo as duas referncias Operador de unio, que combina diversas referncias em uma referncia Operador de interseo, que produz uma referncia a clulas comuns a duas referncias. Neste exemplo, a clula B7 comum aos dois intervalos. Exemplo B5:B15 SOMA(B5:B15;D5:D15) SOMA(B5:B15 A7:D7)

Tipos de critrios2 de comparao


Voc pode usar os seguintes tipos de critrios de comparao em um intervalo de critrios, com um filtro avanado ou um filtro personalizado. Uma seqncia de caracteres Para localizar linhas em uma lista3 que contenham um valor exato, digite o texto, nmero, data ou valor lgico na clula abaixo do rtulo de critrios. Por exemplo, se voc digita 98133-000 embaixo de um rtulo de Cdigo Postal no intervalo de critrios, o Microsoft Excel exibe somente as linhas que contm o valor de cdigo postal "98133-000". Quando voc usa texto como critrio com um filtro avanado, o Microsoft Excel localiza todos os itens que comeam com aquele texto. Por exemplo, se voc digita o texto Ama como um critrio, o Microsoft Excel localiza "Amaral" e "Amado". Para corresponder somente o texto especificado, digite a seguinte frmula, onde texto o texto que voc deseja localizar. =''=texto'' Caracteres curinga Para localizar valores de texto que compartilhem alguns caracteres mas no outros, use um caractere curinga. Um caractere curinga representa um ou mais caracteres no-especificados. Para localizar
1 2

Use

Exemplo

intervalo - Duas ou mais clulas em uma planilha. As clulas em um intervalo podem ser adjacentes ou no-adjacentes.

critrios - Uma ou mais condies que voc especifica para limitar os registros includos no conjunto de resultados de uma consulta. Por exemplo, os critrio abaixo seleciona registros para os quais o valor Montante do Pedido maior que 30.000: Montante do pedido > 30000

lista - Uma seqncia de linhas de planilha que contm dados relacionados como, por exemplo um banco de dados de pedidos ou um conjunto de nomes de clientes e nmeros de telefone. Uma lista pode ser usada como um banco de dados em que as linhas so registros e as colunas so campos. A primeira linha da lista contm rtulos para colunas.

Pgina 5 Ednis P. Rocha

Qualquer caractere nico na mesma posio que o ponto de interrogao. Qualquer nmero de caracteres na mesma posio que o asterisco Um ponto de interrogao, asterisco ou til

? (ponto de interrogao) * (asterisco) ~ (til) seguido de ?, *, ou ~

lope? localiza "lopes" e "lopez" *este localiza "Nordeste" e "Sudeste" fy91~? localiza "fy91?"

Valores dentro de limites especificados Para exibir somente linhas que se encontrem dentro de certos limites, digite um operador de comparao, seguido de um valor, na clula abaixo do rtulo de critrios. Por exemplo, para localizar linhas cujos valores de unidade so maiores ou iguais a 1.000, digite >=1000 sob o rtulo de critrios Unidades no intervalo de critrios. Observao: Ao avaliar dados, o Microsoft Excel no distingue entre caracteres maisculos ou minsculos.

Como o Microsoft Excel converte valores em frmulas


Quando voc insere uma frmula, o Microsoft Excel espera determinados tipos de valores para cada operador. Se voc inserir um tipo de valor diferente do que o esperado, s vezes, o Microsoft Excel capaz de converter o valor. A frmula ="1"+"2" Produz 3 Explicao Quando voc utiliza um sinal de adio (+), o Microsoft Excel espera nmeros na frmula. Embora as aspas signifiquem que "1" e "2" sejam valores de texto, o Microsoft Excel converte automaticamente os valores de texto em nmeros. Quando uma frmula espera um nmero, o Microsoft Excel converte o texto se ele estiver em um formato que geralmente seria aceito para um nmero. O Microsoft Excel interpreta o texto como uma data no formato dd/mm/aa, converte as datas em nmeros de srie e, em seguida, calcula a diferena entre eles. O Microsoft Excel no pode converter o texto em nmero, pois o texto "8+1" no pode ser convertido em um nmero. Se voc usar "9" ou "8"+"1" em vez de "8+1", a frmula converter o texto em um nmero e retornar 3 como resultado. Quando texto esperado, o Microsoft Excel converte os nmeros e valores lgicos, como VERDADEIRO e FALSO, em texto.

=1+"$4.00" ="6/1/92"-"5/1/92" =RAIZ("8+1")

5 1 #VALOR!

="A"&VERDADEIRO

AVERDADEIRO

Pgina 6 Ednis P. Rocha

Solucionar problemas de valores de erro e frmulas


Se uma frmula no puder avaliar devidamente um resultado, o Microsoft Excel exibir um valor de erro. Por exemplo, os valores de erro podem ser o resultado do uso de texto quando uma frmula espera o uso de um valor numrico, da excluso de uma clula que referenciada por uma frmula ou do uso de uma clula que no grande o suficiente para exibir o resultado. Os valores de erro podem no ser causados pela frmula em si. Por exemplo, se uma frmula mostrar #N/D ou #VALOR!, uma clula referenciada pela frmula poder conter o erro. O que significa o erro #####? valor numrico inserido em uma clula muito grande para ser exibido dentro da clula. Voc pode redimensionar a coluna, arrastando o limite entre os cabealhos de coluna. A frmula na clula produz um resultado muito longo para se ajustar clula. Aumente a largura da coluna, arrastando o limite entre os cabealhos de coluna ou alterando o formato de nmero para a clula. Para alterar o formato de nmero, clique em Clula no menu Formatar, clique na guia Nmero e, em seguida, selecione outro formato. Ao subtrair datas e horas, certifique-se de que voc tenha criado a frmula corretamente. As datas e horas do Microsoft Excel devem ser valores positivos. Se a frmula de data ou hora produzir um resultado negativo, o Microsoft Excel exibir #### na largura da clula. Para exibir o valor, clique em Clulas no menu Formatar, clique na guia Nmero e, em seguida, selecione um formato que no seja um formato de data ou hora.

O que significa o erro #VALOR!? O valor de erro #VALOR! ocorre quando o tipo de argumento4 ou operando5 errado usado, ou se o recurso AutoCorreo de frmulas6 no pode corrigir a frmula. Possvel causa Inserir texto quando a frmula requer um nmero ou valor lgico, como VERDADEIRO ou FALSO. O Microsoft Excel no consegue converter o texto no tipo de dado correto. Inserir ou editar uma frmula matricial7 e pressionar ENTER. Ao sugerida Certifique-se de que a frmula ou funo esteja correta para o operando ou argumento necessrio, e que as clulas que so referenciadas pela frmula contenham valores vlidos. Por exemplo, se a clula A5 contiver um nmero e a clula A6 contiver o texto No disponvel, a frmula =A5+A6 retornar o erro #VALOR!. Use a funo de planilha SOMA na frmula da seguinte maneira para adicionar os dois valores (a funo SOMA ignora o texto):=SOMA(A5:A6) Selecione a clula ou intervalo de clulas que contm a frmula matricial, pressione F2 para editar a frmula e pressione CTRL+SHIFT+ENTER.

4 argumento - Os valores que uma funo usa para executar operaes ou clculos. O tipo de argumento que uma funo usa especfico da funo. Argumentos comuns usados em funes incluem valores numricos, valores de texto, referncias de clula, intervalos de clulas, nomes, rtulos e funes aninhadas.

operando - Itens em ambos os lados de um operador em uma frmula. No Microsoft Excel, os operandos podem ser valores, referncias de clula, nomes, rtulos e funes. AutoCorreo de frmulas - Um recurso que verifica automaticamente uma frmula para detectar erros comuns de digitao e sugerir uma correo, se possvel. Voc pode aceitar ou rejeitar a correo sugerida que aparece em uma aviso. Por exemplo, se voc inserir uma frmula que contm uma funo e inclui um parnteses de fechamento a mais, a AutoCorreo de frmula localiza o parntese extra e sugere que ele seja removido. frmula matricial - Executa clculos mltiplos e, em seguida, produz um nico resultado ou resultados mltiplos. Frmulas matriciais agem sobre dois ou mais conjuntos de valores conhecidos como argumentos de matriz. Cada argumento de matriz deve ter o mesmo nmero de linhas e colunas. Para produzir resultados mltiplos, a frmula deve ser inserida em clulas mltiplas.
7 6

Pgina 7 Ednis P. Rocha

Inserir uma referncia da clula, uma frmula ou uma funo como uma constante8 matricial. Fornecer um intervalo a um operador ou a uma funo que necessita de um valor nico, no de um intervalo. Usar uma matriz9 que no vlida em uma das funes matriciais de planilha. Executar uma macro que insere uma funo que retorna #VALOR!. O que significa o erro #DIV/0!?

Certifique-se de que a constante matricial no seja uma referncia da clula, frmula ou funo. Altere o intervalo para um valor nico. Altere o intervalo para incluir a mesma linha ou a mesma coluna que contm a frmula. Certifique-se de que as dimenses da matriz estejam corretas para os argumentos matriciais. Certifique-se de que a funo no esteja usando um argumento incorreto.

O valor de erro #DIV/0! ocorre quando uma frmula divide por 0 (zero). Possvel causa Usar a referncia da clula10 para uma clula em branco ou para uma clula que contm zero como um divisor. (Se um operando for uma clula em branco, o Microsoft Excel interpretar o valor em branco como um zero.) Inserir uma frmula que contm diviso explcita por zero (0) por exemplo, =5/0. Executar uma macro que usa uma funo ou uma frmula que retorna #DIV/0!. O que significa o erro #NOME?? O valor de erro #NOME? ocorre quando o Microsoft Excel no reconhece o texto em uma frmula. Possvel causa Excluir um nome11 usado na frmula, ou usar um nome que no existe. Digitar o nome incorretamente. Ao sugerida Certifique-se de que o nome exista. No menu Inserir, aponte para Nome e, em seguida, clique em Definir. Se o nome no estiver listado, adicione-o usando o comando Adicionar. Corrija o erro ortogrfico. Para inserir o nome correto na frmula, selecione o nome na barra de frmulas12, aponte para Nome no Ao sugerida Altere a referncia da clula, ou insira um valor diferente de zero na clula usada como um divisor. Voc pode inserir o valor #N/D na clula referenciada como o divisor, que alterar o resultado da frmula de #DIV/0! para #N/D para denotar que o valor do divisor no est disponvel. Altere o divisor para um nmero diferente de zero. Certifique-se de que o divisor na funo ou frmula no seja zero ou esteja em branco.

Para inserir uma frmula matricial, pressione CTRL+SHIFT+ENTER. O Microsoft Excel coloca frmulas matriciais entre chaves ( { } ).
8

constante - Um valor de clula que no iniciado com um sinal de igual (=). Por exemplo, a data 10/9/96, o nmero 210 e o texto Receitas Trimestrais so todos constantes. Uma frmula ou um valor resultante de uma frmula no uma constante.

matriz - Uma matriz retangular de valores, ou intervalo de clulas que combinado com outras matrizes ou intervalos para produzir somas ou produtos mltiplos. O Microsoft Excel predefiniu funes de matriz que podem produzir as somas ou produtos. referncia de clula - O conjunto de coordenadas que uma clula ocupa em uma planilha. Por exemplo, a referncia da clula que aparece na interseo da coluna B e da linha 3 B3. nome - Uma palavra ou seqncia de caracteres que representa uma clula, intervalo de clulas, frmula ou valor constante. barra de frmulas - Uma barra na parte superior da janela do Microsoft Excel que voc usa para inserir ou editar valores ou frmulas em clulas ou grficos. Exibe o valor constante ou frmula usado na clula ativa. Para exibir ou ocultar a barra de frmulas, clique em Barra de Frmulas no menu Exibir.
12 11 10

Pgina 8 Ednis P. Rocha

menu Inserir e, em seguida, clique em Colar. Na caixa de dilogo Colar nome, clique no nome que voc deseja usar e em OK. Digitar o nome de uma funo Corrija o erro ortogrfico. Insira o nome da funo correto na incorretamente. frmula usando a Caixa de criao de frmulas13. Se a funo de planilha for parte de um programa suplementar14, o programa suplementar deve estar carregado. Inserir texto em uma frmula Coloque o texto na frmula entre aspas. Por exemplo, a frmula a sem colocar o texto entre seguir agrupa o texto A quantia total com o valor na clula aspas. O Microsoft Excel tenta B50:="A quantia total "&B50 interpretar a sua entrada como um nome embora voc tivesse inteno de us-la como texto. Omitir dois-pontos (:) em uma Certifique-se de que todas as referncias de intervalo na frmula referncia de intervalo. usem dois-pontos (:), por exemplo, SOMA(A1:C10). O que significa o erro #N/D? O valor de erro #N/D ocorre quando um valor no se encontra disponvel para uma funo ou frmula. Se determinadas clulas da planilha forem conter dados que ainda no esto disponveis, insira o valor #N/D nestas clulas. As frmulas que fazem referncia a estas clulas retornaro #N/D em vez de tentar calcular um valor. Possvel causa Fornecer um valor inadequado para o argumento procura_valor na funo de planilha PROCH, PROC, CORRESP ou PROCV. Usar a funo de planilha PROCV ou PROCH para localizar um valor em uma tabela no classificada. Ao sugerida Certifique-se de que o argumento procura_valor seja o tipo correto de valor por exemplo, um valor ou uma referncia de clula, mas no uma referncia de intervalo.

Por padro, as funes que procuram informaes em tabelas devem ser classificadas em ordem crescente. No entanto, as funes de planilha PROCV e PROCH contm um argumento intervalo_procura que instrui a funo na localizao de uma correspondncia exata mesmo se a tabela no estiver classificada. Para localizar uma correspondncia exata, defina o argumento intervalo_procura como FALSO. Usar um argumento em uma Se a frmula matricial foi inserida em vrias clulas, certifique-se de frmula matricial que no que os intervalos referenciados pela frmula possuam o mesmo possui o mesmo nmero de nmero de linhas e colunas, ou insira a frmula matricial em um linhas ou colunas que o menor nmero de clulas. Por exemplo, se a frmula matricial foi intervalo que contm a frmula inserida em um intervalo de 15 linhas (C1:C15) e a frmula faz matricial. referncia a um intervalo de 10 linhas (A1:A10), o intervalo C11:C15 exibir o valor de erro #N/D. Para corrigir este erro, insira a frmula em um intervalo menor (por exemplo, C1:C10), ou altere o intervalo ao qual a frmula faz referncia para o mesmo nmero de linhas (por exemplo, A1:A15). Omitir um ou mais argumentos Insira todos os argumentos na funo. para uma funo de planilha interna ou personalizada. Usar uma funo de planilha Certifique-se de que a pasta de trabalho que contm a funo de personalizada que no est planilha esteja aberta e que a funo esteja funcionando disponvel. devidamente. Executar uma macro que Certifique-se de que os argumentos na funo estejam corretos e na insere uma funo que retorna posio certa.
Caixa de criao de frmulas - Uma ferramenta com a qual voc cria ou edita uma frmula e tambm oferece informaes sobre funes e seus argumentos. A caixa aparece abaixo da barra de frmulas quando voc clica no boto Editar frmula na barra de frmulas, ou no boto Colar funo na barra de ferramentas Padro.
14 13

suplemento - Componentes que podem ser instalados em seu computador para adicionar comandos e funes ao Microsoft Excel.

Pgina 9 Ednis P. Rocha

#N/D. O que significa o erro #REF!? O valor de erro #REF! ocorre quando uma referncia da clula no vlida. Possvel causa Excluir as clulas referenciadas por outras frmulas, ou colar as clulas movidas sobre as clulas referenciadas por outras frmulas. Executar uma macro que insere uma funo que retorna #REF!. Ao sugerida Altere as frmulas, ou restaure as clulas na planilha, clicando em Desfazer logo aps a excluso ou colagem das clulas.

Verifique a funo para ver se um argumento faz referncia a uma clula ou intervalo de clulas que no seja vlido. Por exemplo, se a macro inserir uma funo que se refere a uma clula acima da funo, e a clula que contiver a funo estiver na linha 1, a funo retornar o valor #REF!, pois no h clulas acima da linha 1. Usar uma referncia remota a um se de que voc esteja usando o tpico de DDE correto. aplicativo que no est sendo executado ou a um tpico de Intercmbio Dinmico de Dados (DDE) como sistema que no se encontra disponvel. Inicie o aplicativo. Certifique O que significa o erro #NM!? O valor de erro #NM! ocorre quando existe um problema com um nmero em uma frmula ou funo. Possvel causa Usar um argumento inaceitvel em uma funo que necessita de um argumento numrico. Usar uma funo de planilha que itera, como TIR ou TAXA, e a funo no consegue encontrar um resultado. Inserir uma frmula que produz um nmero muito grande ou muito pequeno para ser representado no Microsoft Excel. O que significa o erro #NULO!? O valor de erro #NULO! ocorre quando voc especifica uma interseo entre duas reas que no tm interseo. Possvel causa Usar um operador de intervalo incorreto ou referncia da clula incorreta. Ao sugerida Para fazer referncia a duas reas que no tm interseo, use o operador de unio, a vrgula (,). Por exemplo, se a frmula somar dois intervalos, certifique-se de que haja uma vrgula separando os dois intervalos (SOMA(A1:A10,C1:C10)). Se a vrgula for omitida, o Microsoft Excel tentar somar as clulas comuns aos dois intervalos, mas A1:A10 e C1:C10 no possuem clulas em comum porque no se cruzam. Verifique se h erros de digitao na referncia aos intervalos. Ao sugerida Certifique-se de que os argumentos usados na funo sejam os tipos de argumento corretos. Use um valor inicial diferente para a funo de planilha. Altere a frmula de modo que o seu resultado fique entre 1*10307 e 1*10307 .

Solucionar problemas de erros em frmulas

Pgina 10 Ednis P. Rocha

Certifique-se de que todos os parnteses faam parte de um par correspondente. Quando voc cria uma frmula, o Microsoft Excel exibir parnteses coloridos medida que eles forem inseridos. Certifique-se de utilizar o operador de intervalo correto ao fazer referncia a um intervalo de clulas. Quando fizer referncia a um intervalo de clulas, use dois-pontos (:) para separar a referncia primeira clula do intervalo da referncia ltima clula do intervalo. Certifique-se de que voc tenha inserido todos os argumentos necessrios. Algumas funes15 necessitam de argumentos. Alm disso, certifique-se de que voc no tenha inserido argumentos demais. Voc pode inserir, ou aninhar, apenas sete nveis de funes dentro de uma funo. Se o nome de uma pasta de trabalho ou de uma planilha ao qual voc faz referncia contiver um caractere no-alfabtico, coloque o nome entre apstrofos. Certifique-se de que cada referncia externa16 contenha um nome de pasta de trabalho e um caminho para a pasta de trabalho. No formate nmeros ao inseri-los nas frmulas. Por exemplo, mesmo se o valor que voc deseja inserir for $1.000, insira 1000 na frmula. Para formatar o resultado de uma frmula, clique em Clulas no menu Formatar, clique na guia Nmero e, em seguida, selecione um formato.

funo - Uma frmula pr-escrita que toma um valor ou valores, executa uma operao e produz um valor ou valores. Use funes para simplificar e encurtar frmulas em uma planilha, especialmente aquelas que executam clculos extensos ou complexos.
16

15

referncia externa - Uma referncia a uma clula ou intervalo em uma planilha em outra pasta de trabalho do Microsoft Excel, ou uma referncia a um nome definido em outra pasta de trabalho.

Pgina 11 Ednis P. Rocha

SE
Retorna um valor se uma condio que voc especificou avaliar como VERDADEIRO e um outro valor se for avaliado como FALSO. Use SE para conduzir testes condicionais sobre valores e frmulas. Sintaxe SE(teste_lgico;valor_se_verdadeiro;valor_se_falso) Teste_lgico: qualquer valor ou expresso que pode ser avaliada como VERDADEIRO ou FALSO. Valor_se_verdadeiro: o valor fornecido se teste_lgico for VERDADEIRO. Se teste_lgico for VERDADEIRO e valor_se_verdadeiro for omitido, VERDADEIRO ser fornecido. Valor_se_verdadeiro pode ser outra frmula. Valor_se_falso: o valor fornecido se teste_lgico for FALSO. Se teste_lgico for FALSO e valor_se_falso for omitido, FALSO ser fornecido. Valor_se_falso pode ser outra frmula. Comentrios At sete funes SE podem ser aninhadas como argumentos valor_se_verdadeiro e valor_se_falso para construir testes mais elaborados. Consulte o ltimo exemplo a seguir. Quando os argumentos valor_se_verdadeiro e valor_se_falso so avaliados, SE retorna o valor que foi retornado por estas instrues. Se qualquer um dos argumentos de SE forem matrizes, cada elemento da matriz ser avaliado quando a instruo SE for executada. Se algum dos argumentos valor_se_verdadeiro e valor_se_falso forem funes de execuo de ao, todas as aes so executadas.

Exemplos No exemplo a seguir, se o valor na clula A10 for 100, ento teste_lgico ser VERDADEIRO e o valor total para o intervalo B5:B15 ser calculado. Caso contrrio, se teste_lgico for FALSO e texto vazio () for retornado a clula que contm a funo SE ser esvaziada. SE(A10=100;SOMA(B5:B15);"") Suponha que uma planilha de despesa contenha os seguintes dados em B2:B4 em relao s "Despesas reais" para janeiro, fevereiro e maro: 1500, 500, 500. C2:C4 contm os seguintes dados para "Despesas previstas" para os mesmos perodos: 900, 900, 925. Voc poderia escrever uma frmula para verificar se est acima do oramento em um ms especfico, gerando texto para uma mensagem com as seguintes frmulas: SE(B2>C2;"Acima do oramento";"OK") igual a "Acima do oramento" SE(B3>C3;"Acima do oramento";"OK") igual a "OK" Suponha que voc queira efetuar uma classificao atribuindo letras aos nmeros que so referenciados pelo nome Mdia. Consulte a tabela a seguir. Se a Mdia for Maior do que 89 De 80 a 89 De 70 a 79 De 60 a 69 Menor do que 60 Ento retornar A B C D F Pgina 12 Ednis P. Rocha

Voc poderia usar a seguinte funo aninhada SE: SE(Mdia>89;"A";SE(Mdia>79;"B"; SE(Mdia>69;"C";SE(Mdia>59;"D";"F")))) No exemplo anterior, a segunda instruo SE tambm o argumento valor_se_falso para a primeira instruo SE. Da mesma maneira, a terceira instruo SE o argumento valor_se_falso para a segunda instruo SE. Por exemplo, se o primeiro teste_lgico (Mdia>89) for VERDADEIRO, "A" ser retornado. Se o primeiro teste_lgico for FALSO, a segunda instruo SE avaliada e assim por diante.

VERDADEIRO
Retorna o valor lgico VERDADEIRO. Sintaxe VERDADEIRO( ) Comentrios Voc pode inserir o valor VERDADEIRO diretamente nas clulas e frmulas sem usar esta funo. A funo VERDADEIRO fornecida primeiramente para compatibilidade com outros programas de planilha.

FALSO
Retorna o valor lgico FALSO. Sintaxe FALSO( ) Comentrios Voc tambm pode digitar a palavra FALSO diretamente na planilha ou frmula, e o Microsoft Excel a interpretar como o valor lgico FALSO.

E
Retorna VERDADEIRO se todos os argumentos forem VERDADEIRO; retorna FALSO se um ou mais argumentos forem FALSO. Sintaxe E(lgico1;lgico2; ...) Lgico1; lgico2;...: so de 1 a 30 condies que voc deseja testar e que podem ser VERDADEIRO ou FALSO. Pgina 13 Ednis P. Rocha

Os argumentos devem ser valores lgicos, matrizes ou referncias que contm valores lgicos. Se uma matriz ou argumento de referncia contiver texto ou clulas vazias, estes valores sero ignorados. Se o intervalo especificado no contiver valores lgicos, E retornar o valor de erro #VALOR!.

Exemplos E(VERDADEIRO; VERDADEIRO) igual a VERDADEIRO E(VERDADEIRO; FALSO) igual a FALSO E(2+2=4; 2+3=5) igual a VERDADEIRO Se B1:B3 contiver os valores VERDADEIRO, FALSO e VERDADEIRO, ento: E(B1:B3) ser igual a FALSO Se B4 contiver um nmero entre 1 e 100, ento: E(1<B4; B4<100) ser igual a VERDADEIRO Suponha que voc deseja exibir B4 se esta contiver um nmero entre 1 e 100, e que voc deseja exibir uma mensagem se ela no contiver. Se B4 contiver 104, ento: SE(E(1<B4; B4<100); B4; "O valor est fora do intervalo.") ser igual a "O valor est fora do intervalo". Se B4 contiver 50, ento: SE(E(1<B4; B4<100); B4; "O valor est fora do intervalo.") ser igual a 50

OU
Retorna VERDADEIRO se qualquer argumento for VERDADEIRO; retorna FALSO se todos os argumentos forem FALSO. Sintaxe OU(lgico1;lgico2; ...) Lgico1; lgico2;...: so 1 a 30 condies a serem testadas que podem ser VERDADEIRO ou FALSO. Os argumentos devem avaliar valores lgicos como VERDADEIRO ou FALSO, ou em matrizes ou referncias que contenham valores lgicos. Se uma matriz ou argumento de referncia contiver texto, nmeros, clulas vazias, estes valores sero ignorados. Se o intervalo especificado no contiver valores lgicos, OU retornar o valor de erro #VALOR!. Voc pode usar uma frmula matricial OU para ver se um valor ocorre em uma matriz. Para inserir uma frmula matricial, pressione CTRL+SHIFT+ENTER no Microsoft Excel para Windows

Exemplos OU(VERDADEIRO) igual a VERDADEIRO Pgina 14 Ednis P. Rocha

OU(1+1=1;2+2=5) igual a FALSO Se A1:A3 contiver os valores VERDADEIRO, FALSO e VERDADEIRO, ento: OU(A1:A3) igual a VERDADEIRO Consulte tambm o exemplo para EXATO.

NO
Inverte o valor do argumento. Use NO quando quiser ter certeza de que um valor no igual a outro valor determinado. Sintaxe NO(lgico) Lgico : um valor ou expresso que pode ser avaliado como VERDADEIRO ou FALSO. Se lgico for FALSO, NO retornar VERDADEIRO; se lgico for VERDADEIRO, NO retornar FALSO. Exemplos NO(FALSO) igual a VERDADEIRO NO(1+1=2) igual a FALSO

Pgina 15 Ednis P. Rocha

Exemplos de frmulas comuns


A seguir esto exemplos de algumas frmulas usadas com mais freqncia no Microsoft Excel. Descrio Calcula o saldo parcial em um livro de registro. Neste exemplo, assume- se que a clula D7 contm o depsito de transao atual, a clula E7 contm qualquer valor de saque e a clula F6 contm o saldo anterior. Agrupa o nome armazenado em uma clula com o sobrenome armazenado em outra clula. Neste exemplo, assuma que a clula D5 contm o nome e a clula E5 contm o sobrenome. Aumenta um valor numrico armazenado em uma clula por uma percentagem, como 5 por cento. Neste exemplo, assuma que a clula F5 contm o valor original. Cria um texto que agrupa uma data armazenada em uma clula com outro texto - por exemplo, se a clula F5 contiver uma data de faturamento de 5Jun-96, e voc desejar exibir o texto "Data do demonstrativo: 5-Jun-96" na clula G50. Cria um valor total para um intervalo com base em um valor em outro intervalo. Por exemplo, para cada clula no intervalo B5:B25 que contiver o valor "Northwind", voc deseja calcular o total das clulas correspondentes no intervalo F5:F25. Cria um valor total para um intervalo com base em duas condies. Por exemplo, voc deseja calcular o valor total das clulas em F5:F25 onde B5:B25 contm "Northwind e o intervalo C5:C25 contm a regio denominada "Oeste". Conta o nmero de ocorrncias de um valor em um intervalo de clulas por exemplo, o nmero de clulas no intervalo B5:B25 que contm o texto "Northwind". Conta o nmero de ocorrncias de um valor em um intervalo de clulas, com base em um valor em outro intervalo por exemplo, o nmero de linhas no intervalo B5:B25 que contm o texto "Northwind" e o texto "Oeste" no intervalo C5:C25. Frmula Para calcular o saldo atual da primeira transao (clula F7): =SOMA(F6;D7;E7) Ao inserir novas transaes, copie esta frmula para a clula que contm o saldo atual da nova transao. Para exibir o nome completo no formato nome sobrenome: =D5&" "&E5 Para exibir o nome completo no formato nome, sobrenome: =E5&"; "&D5 =F5*(1+5%) Se o valor da percentagem estiver armazenado em uma clula (por exemplo, clula F2) =F5*(1+$F$2) A referncia clula F2 uma referncia absoluta de clula de forma que a frmula pode ser copiada para outras clulas sem alterar a referncia clula F2. ="Data do demonstrativo: "&TEXTO(F5; "d-mmm-aa") Observao: Use a funo TEXTO para formatar um valor de nmero, data ou hora como texto.

=SOMASE(B5:B25;"Northwind";F5:F25)

=SOMA(SE(B5:B25="Northwind";SE(C5:C25="Oeste";F5: F25)))

=CONT.SE(B5:B25;"Northwind")

=SOMA(SE(B5:B25="Northwind";SE(C5:C25="Oeste";1;0) ))

Referncias de clula e intervalo


Pgina 16 Ednis P. Rocha

Uma referncia identifica uma clula ou um intervalo de clulas em uma planilha e informa ao Microsoft Excel onde procurar valores ou dados que voc deseja usar em uma frmula. Com as referncias, voc pode usar os dados contidos em outras partes de uma planilha em uma frmula ou usar o valor de uma clula em diversas frmulas. Voc tambm pode fazer referncia a clulas em outras planilhas na mesma pasta de trabalho, a outras pastas de trabalho e a dados em outros programas. As referncias s clulas em outras pastas de trabalho so denominadas referncias externas. As referncias aos dados em outros programas so denominadas referncias remotas. Por padro, o Microsoft Excel usa o estilo de referncia A1, que rotula colunas com letras (A a IV, para um total de 256 colunas) e rotula linhas com nmeros (1 a 65536). Para fazer referncia a uma clula, insira a letra da coluna seguida do nmero da linha. Por exemplo, D50 refere-se clula na interseo da coluna D e linha 50. Para fazer referncia a um intervalo de clulas, insira a referncia da clula no canto superior esquerdo do intervalo, dois-pontos (:) e depois a referncia da clula no canto inferior direito do intervalo. A seguir esto exemplos de referncias. Para fazer referncia clula na coluna A e linha 10 Ao intervalo de clulas na coluna A e linhas 10 a 20 Ao intervalo de clulas na linha 15 e colunas B a E A todas as clulas na linha 5 A todas as clulas nas linhas 5 a 10 A todas as clulas na coluna H A todas as clulas nas colunas H a J Use A10 A10:A20 B15:E15 5:5 5:10 H:H H:J

Voc tambm pode usar um estilo de referncia onde tanto as linhas quanto as colunas da planilha so numeradas. O estilo L1C1 til para computar posies de linha e coluna em macros17 e pode ser til para mostrar as referncias relativas18 da clula. No estilo L1C1, o Microsoft Excel indica a posio de uma clula com um L seguido de um nmero de linha e um C seguido de um nmero de coluna. Referncias L1C1 No estilo L1C1, o Microsoft Excel indica a localizao de uma clula com um "L" seguido de um nmero de linha e um "C" seguido de um nmero de coluna. Por exemplo, a referncia absoluta19 de clula L1C1 equivalente referncia absoluta $A$1 no estilo de referncia A1. Se a clula ativa for A1, a referncia relativa da clula L[1]C[1] far referncia clula uma linha abaixo e uma coluna direita, ou B2. A seguir esto exemplos de referncias em estilo L1C1. Referncia L[-2]C L[2]C[2] L2C2
17

Significado Uma referncia relativa clula duas linhas acima e na mesma coluna Uma referncia relativa clula duas linhas abaixo e duas colunas direita Uma referncia absoluta clula na segunda linha e na segunda coluna

macro - Um programa escrito e gravado por voc e que armazena uma seqncia de comandos do Microsoft Excel, podendo ser utilizado posteriormente como um nico comando. As macros podem automatizar tarefas complexas e reduzir o nmero de etapas necessrias para completar tarefas que voc executa com freqncia. As macros so gravadas na linguagem de programao Visual Basic for Applications. Voc tambm pode escrever macros diretamente usando o Editor do Visual Basic.
18 referncia relativa de clula - Uma referncia de clula como, por exemplo, A1, que informa ao Microsoft Excel como encontrar outra clula partindo daquela que contm a frmula. Usar uma referncia relativa o mesmo que oferecer orientaes de direo que explicam onde ir a partir do ponto onde a pessoa se encontra por exemplo siga duas quadras frente e depois uma quadra esquerda . 19 referncia absoluta de clula - Em uma frmula, o endereo exato de uma clula, independente da posio da clula que contm a frmula. Uma referncia absoluta assume a forma $A$1, $B$1, e assim por diante.

Pgina 17 Ednis P. Rocha

L[-1] L Observaes

Uma referncia relativa toda a linha acima da clula ativa Uma referncia absoluta linha atual

Dependendo da tarefa que voc deseja executar no Microsoft Excel, use referncias relativas da clula, que so referncias a clulas relativas posio da frmula, ou referncias absolutas, que so referncias de clula que sempre referem-se a clulas em uma localizao especfica.

A diferena entre referncias relativas e absolutas Ao criar uma frmula, as referncias a clulas ou intervalos geralmente se baseiam em sua posio relativa clula que contm a frmula. No exemplo a seguir, a clula B6 contm a frmula =A5; o Microsoft Excel localiza o valor uma clula acima e uma clula esquerda da clula B6. Este procedimento chamado de referncia relativa. Quando voc copia uma frmula que usa referncias relativas, as referncias na frmula colada atualizam e fazem referncia a clulas diferentes relativas posio da frmula. No exemplo a seguir, a frmula na clula B6 foi copiada para a clula B7. A frmula na clula B7 foi alterada para =A6; que faz referncia clula que est uma clula acima e esquerda da clula B7. Se voc no desejar que as referncias sejam alteradas quando voc copia uma frmula para uma clula diferente, use uma referncia absoluta. Por exemplo, se a frmula multiplicar a clula A5 pela clula C1 (=A5*C1) e voc copiar a frmula para outra clula, ambas as referncias sero alteradas. Voc pode criar uma referncia absoluta para a clula C1, colocando um cifro ($) antes das partes da referncia que no so alteradas. Para criar uma referncia absoluta para a clula C1, por exemplo, adicione sinais de cifro frmula da seguinte forma: =A5*$C$1 Use os rtulos de colunas e linhas em uma planilha para fazer referncia a clulas dentro destas colunas e linhas, ou crie nomes descritivos para representar clulas, intervalos de clulas, frmulas ou valores constantes.

Rtulos e nomes em frmulas As planilhas geralmente contm rtulos na parte superior de cada coluna e esquerda de cada linha que descrevem os dados da planilha. Voc pode usar esses rtulos dentro das frmulas quando deseja fazer referncia aos dados relacionados. Voc tambm pode criar nomes descritivos que no sejam rtulos na planilha para representar clulas, intervalos de clulas, frmulas ou constantes. Quando voc criar uma frmula que faz referncia a dados de uma planilha, use os rtulos de coluna e linha da planilha para se referir aos dados. Por exemplo, se uma tabela contiver valores de vendas em uma coluna rotulada Vendas e uma linha para uma diviso rotulada Suporte, voc poder localizar o valor de vendas para a diviso Suporte, inserindo a frmula =Suporte Vendas. O espao entre os rtulos o operador de interseo, que serve para designar que a frmula deve retornar o valor na clula localizada na interseo entre a linha rotulada Suporte e a coluna rotulada Vendas. Se os seus dados no contiverem rtulos ou se voc tiver informaes armazenadas em uma planilha que deseja usar em outras planilhas localizadas na mesma pasta de trabalho, crie um nome que descreva a clula ou intervalo. Um nome descritivo em uma frmula pode facilitar a compreenso do objetivo da frmula. Por exemplo, a frmula =SOMA(PrimeiroTrimestreVendas) talvez seja mais fcil de identificar do que =SOMA(Vendas!C20:C30). Neste exemplo, o nome PrimeiroTrimestreVendas representa o intervalo C20:C30 na planilha nomeada Vendas.

Pgina 18 Ednis P. Rocha

Os nomes encontram-se disponveis para qualquer planilha dentro da pasta de trabalho. Por exemplo, se o nome VendasProjetadas referir-se ao intervalo A20:A30 na primeira planilha da pasta de trabalho, voc poder usar o nome VendasProjetadas em qualquer outra planilha da mesma pasta de trabalho para referir-se ao intervalo A20:A30 na primeira planilha. Os nomes tambm podem ser usados para representar frmulas ou valores que no se alteram (constantes). Por exemplo, voc pode usar o nome ImpostoVendas para representar o valor do imposto sobre vendas (como 6,2 por cento) aplicado s transaes de vendas. Observao: Por padro, os nomes usam referncias absolutas de clula. Sobre o uso de rtulos mltiplos em frmulas Quando voc tem rtulos para as colunas e linhas em sua planilha, voc pode usar estes rtulos para criar frmulas que se refiram a dados na planilha. Se sua planilha contm rtulos de colunas empilhadas em que um rtulo em uma clula seguido de um ou mais rtulos abaixo dele voc pode usar os rtulos empilhados em frmulas para se referir a dados na planilha. Por exemplo, se o rtulo Projetado est na clula E5, e o rtulo 1996 est na clula E6, a frmula =SOMA(Projetado 1966) produz o valor total da coluna Projetado 1996. Se a linha contm as cifras de vendas e o rtulo Vendas est na clula D8, voc pode referir-se s vendas projetadas para 1996 com a frmula =Vendas Projetado 1996. Quando voc se refere a informaes usando rtulos empilhados, voc se refere s informaes na ordem em que os rtulos aparecem, de cima para baixo. Se o rtulo 1996 est na clula E5, e o rtulo Efetivo est na clula E6, voc pode referir-se s cifras efetivas para 1996 usando 1996 Efetivo em uma frmula. Por exemplo, para calcular a mdia das cifras efetivas para 1996, use a frmula =MDIA(1996 Efetivo). Se voc desejar analisar dados na mesma clula ou intervalo de clulas em diversas planilhas da pasta de trabalho, use uma referncia 3-D20. Uma referncia 3-D inclui a referncia de clula ou intervalo, precedida de um intervalo de nomes de planilha. O Microsoft Excel usa quaisquer planilhas armazenadas entre o nome inicial e o nome final da referncia.

Diretrizes para usar referncias 3-D Voc pode usar referncias 3-D para fazer referncia a clulas em outras planilhas, definir nomes e criar frmulas usando as funes a seguir: SOMA, MDIA, MDIAA, CONT.NM, CONT.VALORES, MXIMO, MXIMOA, MNIMO, MNIMOA, MULT, DESVPAD, DESVPADA, DESVPADP, DESVPADPA, VAR, VARA, VARP e VARPA. As referncias 3-D no podem ser usadas em frmulas matriciais. As referncias 3-D no podem ser usadas com o operador de interseo (um espao simples) ou em frmulas que usam interseo implcita21.

O que acontece a uma referncia 3-D quando voc move, copia, insere ou exclui planilhas? Os exemplos a seguir explicam o que acontece quando voc move, copia, insere e exclui planilhas includas em uma referncia 3-D. Os exemplos usam a frmula =SOMA(Plan2:Plan6!A2:A5) para somar as clulas A2 a A5 nas planilhas 2 a 6. Se voc inserir ou copiar planilhas entre a Plan2 e a Plan6 (os pontos finais neste exemplo) na pasta de trabalho, o Microsoft Excel incluir todos os valores nas clulas A2 a A5 das planilhas adicionadas nos clculos.

3-D - a frmula =SOMA(Plan2:Plan6!A2:A5) soma as clulas A2 a A5 nas planilhas 2 a 6. interseo implcita - Em uma frmula, uma referncia a uma coluna de clulas ou a uma linha de clulas, ao invs de uma nica clula. O Microsoft Excel escolhe como frmula uma clula na referncia que esteja na mesma linha (se a referncia for a uma coluna de clulas) ou mesma coluna (se a referncia for a uma linha de clulas). Por exemplo, se a clula C10 contm a frmula =B5:B15*5, o Microsoft Excel multiplicar o valor contido na clula B10 por 5 porque as clulas B10 e C10 esto na mesma linha.
21

20

Pgina 19 Ednis P. Rocha

Se voc excluir planilhas entre a Plan2 e a Plan6 na pasta de trabalho, o Microsoft Excel remover seus valores do clculos. Se voc mover planilhas da Plan2 at a Plan6 para um local fora do intervalo de planilha referenciado, o Microsoft Excel remover seus valores do clculo. Se voc mover a Plan2 ou a Plan6 para outro local na mesma pasta de trabalho, o Microsoft Excel ajustar o clculo para acomodar o novo intervalo de planilhas entre elas. Se voc excluir quaisquer planilhas no clculo, o Microsoft Excel ajustar o clculo para acomodar o intervalo de planilhas entre elas.

Pgina 20 Ednis P. Rocha

Funes
Uso de funes para calcular valores As funes so frmulas predefinidas que efetuam clculos usando valores especficos, denominados argumentos, em uma determinada ordem, denominada sintaxe. Por exemplo, a funo SOMA adiciona valores ou intervalos de clulas, e a funo PGTO calcula os pagamentos de emprstimos com base em uma taxa de juros, na extenso do emprstimo e no valor principal do emprstimo. Os argumentos podem ser nmeros, texto, valores lgicos como VERDADEIRO ou FALSO, matrizes, valores de erro como #N/D, ou referncias de clula. O argumento atribudo deve produzir um valor vlido para este argumento. Os argumentos tambm podem ser constantes, frmulas ou outras funes. A sintaxe de uma funo comea com o nome da funo, seguido de um parntese de abertura, os argumentos da funo separados por vrgulas e um parntese de fechamento. Se a funo iniciar uma frmula, digite um sinal de igual (=) antes do nome da funo. Quando voc for criar uma frmula que contm uma funo, a Caixa de criao de frmulas ir auxili-lo. Vrias funes dentro de funes, ou aninhamento As funes podem ser usadas como argumentos para outras funes. Quando uma funo usada como um argumento, ou aninhada, deve retornar o mesmo tipo de valor que o argumento utiliza. Se uma funo aninhada no retornar o tipo de valor correto, o Microsoft Excel exibir um valor de erro #VALOR!. Por exemplo, a frmula a seguir usa uma funo MDIA aninhada e a compara com o valor 50. A comparao deve retornar VERDADEIRO ou FALSO, pois este o tipo de valor necessrio para o primeiro argumento em uma funo SE. Uma frmula pode conter at sete nveis de funes aninhadas. Quando a Funo B usada como um argumento na Funo A, a Funo B uma funo de segundo nvel. Se a Funo B contiver a Funo C como um argumento, a Funo C ser uma funo de terceiro nvel. Voc pode usar a Caixa de criao de frmulas para aninhar funes como argumentos. Por exemplo, voc pode inserir a Funo B como um argumento para a Funo A clicando na seta dropdown na barra de frmula. Se quiser continuar inserindo argumentos para a Funo A, clique no nome da Funo A na barra de frmula.

Pgina 21 Ednis P. Rocha

Banco de dados
Quando voc precisar analisar se os valores contidos em uma lista atendem a uma condio especfica, ou critrios, poder usar uma funo de planilha de banco de dados. Por exemplo, em uma lista que contm informaes de vendas, voc pode contar todas as linhas ou registros em que as vendas sejam maiores que 1.000 mas menores que 2.500. O Microsoft Excel inclui 12 funes de planilha que analisam os dados armazenados em listas ou bancos de dados. Cada uma dessas funes, citadas genericamente como BDfunes, usa trs argumentos: banco de dados, campo e critrios. Esses argumentos se referem aos intervalos de planilha usados pela funo. argumento de banco de dados o intervalo que contm sua lista. Voc deve incluir a linha que contm os rtulos de coluna no intervalo. argumento de campo o rtulo para a coluna que voc deseja resumir. argumento de critrios o intervalo que contm uma condio especificada por voc. BDCONTAR BDEST BDCONTARA BDEXTRAIR BDDESVPA BDSOMA BDMX BDVAREST BDMN BDVARP

BDMDIA BDMULTIPL Sintaxe

BDfuno(banco_dados;campo;critrios) Banco_dados : o intervalo de clulas que constitui a lista ou o banco de dados. No Microsoft Excel, um banco de dados uma lista de dados relacionados em que as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os rtulos de cada coluna. A referncia pode ser inserida como um intervalo de clulas ou como um nome representando o intervalo que contm a lista. Em todas as funes de banco de dados, se a referncia do banco de dados for a uma clula dentro de uma Tabela dinmica, o clculo ser feito apenas nos dados da Tabela dinmica. Se voc desejar calcular valores de subtotais em sua lista, use o comando Subtotais do menu Dados para inserir os valores de subtotais.

Campo: indica a coluna que ser usada na funo. As colunas de dados na lista devem ter um rtulo de identificao na primeira linha. O campo pode ser dado como texto com o rtulo de coluna entre aspas, como "Idade" ou "Rendimento" no exemplo de lista apresentado abaixo, ou como um nmero que represente a posio da coluna na lista: 1 para a primeira coluna (rvore, no exemplo abaixo), 2 para a segunda (Altura) e assim por diante. Critrios: uma referncia a um intervalo de clulas que especifica as condies para a funo. A funo retorna informaes da lista que atendem s condies especificadas no intervalo de critrios. O intervalo de critrios inclui uma cpia do rtulo da coluna na lista para a coluna que voc deseja que a funo resuma. A referncia de critrios pode ser inserida como um intervalo de clulas, como A1:F2 no exemplo de banco de dados abaixo, ou como um nome que represente o intervalo, como "Critrios." Dicas Voc pode usar qualquer intervalo para o argumento de critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar a condio.

Por exemplo, se o intervalo G1:G2 contiver o rtulo de coluna Receita em G1 e a quantia 10.000 em G2, voc poder definir o intervalo como CoincidirReceita e usar este nome como o argumento de critrios nas funes de banco de dados. Pgina 22 Ednis P. Rocha

Embora o intervalo de critrios possa ser colocado em qualquer local na planilha, no o posicione abaixo da lista. Se voc adicionar outras informaes lista, usando o comando Formulrio do menu Dados, as novas informaes sero adicionadas na primeira linha abaixo da lista. Se a linha abaixo da lista no estiver em branco, o Microsoft Excel no poder adicionar as novas informaes. Certifique-se de que o intervalo de critrios no se sobreponha lista. Para efetuar uma operao em uma coluna inteira em um banco de dados, insira uma linha em branco abaixo dos rtulos de coluna no intervalo de critrios.

Exemplos A ilustrao ao lado mostra um banco de dados para um pequeno pomar. Cada registro contm informaes sobre uma rvore. O intervalo A5:E11 chamado Banco_dados e o intervalo A1:F3 chamado Critrios. BDCONTAR(Banco_dados;"Idade";A1:F2) igual a 1. Esta funo analisa os registros de macieiras com altura entre 10 e 16 e conta quantos campos Idade nestes registros contm nmeros. BDCONTARA(Banco_dados;"Lucro";A1:F2) igual a 1. Esta funo analisa os registros de macieiras com altura entre 10 e 16 e conta quantos campos Lucro nesses registros no esto em branco. BDMX(Banco_dados;"Lucro";A1:A3) igual a R$ 105,00, o lucro mximo de macieiras e pereiras. BDMN(Banco_dados;"Lucro";A1:B2) igual a R$ 75,00, o lucro mnimo de macieiras acima de 10. BDSOMA(Banco_dados;"Lucro";A1:A2) igual a R$ 225,00, o lucro total de macieiras. BDSOMA(Banco_dados;"Lucro";A1:F2) igual a R$ 75,00, o lucro total de macieiras com uma altura entre 10 e 16. BDMULTIPL(Banco_dados;"Rendimento";A1:F2) igual a 140, o produto dos rendimentos das macieiras com altura entre 10 e 16. BDMDIA(Banco_dados;"Rendimento";A1:B2) igual a 12, o rendimento mdio das macieiras acima de 10 ps de altura. BDMDIA(Banco_dados;3;Banco_dados) igual a 13, a idade mdia de todas as rvores no banco de dados. BDEST(Banco_dados;"Rendimento";A1:A3) igual a 2,97, o desvio padro estimado no rendimento das macieiras e pereiras se os dados do banco de dados forem apenas uma amostra da populao total do pomar. BDDESVPA(Banco_dados;"Rendimento";A1:A3) igual a 2,65, o desvio padro verdadeiro no rendimento das macieiras e pereiras se os dados do banco de dados representarem toda a populao do pomar. BDVAREST(Banco_dados;"Rendimento";A1:A3) igual a 8,8, a varincia estimada no rendimento das macieiras e pereiras se os dados no banco de dados forem apenas uma amostra da populao total do pomar. BDVARP(Banco_dados;"Rendimento";A1:A3) igual a 7,04, a varincia verdadeira no rendimento das macieiras e pereiras se os dados no banco de dados representarem toda a populao do pomar. BDEXTRAIR(Banco_dados;"Rendimento";Critrios) retornar o valor de erro #NM! porque mais de um registro coincide com os critrios.

Diretrizes para criar uma lista em uma planilha O Microsoft Excel oferece uma srie de recursos que facilitam o gerenciamento e a anlise de dados em uma lista. Para utilizar estes recursos, insira dados em uma lista de acordo com as seguintes diretrizes. Pgina 23 Ednis P. Rocha

Tamanho e Localizao da Lista Evite ter mais de uma lista em cada planilha, pois alguns recursos de gerenciamento de lista, como filtro, s podem ser usados em uma lista de cada vez. Deixe pelo menos uma coluna em branco e uma linha em branco entre a lista e os outros dados da planilha. Este procedimento ajuda o Microsoft Excel a selecionar a lista quando voc classificar, filtrar ou inserir subtotais automticos. Evite colocar linhas e colunas em branco na lista para que o Microsoft Excel detecte e selecione a lista com mais facilidade. Evite colocar dados essenciais esquerda ou direita da lista; os dados podero ficar ocultos quando voc filtrar a lista.

Rtulos de Coluna Crie rtulos de coluna na primeira linha da lista. O Microsoft Excel usa estes rtulos para criar relatrios e para localizar e organizar dados. Use estilos de fonte, alinhamento, formato, padro, borda ou maisculas para os rtulos de coluna que sejam diferentes do formato atribudo aos dados da lista. Use bordas de clula e no linhas em branco ou tracejadas para inserir linhas abaixo dos rtulos quando desejar separar os rtulos dos dados.

Contedo das Linhas e Colunas Elabore a sua lista de modo que todas as linhas contenham itens semelhantes na mesma coluna. No insira espaos extras no incio de uma clula; os espaos extras afetam os processos de classificao e localizao. No use uma linha em branco para separar rtulos de colunas da primeira linha de dados.

Exemplos de critrios de filtro avanado Os critrios de filtro avanado podem incluir vrias condies aplicadas em uma nica coluna, vrios critrios aplicados a vrias colunas e condies criadas como resultado de uma frmula. Trs ou mais condies em uma nica coluna Se voc tem trs ou mais condies para uma nica coluna, digite o critrio diretamente abaixo de cada um em linhas separadas. Por exemplo, o intervalo de critrios a seguir exibe as linhas que contm "Amaral", "Pereira" ou "Andrade" na coluna Vendedor. Critrios de duas ou mais colunas Para localizar dados que atendam a uma condio em duas ou mais colunas, insira todos os critrios na mesma linha do intervalo de critrios. Por exemplo, o intervalo de critrios a seguir exibe todas as linhas que contm "Produo" na coluna Tipo, "Amaral" na coluna Vendedor e valores de vendas acima de R$1.000. Observao Voc tambm pode especificar vrias condies para colunas diferentes e exibir somente as linhas que atendam a todas as condies, usando o comando AutoFiltro no menu Dados. Para localizar os dados que atendam a uma condio em uma coluna ou uma condio em outra coluna, insira os critrios em linhas diferentes do intervalo de critrios. Por exemplo, o intervalo de critrios a seguir exibe todas as linhas que contm "Produo" na coluna Tipo, "Amaral" na coluna Vendedor ou valores de vendas acima de R$1.000.

Pgina 24 Ednis P. Rocha

Para localizar linhas que atendam a uma de duas condies em uma coluna e uma de duas condies em outra coluna, digite os critrios em linhas separadas. Por exemplo, o intervalo de critrios a seguir exibe as linhas que contm Amaral na coluna Vendedor e valores de vendas acima de R$3.000, ou as linhas do vendedor Pereira com vendas acima de R$1.500. Condies criadas como resultado de uma frmula Voc pode usar um valor calculado que seja resultado de uma frmula como critrio. Quando voc usa uma frmula para criar um critrio, no use um rtulo de coluna como rtulo de critrios; deixe o rtulo de critrios em branco ou use um rtulo que no seja um rtulo de coluna na lista. Por exemplo, o intervalo de critrios a seguir exibe linhas que tm um valor na coluna G maior do que a mdia das clulas E5: E14; ele no usa um rtulo de critrios. Observaes A frmula utilizada para uma condio deve se referir ao rtulo da coluna (por exemplo, Vendas) ou referncia para o campo correspondente no primeiro registro. No exemplo, G5 se refere ao campo (coluna G) do primeiro registro (linha 5) da lista. Voc pode usar um rtulo de coluna na frmula, em vez de uma referncia relativa de clula ou um nome de intervalo. Quando o Microsoft Excel exibe um valor de erro como #NOME? ou #VALOR! Na clula que contm o critrio, voc pode ignorar este erro porque ele no afeta a maneira como a lista filtrada.

Pgina 25 Ednis P. Rocha

Trabalhando com Banco de Dados


Primeiro mtodo Para manipular uma base de dados, aps selecionar uma clula da lista, selecione o comando Dados/Filtrar/AutoFiltro e perceba que cada campo passa a possuir uma seta indicadora. Isso significa que qualquer campo pode ser filtrado, de acordo com as condies que so disponibilizadas quando clicamos sobre a seta indicadora. So elas Tudo 10 primeiros Personalizar Vazias NoVazias Exibir todas as linhas Exibir todas as linhas que se encontrem dentro dos limites mximo e mnimo especificados por item ou porcentagem, por exemplo, as quantidades dentro dos primeiros 10 por cento das vendas Aplicar dois valores de critrios dentro da coluna atual ou usar operadores de comparao diferentes de E (operador padro) Exibir somente as linhas que contenham uma clula vazia na coluna Exibir somente as linhas que contenham um valor na coluna

Critrios da opo 10 primeiros Primeiros ltimos

Utilize as setas para aumentar ou diminuir a quantidade de itens a serem exibidos Critrios da opo Personalizar igual a diferente de maior do que maior ou igual a menor do que menor ou igual a comea com no comea com termina com no termina com contm no contm Observao

Itens Por cento

As opes Vazias e NoVazias ficam disponveis somente se a coluna que voc deseja filtrar contiver uma clula em branco. Pgina 26 Ednis P. Rocha

Segundo mtodo Outra forma de trabalhar com banco de dados atravs de formulrio. Para uma tabela que j contm, pelo menos, a linha com os nomes dos campos, selecione o comando Dados/Formulrio. Uma janela no formato de um formulrio aparece, com todos os campos, o registro atual e o total de registros. importante notar que os campos que possuem frmulas (neste caso a coluna E), tem a sua entrada de dados inibida no formulrio, e que o seu valor somente aparecer quando o boto Novo for acionado. Botes Novo cria um novo registro; Excluir apaga o registro atual; Restaurar restaura a alterao no registro atual; Localizar anterior localiza o registro anterior, conforme o critrio estabelecido; Localizar prximo - localiza o prximo registro, conforme o critrio estabelecido; Critrios similar ao AutoFiltro. Permite que sejam estabelecidos critrios para pesquisa. Para que o filtro seja aplicado, necessrio utilizar os botes Localizar anterior e Localizar prximo. Barra de rolagem permite caminhar atravs dos registros;

Pgina 27 Ednis P. Rocha

Trabalhando com filtros avanados


1 Passo Inserir pelo menos trs linhas em branco no antes do incio da lista que contm os dados que sero filtrados: 2 Passo Copiar, na primeira linha disponvel e na mesma coluna o nome do campo que ser pesquisado, acrescentando logo abaixo o critrio para a pesquisa: 3 Passo Selecionar o comando Dados/Filtrar/Filtro Avanado... Intervalo da lista informar o endereo da lista onde ser executada a pesquisa; Intervalo de critrios informar o endereo que contm os critrios para a pesquisa; Copiar para informar o endereo para onde ser copiado o resultado da pesquisa. Deve-se utilizar a planilha ativa. Esta opo somente estar disponvel caso a Ao Copiar para outro local esteja habilitada; Filtrar a lista no local aplica o filtro no mesmo local definido em Intervalo da Lista (no exclui os registros que ficarem fora do critrio, apenas os torna no visveis temporariamente); Copiar para outro local pelo uma clula a partir da qual ser utilizado um espao para copiar os valores capturados pelo critrio (valores que porventura estejam neste espao sero apagados); Somente registros exclusivos no seleciona possveis registros repetidos que satisfaam ao critrio.

Observaes Para desfazer um filtro, selecione o comando Dados/Filtrar/Mostrar todos; Sobre o resultado de um filtro podem ser aplicados outros filtros ou subtotais.

Trabalhando com subtotais


Pgina 28 Ednis P. Rocha

Subtotais so nveis de grupos de informaes separados por um determinado critrio. 1 Passo Classificar a lista de dados, ordenando-a pelo item que ser utilizado para gerar o subtotal, atravs do comando Dados/Classificar

2 Passo Tendo selecionado ao menos uma clula da lista que contm os dados, utilizar o comando Dados/Subtotais. A cada alterao em - Selecionar o nome do campo para gerar o ndice para o subtotal; Usar funo - Selecionar a funo que ser aplicada ao campo indicado em Adicionar subtotal a: Soma - a soma dos valores em uma lista. Esta a funo padro para dados numricos. Contar - o nmero de itens em uma lista. Esta a funo padro para dados no numricos. Mdia - a mdia dos valores em uma lista. Mx- o maior valor em uma lista. Mn - o menor valor em uma lista. Produto - o resultado da multiplicao de todos os valores em uma lista. Cont.Nms - o nmero de registros ou linhas em uma lista que contm dados numricos. DesvPad - uma estimativa do desvio padro de uma populao, onde a lista a amostra. DesvPadp - o desvio padro de uma populao onde a lista a populao inteira. Var - uma estimativa da varincia de uma populao onde a lista a amostra. Varp - a varincia de uma populao onde a lista a populao inteira. Adicionar subtotal a indica o campo sobre o qual ser aplicada a funo selecionada em Usar funo; Substituir subtotais atuais ao selecionar esta opo, todos os subtotais existentes sero removidos quando o boto ok for ativado, e novos subtotais sero aplicados. Caso no esteja selecionada esta opo, os novos subtotais sero aplicados sobre os j existentes; Quebra de pgina entre grupos insere uma quebra de pgina aps cada grupo de subtotal; Resumir abaixo dos dados estando selecionada, insere um resumo dos dados logo aps todos os subtotais. No sendo selecionada, o resumo ser includo como a primeira linha aps os rtulos de dados; Remover todos remove todos os subtotais existentes para a lista atual.

Tabela Dinmica
Pgina 29 Ednis P. Rocha

uma tabela de planilha interativa que pode resumir grandes quantidades de dados existentes usando os formatos e os mtodos de clculo escolhidos. Normalmente se aplica uma tabela dinmica quando se quer resumir os dados de um banco de dados. Essa pesquisa poder ser feita em quatro fontes: banco de dados ou lista do Excel; origem de dados externa vrios intervalos de consolidao; outra tabela dinmica. A partir de uma lista/banco de dados, e aps selecionar o comando Dados/Relatrio da tabela dinmica... seguem-se quatro passos: 1 Passo Devemos selecionar a partir de onde sero obtidos os dados que comporo a tabela que ser criada e clicar em Avanar: Banco de dados ou lista do Microsoft Excel: Clique em uma clula em sua lista antes de executar o Assistente da tabela dinmica. Na caixa de dilogo Assistente da tabela dinmica - etapa 2a de 4, o assistente preenche a referncia lista para voc. Microsoft Excel ignora os filtros que voc aplicou a uma lista, usando os comandos do submenu Filtrar do menu Dados. A Tabela dinmica inclui automaticamente todos os dados na lista. Para criar uma Tabela dinmica a partir dos dados filtrados, use o comando Filtro avanado para extrair um intervalo de dados para outro local da planilha e baseie a Tabela dinmica no intervalo extrado. Microsoft Excel criar automaticamente totais gerais e subtotais na Tabela dinmica. Se a lista de origem contiver totais gerais e subtotais automticos, remova-os antes de criar a Tabela dinmica. Como o Microsoft Excel usa os dados da primeira linha da lista como nomes de campos na Tabela dinmica, a lista ou o banco de dados de origem deve conter rtulos de coluna. Para tornar mais fcil a atualizao da Tabela dinmica, quando a lista ou o banco de dados de origem for alterado, nomeie o intervalo de origem e use o nome ao criar a Tabela dinmica. Se o intervalo nomeado se expandir para incluir mais dados, voc poder atualizar a Tabela dinmica de modo a incluir os novos dados.

Origem de dados externos Voc pode usar diversas abordagens para recuperar dados a partir de uma origem de dados externos, como um banco de dados, um arquivo de texto ou uma origem diferente de uma pasta de trabalho do Microsoft Excel, incluindo origens na Internet. Geralmente, voc pode especificar os dados desejados e recuper-los a partir do Assistente da tabela dinmica. Com o Assistente da tabela dinmica, alm de consultar arquivos, voc pode criar novas consultas usando o Assistente de consulta ou o Microsoft Query. Nas seguintes situaes, voc no pode recuperar os dados externos a partir do Assistente da tabela dinmica: Se voc deseja usar um modelo de relatrio para recuperar os dados e esse modelo no incluir uma Tabela dinmica, primeiro voc precisa abrir o modelo de relatrio e, em seguida, criar a Tabela dinmica com base no intervalo da planilha que contm os dados externos.

Pgina 30 Ednis P. Rocha

Se voc deseja usar uma consulta de parmetros para recuperar os dados, necessrio criar primeiro a consulta de parmetros e, em seguida, a Tabela dinmica com base no intervalo da planilha que contm os dados externos. Se voc deseja usar uma consulta da Web para recuperar dados atravs da Internet, primeiro voc deve criar a consulta da Web e, depois, a Tabela dinmica com base no intervalo da planilha que contm os dados externos.

Vrios intervalos de consolidao Quando voc consolidar dados de diversas listas ou planilhas, as listas ou planilhas devero ter nomes de linha e coluna idnticos para os itens que voc deseja resumir. No inclua quaisquer linhas de total ou colunas de total dos dados de origem ao criar a Tabela dinmica. Para tornar mais fcil a atualizao da Tabela dinmica, quando os intervalos de origem forem alterados, nomeie cada intervalo de origem e use os nomes quando voc criar a Tabela dinmica. Se um intervalo nomeado se expandir para incluir mais dados, voc poder atualizar a Tabela dinmica de modo a incluir os novos dados. Uma consolidao usa campos de pgina personalizados para exibir cada intervalo de dados de origem. Esses campos de pgina possuem itens que representam um ou mais intervalos de dados. Por exemplo, se voc estiver consolidando dados de oramentos dos departamentos de Marketing, Vendas e Produo, um campo de pgina poderia ter um item para os dados de cada departamento e outro item para exibir os dados combinados. Quando voc clicar em Vrios intervalos de consolidao na caixa de dilogo Assistente da tabela dinmica - etapa 1 de 4, poder escolher o tipo de campo de pgina desejado. Voc pode exibir uma pgina para cada intervalo de pgina ou uma pgina que consolide todos os intervalos dos dados de origem. Clique em Crie um nico campo de pgina para mim na caixa de dilogo Assistente da tabela dinmica - etapa 2a de 4. Voc pode criar at quatro campos de pgina e atribuir nomes de itens para cada intervalo de dados de origem, ou pode criar uma consolidao que no possui campos de pgina. Clique em Criarei os campos de pgina na caixa de dilogo Assistente da tabela dinmica - etapa 2a de 4. Use esta opo quando voc desejar comparar consolidaes parciais e completas.

Outra tabela dinmica Quando voc usar uma Tabela dinmica como origem para outra Tabela dinmica na mesma pasta de trabalho, as duas Tabelas dinmicas estaro vinculadas aos mesmos dados de origem. Como voc reutiliza os mesmos dados internos, o tamanho do arquivo da pasta de trabalho diminui e sero necessrios menos dados residentes na memria. Quando voc atualiza os dados em uma das Tabelas dinmicas, o Microsoft Excel tambm atualiza os dados na outra Tabela dinmica. Quando voc agrupa ou desagrupa dados em uma das Tabelas dinmicas, ambas as tabelas so afetadas. Os campos calculados e os itens calculados que voc criar em uma das Tabelas dinmicas afetaro tambm a outra Tabela dinmica. Para usar uma Tabela dinmica para criar outra Tabela dinmica, ambas as Tabelas dinmicas devem estar na mesma pasta de trabalho. Se a Tabela dinmica de origem estiver em outra pasta de trabalho, copie-a para a pasta de trabalho onde voc deseja que a nova Tabela dinmica aparea. As Tabelas dinmicas armazenadas em diferentes pastas de trabalho no compartilham os mesmos dados internos; sendo assim, voc poder atualiz-las separadamente.

Pgina 31 Ednis P. Rocha

Observao A Tabela dinmica de origem no pode conter quaisquer campos de pgina definidos para consultar dados externos medida que voc selecionar cada item. 2 Passo Nesta etapa devemos indicar qual o intervalo de onde esto os dados com os quais iremos trabalhar. A janela disponvel nesta etapa ter um formato especfico, dependendo da opo selecionada no 1 passo. 3 Passo Agora devemos selecionar os campos que esto relacionados direita para o diagrama da esquerda. necessrio ter estabelecido a forma final desejada para o relatrio que ser gerado. Pgina separa os dados da tabela resultante permitindo que os mesmo possam ser visualizados de forma independente Linha organiza os dados em linhas Colunas dispe os dados em colunas

Pgina

Linha

Coluna Ainda no 3 Passo Pgina 32 Ednis P. Rocha

Pode-se configurar cada um dos campos que iro compor uma tabela dinmica, clicando duas sobre sobre os mesmos. Para campos de Pgina, Linha ou Coluna a seguinte tela aparecer: Nome indica o nome de rtulo para o campo selecionado; Orientao indica a disposio em que o campo ser arranjado no relatrio; Subtotais: - funes de resumo para anlise de dados Soma - a soma dos valores. Esta a funo padro para os dados numricos. Contagem - o nmero de itens. A funo de resumo, Contagem, funciona de modo idntico ao da funo de planilha, ContValores. Contagem a funo padro para os dados de origem diferentes de nmeros. Mdia - a mdia dos valores. Mximo - o maior valor. Mnimo - o menor valor. Mult - o produto dos valores. Cont.Nm - o nmero de linhas que contm dados numricos. A funo de resumo Cont.Nm funciona de modo idntico funo de planilha CONT.NM. DesvPad - uma estimativa do desvio padro de uma populao, onde a amostra so todos os dados que sero resumidos. DesvPadp - o desvio padro de uma populao, onde a populao so todos os dados que sero resumidos. Var - uma estimativa da varincia de uma populao, onde a amostra so todos os dados que sero resumidos. Varp - A varincia de uma populao, onde a populao so todos os dados que sero resumidos. Ocultar Itens permite selecionar os itens referentes ao campo que no sero exibidos; Mostrar itens sem dados mostra a tabela com os rtulos, mas sem os dados; Avanado: configura opes avanadas de campo da tabela dinmica Opes de campo de pgina configura a forma como dados externos sero acessados; Opes de AutoClassificao configuram a classificao que ser utilizada para o relatrio gerado; Opes de AutoApresentao configura como e com qual quantidade de o relatrio gerado ser apresentado.

Pgina 33 Ednis P. Rocha

4 Passo Finaliza a tabela dinmica. Permite que ela seja criada como uma Nova Planilha, ou que um local na planilha existente seja selecionado para tal. Opes esta boto disponibilizada uma tela onde pode-se configurar a formatao da apresentao do relatrio e formas como a origem dos dados ser acessada.

Pgina 34 Ednis P. Rocha

Funo Procv
A funo PROCV (Procura Vertical) utilizada na pesquisa de um determinado valor emuma regio. Essa funo deve ser usada no lugar da funo SE quando utilizada de forma aninhada, ou seja, toda vez que houver vrios SEs aninhados, deve-se pensar em substitui-los pela funo PROCV, tornaod, assim, sua planilha mais rpida, eficaz e limpa. Para isso a regio que contm as informaes a serem pesquisadas precisa estar em ordem ascendente pela primeira coluna e sem linhas em branco entre as mesmas. Essa funo requer quatro parmetros: Localiza um valor na primeira coluna esquerda de uma tabela e retorna um valor na mesma linha de uma coluna especificada na tabela. Use PROCV em vez de PROCH quando os valores da comparao estiverem posicionados em uma coluna esquerda ou direita dos dados que voc deseja procurar. Sintaxe PROCV(valor_procurado;matriz_tabela;nm_ndice_coluna;procurar_intervalo) Valor_procurado: o valor a ser procurado na primeira coluna da matriz. Valor_procurado pode ser um valor, uma referncia ou uma seqncia de caracteres de texto. Matriz_tabela: a tabela de informaes em que os dados so procurados. Use uma referncia para um intervalo ou nome de intervalo, tal como Banco de dados ou Lista. Se procurar_intervalo for VERDADEIRO, os valores na primeira coluna de matriz_tabela devero ser colocados em ordem ascendente: ..., -2, -1, 0, 1, 2, ... , A-Z, FALSO, VERDADEIRO; caso contrrio, PROCV pode no retornar o valor correto. Se procurar_intervalo for FALSO, matriz_tabela no precisar ser ordenada. Os valores na primeira coluna de matriz_tabela podem ser texto, nmeros ou valores lgicos. Textos em maisculas e minsculas so equivalentes. Nm_ndice_coluna: o nmero da coluna em matriz_tabela a partir do qual o valor correspondente deve ser retornado. Um nm_ndice_coluna de 1 retornar o valor na primeira coluna em matriz_tabela; um nm_ndice_coluna de 2 retornar o valor na segunda coluna em matriz_tabela, e assim por diante. Se nm_ndice_coluna for menor do que 1, PROCV retornar o valor de erro #VALOR!; se nm_ndice_coluna for maior do que o nmero de colunas em matriz_tabela, PROCV retornar o valor de erro #REF!. Procurar_intervalo: um valor lgico que especifica se voc quer que PROCV encontre a correspondncia exata ou uma correspondncia aproximada. Se VERDADEIRO ou omitida, uma correspondncia aproximada retornada; em outras palavras, se uma correspondncia exata no for encontrada, o valor maior mais prximo que menor que o valor_procurado retornado. Se FALSO, PROCV encontrar uma correspondncia exata. Se nenhuma correspondncia for encontrada, o valor de erro #N/D retornado. Comentrios

Se PROCV no localizar valor_procurado e procurar_intervalo for VERDADEIRO, ela usar o maior valor que for menor do que ou igual a valor_procurado. Se valor_procurado for menor do que o menor valor na primeira coluna de matriz_tabela, PROCV fornecer o valor de erro #N/D. Se PROCV no localizar valor_procurado e procurar_intervalo for FALSO, PROCV fornecer o valor #N/D.

Pgina 35 Ednis P. Rocha

Exemplo 1 Na planilha ao lado, onde o intervalo A4:C12 denominado Intervalo: PROCV(1;Intervalo;1;VERDADEIRO) igual a 0,946 PROCV(1;Intervalo;2) igual a 2,17 PROCV(1;Intervalo;3;VERDADEIRO) igual a 100 PROCV(,746;Intervalo;3;FALSO) igual a 200 PROCV(0,1;Intervalo;2;VERDADEIRO) igual a #N/D, porque 0,1 menor do que o menor valor na coluna A PROCV(2;Intervalo;2;VERDADEIRO) igual a 1,71 Exemplo 2 A planilha ao lado calcula qual ser o salrio lquido e os descontos, de acordo com a faixa salarial de cada funcionrio. A frmula para a coluna E : =D3/C3 E a frmula para a coluna D : =C3-PROCV(B3;$A$10:$B$12;2)*C3 Neste caso a funo PROCV utilizada para encontrar em qual faixa salarial cada um dos funcionrios se enquadra. Note-se que as clulas E5 e E6 deveriam apresentar o seguinte erro #DIV/0!, mas a seguinte formatao foi aplicada a esta coluna:

No comando Formatar/Clulas/Nmero/Personalizado foi definido o formato do tipo como [Preto]0%; As clulas da coluna E foram formatas com cor da fonte igual cor de fundo (no caso branco).

Desta forma, quando um valor surgir, ele ser formatado como percentual e na cor preta. Observao A mesma planilha com a utilizao da funo SE ficaria com as frmulas da coluna D da seguinte forma: =SE(B3=1;C3;SE(B3=2;C3-$B$11*C3;C3-$B$12*C3))

Pgina 36 Ednis P. Rocha

Solver
Com o Solver, voc pode localizar um valor ideal para uma frmula em uma clula - chamada de clula de destino - em uma planilha. O Solver trabalha com um grupo de clulas relacionadas direta ou indiretamente com a frmula na clula de destino. O Solver ajusta os valores nas clulas variveis que voc especificar - chamadas de clulas ajustveis - para produzir o resultado especificado por voc na frmula da clula de destino. Voc pode aplicar restries para restringir os valores que o Solver poder usar no modelo, e as restries podem se referir a outras clulas que afetem a frmula da clula de destino. Restries Limitaes colocadas a um problema do Solver. Voc pode aplicar restries a clulas ajustveis (variveis), a clula de destino ou outras clulas direta ou indiretamente relacionadas com a clula de destino. Para problemas lineares, no existe limite ao nmero de restries. Para problemas nolineares, cada clula ajustvel pode ter as seguintes restries: uma restrio binria; uma restrio inteira mais limites inferior, superior ou ambos; ou limites superior, inferior ou ambos; e voc pode especificar um limite superior ou inferior para at 100 outras clulas. Os operadores abaixo podem ser usados em restries. Operador <= >= = nm bin Significado Menor que ou igual a Maior que ou igual a Igual a Inteiro (aplica-se somente a clulas ajustveis) Binrio (aplica-se somente a clulas ajustveis)

Considerando a planilha ao lado, qual a quantidade de produtos a ser vendida necessria para que o lucro lquido (F14) seja o mximo possvel (e qual esse valor)? 1 Passo Especificar a clula de destino que se deseja minimizar, maximizar ou ajustar para um determinado valor. Neste caso $F$14; 2 Passo Especificar as clulas variveis a serem ajustadas at uma soluo ser encontrada. Neste caso $C$9:$E$9; 3 Passo Especificar as clulas de restrio que devem ficar dentro de determinados limites ou satisfazer os valores de destino. Neste caso $C$9:$E$9 <= $C$5:$E$9 e $C$9:$E$9 = nm.

Selecione o comando Ferramentas/Solver. Em Definir clula de destino informe $F$14; Em Igual a selecione Mx; Em Clulas variveis informe $C$9:$E$9, que so as clulas que iro sofrer alteraes para que o valor de 215 possa ser atingido; Em Submter s restries informe $C$9:$E$9 <= $C$5:$E$9 e $C$9:$E$9 = nm, ou seja os Pgina 37 Ednis P. Rocha

valores das clulas variveis, que so as quantidades vendidas, no podem ser maiores que os valores em estoque e devem ser mantidos como nmeros; Em Opes, as seguintes alternativas esto disponveis: Voc pode controlar os recursos avanados do processo de soluo, carregar ou salvar definies de problemas e definir parmetros para os problemas lineares e no lineares. Cada opo tem uma definio padro adequada maioria dos problemas. Tempo mximo - limita o tempo usado pelo processo de soluo. Apesar de voc poder fornecer um valor to alto quanto 32.767, o valor padro de 100 (segundos) o mais adequado para grande parte dos pequenos problemas. Iteraes - limita o tempo utilizado pelo processo de soluo, restringindo o nmero de clculos provisrios. Apesar de voc poder fornecer um valor to alto quanto 32.767, o valor padro de 100 (segundos) o mais adequado para grande parte dos pequenos problemas. Preciso - controla a preciso das solues utilizando o nmero que voc forneceu para determinar se o valor de uma clula de restrio alcanou a meta ou satisfez a um limite superior ou inferior. A preciso deve ser indicada por uma frao entre 0 (zero) e 1. Uma preciso maior indicada quando o nmero fornecido possui mais casas decimais - por exemplo, 0,0001 tem mais preciso do que 0,01. Quanto maior a preciso, mais tempo ser gasto para atingir uma soluo. Tolerncia - a porcentagem atravs da qual a clula de destino de uma soluo atendendo s restries de nmero inteiro pode divergir do valor ideal e ainda ser considerada aceitvel. Esta opo aplicada somente aos problemas com restries de nmero inteiro. Uma tolerncia mais alta tende a acelerar o processo de soluo. Convergncia - quando a mudana relativa no valor da clula de destino menor que o valor das cinco ltima iteraes na caixa Convergncia, o Solver interrompido. A convergncia aplicada apenas aos problemas no lineares e deve ser indicada por uma frao entre 0 (zero) e 1. Uma convergncia menor indicada quando o nmero fornecido tem mais casas decimais - por exemplo, 0,0001 tem uma mudana relativa menor que 0,01. Quanto menor o valor da convergncia, mais tempo ser necessrio para o Solver encontrar uma soluo. Presumir modelo linear - selecione para acelerar o processo de soluo, quando todas as relaes no modelo forem lineares e voc desejar resolver um problema de otimizao linear ou uma aproximao linear para um problema no linear. Mostrar resultados de iterao - selecione para instruir o Solver a interromper e exibir os resultados de cada iterao. Usar escala automtica - selecione para usar a escala automtica quando as entradas e sadas tiverem tamanhos muito diferentes - por exemplo, quando a maximizao da porcentagem de lucros estiver baseada em investimentos de milhes de dlares. Presumir no negativo - instrui o Solver a presumir um limite mnimo de 0 (zero) para todas as clulas ajustveis para as quais voc no definiu um limite mnimo na caixa Restrio da caixa de dilogo Restrio. Estimativas - especifica a abordagem usada para obter as estimativas iniciais das variveis bsicas em cada pesquisa unidimensional. Tangente - usa a extrapolao linear de um vetor tangencial. Quadrtica - usa a extrapolao quadrtica, que pode melhorar os resultados em problemas altamente no-lineares. Derivadas - especifica a diferenciao usada para estimar derivadas parciais das funes de objetivo e de restrio. Adiante - use na maioria dos problemas em que os valores de restrio so alterados com relativa lentido. Central - use em problemas em que as restries so rapidamente alteradas, principalmente perto dos limites. Embora essa opo requeira mais clculos, pode ser til us-la quando o Solver retornar uma mensagem informando que ele no pode melhorar a soluo. Pesquisar - especifica o algoritmo que ser usado em cada iterao para decidir em que direo pesquisar. Pgina 38 Ednis P. Rocha

Newton - usa o mtodo quase-Newton que geralmente exige mais memria e bem menos iteraes do que o mtodo gradiente Conjugado. Conjugado - requer menos memria do que o mtodo Newton, mas geralmente exige mais iteraes para atingir determinado nvel de preciso. Use esta opo quando houver um problema grande e a quantidade de memria disponvel for uma preocupao, ou quando as vrias iteraes do processo de soluo revelarem um progresso lento. Carregar modelo - exibe a caixa de dilogo Carregar modelo, em que voc pode especificar a referncia para o modelo que deseja carregar. Salvar modelo - exibe a caixa de dilogo Salvar modelo, em que voc pode especificar onde deseja salvar o modelo. Clique nessa caixa somente quando voc desejar salvar mais de um modelo com a planilha o primeiro modelo salvo automaticamente. Clique em Resolver.

Agora, alm de poder manter os resultados que foram atingidos pela ferramenta Solver, pode-se restaurar os valores originais, ou ainda ter acesso a um relatrio sobre as modificaes executadas na planilha para que os resultados fossem obtidos. Para isso, em Relatrios, clique sobre o relatrio desejado e depois em OK.

Pgina 39 Ednis P. Rocha

Atingir Meta
Quando voc souber o resultado desejado de uma nica frmula mas no o valor de entrada de que a frmula necessita para determinar o resultado, voc poder usar o recurso Atingir meta. Ao utilizar este recurso, o Microsoft Excel varia o valor em uma clula especfica at que uma frmula dependente daquela clula retorne o resultado desejado. Para a seguinte planilha, quantos veculos Tempra precisam ser vendidos para que seja atingido um faturamento de R$600.000,00?

Selecione o comando Ferramentas/Atingir meta; Em Definir clula, informe a clula que contm a frmula para a qual deseja-se encontrar uma soluo. Neste caso $H$3; Em Para valor, informe o valor que se deseja atingir. Neste caso 600000; Em Variando clula informar a clula que contm o valor que ser alterado para que se atinja o valor desejado. Deve possuir relao direta com a frmula especificada e no pode ser uma frmula e sim um valor. Neste caso $G$3. Clicar em OK.

Observao: Caso haja um grfico com uma ou mais faixas referentes a essas clulas que contm frmulas, quando uma alterao for efetuada nos valores das barras, colunas ou linhas do grfico arrastando-as pela tela, automaticamente a caixa Atingir meta chamada.

Pgina 40 Ednis P. Rocha

Data e Hora
Com as funes de data e hora, voc pode analisar e trabalhar com valores de data e hora em frmulas. Por exemplo, se voc precisar usar a data atual em uma frmula, use a funo de planilha HOJE, que retorna a data atual com base no relgio do sistema do computador. DATA DATAM MS TEMPO DIA.TRABALHO DATA.VALOR FIM.MS DIA.TRABALHO.TOTAL VALOR.TEMPO ANO DIA HORA AGORA HOJE FRAO.ANO DIAS360 MINUTO SEGUNDO DIA.DA.SEMANA

Como o Microsoft Excel efetua clculos de data e hora O Microsoft Excel armazena datas como nmeros seqenciais conhecidos como valores de srie e armazena horas como fraes decimais, pois a hora considerada uma parte de um dia. As datas e horas so valores e, logo, podem ser adicionadas, subtradas e includas em outros clculos. Por exemplo, para determinar a diferena entre duas datas, subtraia uma data da outra. Voc pode exibir uma data ou hora como um nmero de srie ou uma frao decimal, alterando o formato da clula que contm a data ou hora para o formato Geral. O Microsoft Excel 97 aceita dois sistemas de datas: os sistema de datas 1900 e 1904. O sistema de datas padro do Microsoft Excel 97 para Windows 1900. Para alterar para o sistema de datas 1904, clique em Opes no menu Ferramentas, clique na guia Clculo e, em seguida, marque a caixa de seleo Sistema de data 1904. A tabela a seguir mostra a primeira e a ltima data para cada sistema de datas e o valor de srie associado a cada data. Sistema de Datas 1900 1904 Primeira Data 1 de janeiro de 1900 (valor de srie 1) 2 de janeiro de 1904 (valor de srie 1) ltima Data 31 de dezembro de 9999 (valor de srie 2958525) 31 de dezembro de 9999 (valor de srie 2957063)

Observao Quando voc insere uma data no Microsoft Excel 97 e apenas dois dgitos so inseridos para o ano, o Microsoft Excel inserir o ano da seguinte forma: Os anos 2000 a 2029 se voc digitar 00 a 29 para o ano. Por exemplo, se voc digitar 28/5/19, o Microsoft Excel presumir que a data 28 de maio de 2019. Os anos 1930 a 1999 se voc digitar 30 a 99 para o ano. Por exemplo, se voc digitar 28/5/91, o Microsoft Excel presumir que a data 28 de maio de 1991. Utilidade Sintaxe Retorna o nmero de srie de uma determinada DATA(ano;ms;dia) data Retorna o nmero de srie da data representada DATA.VALOR(texto_da por texto_data. Use DATA.VALOR para converter ta) uma data representada pelo texto em um nmero de srie. Retorna o dia do ms que corresponde a DIA(nm_srie) nm_srie. O dia dado como um inteiro que varia de 1 a 31. Retorna o nmero de dias entre duas datas com DIAS360(data_inicial;d Pgina 41 Ednis P. Rocha

Funo Data Data.Valor

Dia Dias360

base em um ano de 360 dias (doze meses de 30 dias). Use esta funo para ajudar no clculo dos pagamentos, se o seu sistema de contbil estiver baseado em doze meses de 30 dias. Datam Retorna um nmero de srie de data que o nmero de meses indicado antes ou depois de data_inicial. Use DATAM para calcular datas de quitao ou datas de vencimento que caem no mesmo dia do ms da data de emisso. Fim.Ms Retorna a data de nmero de srie para o ltimo dia do ms que o nmero indicado de meses antes ou depois de data_inicial. Use FIM.MS para calcular as datas de vencimento que caem no ltimo dia do ms. Hora Retorna a hora correspondente a nm_srie. A hora retornada como um inteiro, variando de 0 (12:00 A.M.) a 23 (11:00 P.M.). Minuto Retorna o minuto correspondente a nm_srie. O minuto fornecido como um inteiro, variando de 0 a 59. Ms Retorna o ms correspondente a nm_srie. O ms fornecido como um inteiro, variando de 1 (janeiro) a 12 (dezembro). Dia.Trabalho.Total Retorna o nmero de dias teis inteiros entre data_inicial e data_final. Os dias teis excluem os fins de semana e quaisquer datas identificadas em feriados. Use DIA.TRABALHO.TOTAL para calcular os benefcios aos empregados que recebem com base no nmero de dias trabalhados durante um perodo especfico. Agora Retorna o nmero de srie da data e hora atuais. Segundo Retorna o segundo correspondente a nm_srie. O segundo fornecido como um inteiro no intervalo de 0 (zero) a 59. Use SEGUNDO para obter a hora em segundos indicada por um nmero de srie. Tempo Retorna o nmero de srie de um horrio em particular. O nmero de srie retornado por TEMPO uma frao decimal que varia de 0 a 0,99999999, representando as horas de 0:00:00 (12:00:00 A.M.) a 23:59:59 (11:59:59 P.M.). Valor.Tempo Retorna o nmero de srie da hora representada por texto_hora. O nmero de srie uma frao decimal que varia de 0 a 0,99999999 e que representa as horas entre 0:00:00 (12:00:00 A.M.) e 23:59:59 (11:59:59 P.M.). Use VALOR.TEMPO para converter uma hora representada como texto para um nmero de srie. Hoje Retorna o nmero de srie da data atual. O nmero de srie o cdigo de data-hora usado pelo Microsoft Excel para clculos de data e hora. Para obter maiores informaes sobre nmeros de srie, consulte AGORA. Dia.Da.Semana Retorna o dia da semana correspondente a nm_srie. O dia retornado como um inteiro variando entre 1 (domingo) e 7 (sbado). Diatrabalho Retorna a data de nmero de srie correspondente ao nmero indicado de dias teis antes ou depois de data_inicial. Os dias teis excluem fins de semana ou quaisquer datas identificadas como feriados. Use DIATRABALHO para excluir fins de semana ou feriados quando se calcula as datas de Pgina 42 Ednis P. Rocha

ata_final;mtodo)

DATAM(data_inicial;me ses)

FIM.MS(data_inicial;m eses)

HORA(nm_srie) MINUTO(nm_srie) MS(nm_srie) DIA.TRABALHO.TOTA L(data_inicial;data_final ;feriados)

AGORA( ) SEGUNDO(nm_srie)

TEMPO(hora;minuto;se gundo)

VALOR.TEMPO(texto_ hora)

HOJE( )

DIA.DA.SEMANA(nm _srie;retornar_tipo) DIATRABALHO(data_i nicial;dias;feriados)

Ano Frao.Ano

vencimento, as horas de entrega esperadas ou o nmero de dias de trabalho executado. Para exibir o nmero como data, clique em Clulas no menu Formatar. Em seguida clique em Data na caixa Categoria e selecione um formato de data na caixa Tipo. Retorna o ano correspondente a nm_srie. O ano ANO(nm_srie) fornecido como um inteiro no intervalo 19009999. Calcula a frao de ano que representa o nmero FRAO.ANO(data_ini cial;data_final;base) de dias inteiros entre duas datas (data_inicial e data_final). Use a funo de planilha FRAO.ANO para identificar a proporo dos benefcios ou obrigaes de um ano inteiro a serem designados para um determinado termo.

Pgina 43 Ednis P. Rocha

Funes Definidas pelo usurio


Se voc usa um clculo particularmente complexo em vrias frmulas, ou clculos que exigem diversas frmulas porque as funes de planilha existentes no atendem s suas necessidades, voc pode criar funes personalizadas. Essas funes, conhecidas como funes definidas pelo usurio, so criadas com o Visual Basic for Applications. Procedimento Function Um procedimento Function uma srie de instrues do Visual Basic colocadas entre as instrues Function e End Function. Um procedimento Function semelhante a um procedimento Sub, mas uma funo pode retornar um valor. Um procedimento Function pode utilizar argumentos, assim como constantes, variveis ou expresses passadas para ele atravs de um procedimento de chamada. Caso um procedimento Function no tenha argumentos, sua instruo Function deve incluir um conjunto de parnteses vazio. Uma funo retorna um valor atribuindo um valor ao seu nome em uma ou mais instrues do procedimento. No exemplo apresentado a seguir, a funo Celsius calcula o nmero de graus Celsius a partir dos graus Fahrenheit. Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function Instruo If...Then...Else Executa condicionalmente um grupo de instrues, dependendo do valor de uma expresso. Sintaxe If condio Then [instrues] [Else instrueselse] Ou voc pode utilizar a sintaxe de formato de bloco: If condio Then [instrues] [ElseIf condio-n Then [instrueselseif] ... [Else [instrueselse]] End If A instruo If...Then...Else possui as partes a seguir: Parte Descrio

condio - Obrigatria. Um ou mais dos dois tipos de expresso seguintes: Uma expresso numrica ou expresso de seqncia de caracteres que avaliada como True ou False. Se condio for Null, ser tratada como False. Uma expresso do formato TypeOf nomedoobjeto Is tipodoobjeto. O nomedoobjeto qualquer referncia a objeto e tipodoobjeto qualquer tipo de objeto vlido. A expresso ser True se nomedoobjeto for o tipo de objeto especificado por tipodoobjeto; caso contrrio, ser False. instrues - Opcional em formato de bloco; requerida em formato de uma s linha que no possui clusula Else. Uma ou mais instrues separadas por dois-pontos; executada se condio for True. condio-n - Opcional. Igual a condio. instrueselseif - Opcional. Uma ou mais instrues executadas se a condio-n associada for True. Pgina 44 Ednis P. Rocha

instrueselse - Opcional. Uma ou mais instrues executadas se nenhuma expresso condio ou condio-n anterior for True. Comentrios Voc pode utilizar o formato de uma s linha (primeira sintaxe) para testes simples e curtos. Entretanto, o formato de bloco (segunda sintaxe) proporciona mais estrutura e flexibilidade do que o formato de uma s linha e normalmente mais fcil de ler, manter e depurar. Observao Com o formato de uma s linha possvel ter mltiplas instrues executadas como resultado de uma deciso If...Then. Todas as instrues devem estar na mesma linha e separadas por dois-pontos, como na seguinte instruo: If A > 10 Then A = A + 1 : B = B + A : C = C + B Uma instruo If em formato de bloco deve ser a primeira em uma linha. As partes Else, ElseIf, e End If da instruo podem ter somente um nmero de linha ou rtulo de linha precedendo-as. O If em bloco deve terminar com uma instruo End If. Para determinar se uma instruo ou no If em bloco, examine o que vem em seguida palavrachave Then. Se qualquer coisa exceto um comentrio aparecer depois de Then na mesma linha, a instruo ser tratada como instruo If de uma s linha. A clusulas Else e ElseIf so opcionais. Voc pode ter tantas clusulas ElseIf em um bloco If quantas desejar, mas nenhuma pode aparecer depois de uma clusula Else. Instrues If em bloco podem ser embutidas, isto , contidas uma dentro da outra. Executando um If em bloco (segunda sintaxe), condio testada. Se condio for True, as instrues seguintes a Then so executadas. Se condio for False, cada condio ElseIf (se houver) ser por sua vez avaliada. Quando uma condio True for encontrada, as instrues imediatamente subseqentes Then associada so executadas. Se nenhuma das condies ElseIf forem True (ou se no houver clusulas ElseIf), as instrues subseqentes a Else so executadas. Depois da execuo das instrues subseqentes a Then ou Else, a execuo continua com a instruo subseqente a End If. Exemplo Dim Nmero, Dgitos, MinhaSeqncia Nmero = 53 ' Inicializa a varivel. If Nmero < 10 Then Dgitos = 1 ElseIf Nmero < 100 Then ' A condio avalia como True, ento a prxima instruo executada. Dgitos = 2 Else Dgitos = 3 End If Utilizando instrues If...Then...Else Voc pode utilizar a instruo If...Then...Else para executar uma instruo especfica ou um bloco de instrues, dependendo do valor de uma condio. As instrues If...Then...Else podem ser aninhadas em tantos nveis quanto voc precise. No entanto, pode ser que, por uma questo de legibilidade, voc prefira utilizar uma instruo Select Case no lugar de criar mltiplos nveis de instrues If...Then...Else aninhadas. Executando instrues caso uma condio seja True Pgina 45 Ednis P. Rocha

Para executar uma instruo somente quando uma condio for True, utilize a sintaxe de uma linha da instruo If...Then...Else. O exemplo apresentado a seguir mostra a sintaxe de uma linha, omitindo a palavra-chave Else: Sub CorrigirData() minhaData = #2/13/95# If minhaData < Now Then minhaData = Now End Sub Para executar mais de uma linha de cdigo, utilize a sintaxe de mltiplas linhas. Essa sintaxe inclui a instruo End If, como mostra o exemplo apresentado a seguir: Sub AlertarUsurio(value as Long) If valor = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True End If End Sub Executando certas instrues caso uma condio seja True e, executando outras, caso ela seja False Utilize uma instruo If...Then...Else para definir dois blocos de instrues executveis: um bloco executado caso a condio seja True; o outro bloco executado caso a condio seja False. Sub AlertarUsurio(valor as Long) If valor = 0 Then AlertLabel.ForeColor = AlertLabel.Font.Bold = AlertLabel.Font.Italic Else AlertLabel.Forecolor = AlertLabel.Font.Bold = AlertLabel.Font.Italic End If End Sub

vbRed True = True vbBlack False = False

Testando uma segunda condio caso a primeira condio seja False Voc pode adicionar instrues ElseIf a uma instruo If...Then...Else para testar uma segunda condio caso a primeira condio seja False. Por exemplo, o procedimento de funo apresentado a seguir computa uma gratificao com base no cargo. A instruo posterior a Else caso as condies em todas as instrues If e ElseIf sejam False. Function Bonus(desempenho, salrio) If desempenho = 1 Then Bonus = salrio * 0.1 ElseIf desempenho = 2 Then Bonus = salrio * 0.09 ElseIf desempenho = 3 Then Bonus = salrio * 0.07 Else Bonus = 0 End If End Function

Instruo For...Next
Pgina 46 Ednis P. Rocha

Repete um grupo de instrues um nmero especfico de vezes. Sintaxe For contador = incio To fim [Step passo] [instrues] [Exit For] [instrues] Next [contador] A sintaxe da instruo ForNext possui as partes a seguir: Contador - Obrigatria. Varivel numrica utilizada como contador de loops. A varivel no pode ser um Boolean ou um elemento de matriz. Incio - Obrigatria. Valor inicial do contador. Fim - Obrigatria. Valor final do contador. Passo - Opcional. A quantidade em que o contador alterado cada vez que passa pelo loop. Se o passo no for especificado, o padro ser um. Instrues - Opcional. Uma ou mais instrues entre For e Next que so executadas conforme o nmero de vezes especificado. Comentrios O argumento do passo pode ser positivo ou negativo. O valor do argumento do passo determina o processamento do loop da seguinte forma: Valor Positivo ou 0 Negativo Loop executado se contador <= fim contador >= fim

Depois que todas as instrues do loop tiverem sido executadas, passo adicionado a contador. Neste momento ou as instrues do loop so executadas novamente (baseadas no mesmo teste que causou a execuo inicial do loop) ou o loop sai e a execuo continua com a instruo seguinte instruo Next. Dica A alterao do valor de um contador estando dentro de um loop pode tornar mais difcil a leitura e depurao do seu cdigo. Qualquer nmero de instrues Exit For pode ser colocado em qualquer lugar dentro do loop como meio alternativo de sair. Muitas vezes Exit For utilizada depois da avaliao de alguma condio, por exemplo, If...Then, e transfere o controle para a instruo imediatamente seguinte a Next. Voc pode embutir loops For...Next colocando um dentro do outro. D a cada loop um nome de varivel exclusivo como seu contador. A construo a seguir correta: For I = 1 To 10 For J = 1 To 10 For K = 1 To 10 ... Next K Next J Next I Observao Se voc omitir contador em uma instruo Next, a execuo continua como se contador estivesse includo. Se uma instruo Next for encontrada antes de sua instruo For correspondente, ocorrer um erro. Pgina 47 Ednis P. Rocha

Instruo Do...Loop Repete um bloco de instrues enquanto uma condio True ou at que ela se torne True. Sintaxe Do [{While | Until} condio] [instrues] [Exit Do] [instrues] Loop Ou voc pode utilizar esta sintaxe: Do [instrues] [Exit Do] [instrues] Loop [{While | Until} condio] A sintaxe da instruo Do Loop possui as partes a seguir: Condio - Opcional. Expresso numrica ou expresso de seqncia que seja True ou False. Se condio for Null, condio tratada como False. Instrues - Uma ou mais instrues que so repetidas enquanto, ou at que, condio seja True. Comentrios Qualquer nmero de instrues Exit Do pode ser colocado em qualquer lugar em DoLoop como meio alternativo para sair de um DoLoop. Exit Do freqentemente utilizada depois que alguma condio avaliada, por exemplo, IfThen, caso em que a instruo Exit Do transfere o controle para a instruo imediatamente seguinte a Loop. Quando utilizada com instrues DoLoop embutidas, Exit Do transfere o controle para o loop que est embutido em um nvel acima do loop em que ocorre Exit Do.

Pgina 48 Ednis P. Rocha

Utilizando instrues For Each...Next


As instrues For Each...Next repetem um bloco instrues em cada objeto de uma coleoou em cada elemento de uma matriz. O Visual Basic define automaticamente uma varivel todas as vezes que o loop for executado. Por exemplo, o procedimento apresentado a seguir fecha todos os formulrios, exceto o formulrio que contm o procedimento que est sendo executado. Sub FecharFormulrios() For Each frm In Application.Forms If frm.Caption <> Screen. ActiveForm.Caption Then frm.Close Next End Sub O cdigo apresentado a seguir executa um loop atravs de todos os elementos de uma matriz e define o valor de cada um deles como o valor da varivel de ndice I. Dim TestarMatriz(10) As Integer, I As Variant For Each I In TestarMatriz TestarMatriz(I) = I Next I Executando um loop em um intervalo de clulas Utilize um loop For Each...Next para efetuar um loop nas clulas de um intervalo. O procedimento apresentado a seguir executa um loop no intervalo A1:D10 da Plan1 e define qualquer nmero cujo valor absoluto seja inferior a 0.01 como 0 (zero). Sub ArredondarParaZero() For Each meuObjeto in minhaColeo If Abs(meuObjeto.Value) < 0.01 Then meuObjeto.Value = 0 Next End Sub Saindo de um loop For Each...Next antes que ele tenha terminado Voc pode sair de um loop For Each...Next utilizando a instruo Exit For. Por exemplo, quando ocorre um erro, utilize a instruo Exit For no bloco de instrues True de uma instruo If...Then...Else ou uma instruo Select Case que verifica de forma especfica o erro. Caso no ocorra o erro, a instruo IfThenElse ser False e o loop prosseguir normalmente. O exemplo apresentado a seguir testa a primeira clula no intervalo A1:B5 que no contenha um nmero. Se existir uma clula desse tipo, ser exibida uma mensagem e Exit For sair do loop. Sub TestarNmeros() For Each meuObjeto In MinhaColeo If IsNumeric(meuObjeto.Value) = False Then MsgBox "Objeto contm um valor no-numrico." Exit For End If Next End Sub Sub teste() Dim nr, cont As Integer nr = InputBox("Digite um nmero inteiro") cont = 1 For Each c In Range("a1:a10") Pgina 49 Ednis P. Rocha

c.Value = cont c.Offset(0, 1).Value c.Offset(0, 2).Value c.Offset(0, 3).Value c.Offset(0, 4).Value cont = cont + 1 'delay 0.5 Next c End Sub

= = = =

"X" nr "=" nr * cont

Sub delay(rtime) Dim oldtime As Variant If rtime < 0.01 Or rtimr > 300 Then rtime = 1 oldtime = Timer Do DoEvents Loop Until Timer - oldtime >= rtime End Sub

Pgina 50 Ednis P. Rocha

Objeto Workbook
Representa uma pasta de trabalho do Microsoft Excel. Propriedade Workbooks Use Workbooks(ndice), onde ndice o nmero de ndice ou o nome da pasta de trabalho, para retornar um nico objeto Workbook. O exemplo seguinte ativa a pasta de trabalho um. Workbooks(1).Activate O nmero de ndice denota a ordem na qual as pastas de trabalho foram abertas ou criadas. Workbooks(1) a primeira pasta de trabalho criada e Workbooks(Workbooks.Count) a ltima criada. A ativao de uma pasta de trabalho no altera seu nmero de ndice. Todas as pastas de trabalho so includas na contagem do ndice, mesmo que elas estejam ocultas. A propriedade Name retorna o nome da pasta de trabalho. Voc no pode definir o nome usando essa propriedade; se voc precisa alterar o nome, use o mtodo SaveAs para salvar a pasta de trabalho com um nome diferente. O seguinte exemplo ativa Plan1 na pasta de trabalho chamada Brocas.xls (a pasta de trabalho precisa j estar aberta no Microsoft Excel). Workbooks("brocas.xls").Worksheets("plan1").Activate Propriedade ActiveWorkbook A propriedade ActiveWorkbook retorna a pasta de trabalho que est ativa no momento. O exemplo seguinte define o nome do autor da pasta de trabalho ativa. ActiveWorkbook.Author = "Joo Silva"

Pgina 51 Ednis P. Rocha

Objeto Worksheet
Representa uma planilha O objeto Worksheet um membro da coleo Worksheets. A coleo Worksheets contm todos os objetos Worksheet em uma pasta de trabalho. Propriedade Worksheets Use Worksheets(ndice), onde ndice nmero de ndice ou nome da planilha para retornar um nico objeto Worksheet. O exemplo seguinte oculta a planilha um na pasta de trabalho ativa. Worksheets(1).Visible = False O nmero de ndice da planilha denota a posio de uma planilha na barra de guias da pasta de trabalho. Worksheets(1) a primeira planilha (mais esquerda) na pasta de trabalho e Worksheets(Worksheets.Count) a ltima. Todas as planilhas so includas na contagem do ndice, mesmo quando esto ocultas. O nome da planilha mostrado na guia da planilha. Use a propriedade Name para definir ou retornar o nome da planilha. O exemplo seguinte protege os cenrios na Plan1. Worksheets("plan1").Protect password:="ahnes", scenarios:=True O objeto Worksheet tambm um membro da coleo Sheets. A coleo Sheets contm todas as planilhas da pasta de trabalho (tanto folhas de grfico quanto planilhas de trabalho). Propriedade ActiveSheet Quando uma planilha a planilha ativa, voc pode usar a propriedade ActiveSheet para referir-se a ela. O exemplo seguinte usa o mtodo Activate para ativar Plan1, define a orientao da pgina como modo paisagem e, em seguida, imprime a planilha. Worksheets("plan1").Activate ActiveSheet.PageSetup.Orientation = xlLandscape ActiveSheet.PrintOut

Pgina 52 Ednis P. Rocha

Objeto Range
Representa uma clula, uma linha, uma coluna, uma seleo de clulas contendo um ou mais blocos contguos de clulas ou um intervalo 3-D. Propriedade Range Use Range(argumento), onde argumento nomeia o intervalo, para retornar um objeto Range representando uma nica clula ou um intervalo de clulas. O exemplo seguinte coloca o valor da clula A1 na clula A5. Worksheets("Plan1").Range("A5").Value = _ Worksheets("Plan1").Range("A1").Value O exemplo seguinte preenche o intervalo A1:H8 com nmeros randmicos definindo a frmula para cada clula do intervalo. Quando usada sem um qualificador de objeto (um objeto esquerda do ponto), a propriedade Range retorna um intervalo da planilha ativa. Se a planilha ativa no for uma planilha de trabalho, o mtodo falhar. Use o mtodo Activate para ativar uma planilha antes de usar a propriedade Range sem um qualificador de objeto explcito. Worksheets("plan1").Activate Range("A1:H8").Formula = "=rand()" 'O intervalo est na planilha ativa O exemplo seguinte limpa o contedo do intervalo chamado "Critrios". Worksheets(1).Range("critrios").ClearContents Se voc usar um argumento de texto para o endereo do intervalo, voc ter que especificar o endereo em notao de estilo A1 (voc no poder usar a notao de estilo L1C1). Propriedade Cells Use Cells(linha, coluna) onde linha o ndice da linha e coluna o ndice da coluna, para retornar uma nica clula. O exemplo seguinte define o valor da clula A1 como 24. Worksheets(1).Cells(1, 1).Value = 24 O exemplo seguinte define a frmula para a clula A2. ActiveSheet.Cells(2, 1).Formula = "=sum(b1:b5)" Embora voc tambm possa usar Range("A1") para retornar a clula A1, pode haver ocasies em que a propriedade Cells seja mais conveniente porque voc pode usar uma varivel para a linha ou coluna. O exemplo seguinte cria cabealhos de coluna e linha na Plan1. Observe que aps a planilha ser ativada, a propriedade Cells pode ser usada sem uma declarao explcita de planilha (ela retorna uma clula da planilha ativa). Sub ConfigTabela() Worksheets("plan1").Activate For oAno = 1 To 5 Cells(1, oAno + 1).Value = 1990 + oAno Next oAno For oTrimestre = 1 To 4 Cells(oTrimestre + 1, 1).Value = "T" & oTrimestre Next oTrimestre End Sub Pgina 53 Ednis P. Rocha

Apesar de voc poder usar funes de cadeia de caracteres do Visual Basic para alterar as referncias de estilo A1, muito mais fcil (e uma prtica de programao muito melhor) usar a notao Cells(1, 1). Use expresso.Cells(linha, coluna), onde expresso uma expresso que retorne um objeto Range, e linha e coluna so relativas ao canto superior esquerdo do intervalo, para retornar parte de um intervalo. O exemplo seguinte define a frmula para a clula C5. Worksheets(1).Range("c5:c10").Cells(1, 1).Formula = "=rand()" Range e Cells Use Range(clula1, clula2), onde clula1 e clula2 so objetos Range que especificam as clulas inicial e final, para retornar um objeto Range. O exemplo seguinte define o estilo da linha da borda das clulas 1:J10. With Worksheets(1) .Range(.Cells(1, 1), .Cells(10, 10)).Borders.LineStyle = xlThick End With Observe o ponto na frente de cada ocorrncia da propriedade Cells. O ponto ser obrigatrio se o resultado da instruo With anterior for aplicado propriedade Cells nesse caso, para indicar que as clulas esto na planilha um (sem o ponto, a propriedade Cells retornaria as clulas da planilha ativa). Propriedade Offset Use Offset(linha, coluna), onde linha e coluna so os deslocamentos de linha e coluna, para retornar um intervalo em um deslocamento especificado de um outro intervalo. O exemplo seguinte seleciona a clula trs linhas abaixo e uma coluna esquerda da clula do canto superior esquerdo da seleo atual. Voc no pode selecionar uma clula que no esteja na planilha ativa, portanto, voc precisa ativar primeiro a planilha. Worksheets("plan1").Activate 'no possvel selecionar, a menos que a planilha esteja ativa Selection.Offset(3, 1).Range("a1").Select Mtodo Union Use Union(intervalo1, intervalo2, ...) para retornar intervalos de vrias reas isto , intervalos compostos de dois ou mais blocos contguos de clulas. O exemplo seguinte cria um objeto definido como a unio de intervalos A1:B2 e C3:D4 e, em seguida, seleciona o intervalo definido. Dim i1 As Range, i2 As Range, meuIntervVriasreas As Range Worksheets("plan1").Activate Set i1 = Range("A1:B2") Set i2 = Range("C3:D4") Set meuIntervVriasreas = Union(i1, i2) meuIntervVriasreas.Select Se voc trabalha com selees que contm mais do que uma rea, a propriedade Areas muito til. Ela divide uma seleo de vrias reas em objetos Range individuais e, em seguida, retorna os objetos como uma coleo. Voc pode usar a propriedade Count na coleo retornada para verificar uma seleo que contenha mais do que uma rea, como mostrado no exemplo seguinte. Sub NenhumaSelDeVriasreas() nmeroDereasSelecionadas = Selection.Areas.Count If nmeroDereasSelecionadas > 1 Then MsgBox "Voc no pode executar esse comando " & _ Pgina 54 Ednis P. Rocha

End If End Sub

"em selees de vrias reas"

Pgina 55 Ednis P. Rocha

Mtodo InputBox
Exibe uma caixa de dilogo para entrada pelo usurio. Retorna as informaes inseridas na caixa de dilogo. Sintaxe expresso.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type) expresso: Obrigatria. Uma expresso que retorne um objeto Application. Prompt: String obrigatria. A mensagem a ser exibida na caixa de dilogo. Pode ser uma seqncia, um nmero, uma data ou um valor Boolean (o Microsoft Excel converte o valor automaticamente para uma String antes dele ser exibido). Title: Variant opcional. O ttulo da caixa de entrada. Se esse argumento for omitido, o ttulo padro ser "Entrada". Default: Variant opcional. Especifica um valor que aparecer na caixa de texto quando a caixa de dilogo for inicialmente exibida. Se esse argumento for omitido, a caixa de texto ser deixada vazia. Esse valor pode ser um objeto Range. Left: Variant opcional. Especifica uma posio x para a caixa de dilogo em relao ao canto superior esquerdo da tela, em pontos. Top: Variant opcional. Especifica uma posio y para a caixa de dilogo em relao ao canto superior esquerdo da tela, em pontos. HelpFile: Variant opcional. O nome do arquivo de Ajuda para essa caixa de entrada. Se os argumentos HelpFile e HelpContextID estiverem presentes, um boto Ajuda aparecer na caixa de dilogo. HelpContextId: Variant opcional. O nmero de identificao do contexto do tpico da Ajuda em HelpFile. Type: Variant opcional. Especifica o tipo de dados retornado. Se esse argumento for omitido, a caixa de dilogo retornar texto. Pode ser um dos valores abaixo ou a soma deles.

Valor 0 1 2 4 8 16 64

Significado Uma frmula Um nmero Texto (uma seqncia) Um valor lgico (True ou False) Uma referncia a clulas, como um objeto Range Um valor de erro, como #N/D Uma matriz de valores

Voc pode usar a soma dos valores permitidos para Type. Por exemplo, para uma caixa de entrada que possa aceitar tanto texto como nmeros, defina Type como 1 + 2. Comentrios Use InputBox para exibir uma caixa de dilogo simples para que voc possa inserir informaes a serem usadas em uma macro. A caixa de dilogo tem um boto OK e um boto Cancelar. Quando voc escolhe o boto OK, InputBox retorna o valor inserido na caixa de dilogo. Quando voc clica no boto Cancelar, InputBox retorna False. Quando Type 0, InputBox retorna a frmula na forma de texto por exemplo, "=2*PI()/360". Se houver quaisquer referncias na frmula, elas sero rertornadas como referncias de estilo A1. (Use ConvertFormula para fazer a converso entre estilos de referncias). Quando Type 8, InputBox retorna um objeto Range. Voc precisa usar a instruo Set para atribuir o resultado a um objeto Range, como mostrado no exemplo seguinte. Pgina 56 Ednis P. Rocha

Set meuInterv = Application.InputBox(prompt := "Exemplo", type := 8) Se voc no usar a instruo Set, a varivel ser definida com o valor no intervalo em vez do prprio objeto Range. Se voc usar o mtodo InputBox para pedir uma frmula ao usurio, voc ter que usar a propriedade FormulaLocal para atribuir a frmula a um objeto Range. A frmula de entrada dever estar no idioma do usurio. O mtodo InputBox difere da funo InputBox em permitir validao seletiva da entrada do usurio, e em poder ser usada com objetos, valores de erro e frmulas do Microsoft Excel. Observe que Application.InputBox chama o mtodo InputBox; InputBox sem qualificador de objeto chama a funo InputBox. Exemplo meuNm = Application.InputBox("Insira um nmero") Este exemplo pede ao usurio que selecione uma clula em Plan1. Este exemplo usa o argumento Type para assegurar que o valor retornado seja uma referncia de clula vlida (um objeto Range). Worksheets("Plan1").Activate Set minhaClula = Application.InputBox( _ prompt:="Selecione uma clula", Type:=8)

Pgina 57 Ednis P. Rocha

Funo MsgBox
Exibe uma mensagem em uma caixa de dilogo, aguarda que o usurio clique em um boto e retorna um Integer que indica qual boto o usurio clicou. Sintaxe MsgBox(prompt[, buttons] [, title] [, helpfile, context]) A sintaxe da funo MsgBox possui os argumentos nomeados a seguir: Prompt: Obrigatrio. Expresso de seqncia de caracteres exibida como mensagem na caixa de dilogo. O comprimento mximo de prompt de aproximadamente 1024 caracteres, dependendo da largura dos caracteres utilizados. Se prompt consistir em mais de uma linha, voc poder separar as linhas utilizando um caractere de retorno de carro (Chr(13)), um caractere de alimentao de linha (Chr(10)) ou uma combinao de caracteres de retorno de carro e alimentao de linha (Chr(13) & Chr(10)) entre cada linha. Buttons: Opcional. Expresso numrica que a soma de valores que especifica o nmero e o tipo de botes a exibir, o estilo de cone a utilizar, a identidade do boto padro e a modalidade da caixa de mensagem. Se omitido, o valor padro para buttons 0. Title: Opcional. Expresso de seqncia de caracteres exibida na barra de ttulo da caixa de dilogo. Se voc omitir title, o nome do aplicativo ser inserido na barra de ttulo. Helpfile: Opcional. Expresso de seqncia de caracteres que identifica o arquivo de Ajuda a ser utilizado para fornecer a ajuda sensvel ao contexto relativa caixa de dilogo. Se helpfile for fornecido, context tambm dever ser fornecido. Context: Opcional. Expresso numrica que o nmero de contexto da Ajuda atribudo ao tpico de Ajuda apropriado pelo autor da Ajuda. Se context for fornecido, helpfile tambm dever ser fornecido. Definies As definies do argumento buttons so: Constante vbOKOnly VbOKCancel VbAbortRetryIgnore VbYesNoCancel VbYesNo VbRetryCancel VbCritical VbQuestion VbExclamation VbInformation VbDefaultButton1 VbDefaultButton2 VbDefaultButton3 VbDefaultButton4 VbApplicationModal VbSystemModal Valor 0 1 2 3 4 5 16 32 48 64 0 256 512 768 0 4096 Descrio Exibe somente o boto OK. Exibe os botes OK e Cancelar. Exibe os botes Abortar, Repetir e Ignorar. Exibe os botes Sim, No e Cancelar. Exibe os botes Sim e No. Exibe os botes Repetir e Cancelar. Exibe o cone Mensagem crtica. Exibe o cone Consulta de aviso. Exibe o cone Mensagem de aviso. Exibe o cone Mensagem de informao. O primeiro boto o padro. O segundo boto o padro. O terceiro boto o padro. O quarto boto o padro. Janela restrita do aplicativo; o usurio deve responder caixa de mensagem antes de continuar o trabalho no aplicativo atual. Janela restrita do sistema; todos os aplicativos so suspensos at que o usurio responda caixa de mensagem.

O primeiro grupo de valores (05) descreve o nmero e o tipo de botes exibidos na caixa de dilogo; o segundo grupo (16, 32, 48, 64) descreve o estilo de cone; o terceiro grupo (0, 256, 512) determina qual boto o padro e o quarto grupo (0, 4096) determina a modalidade da caixa de mensagem. Pgina 58 Ednis P. Rocha

Quando estiver somando nmeros para criar um valor final para o argumento buttons, utilize somente um nmero de cada grupo. Observao Estas constantes so especificadas pelo Visual Basic para Aplicativos. Como resultado, os nomes podem ser utilizados em qualquer lugar do seu cdigo em vez dos valores reais.

Valores de retorno Constante vbOK vbCancel vbAbort vbRetry vbIgnore vbYes vbNo Comentrios Quando helpfile e context so fornecidos, o usurio pode pressionar F1 para exibir o tpico da Ajuda correspondente ao context. Alguns aplicativos host, por exemplo, o Microsoft Excel, tambm adicionam automaticamente um boto Ajuda caixa de dilogo. Se a caixa de dilogo exibir um boto Cancelar, pressionar a tecla ESC ter o mesmo efeito que clicar em Cancelar. Se a caixa de dilogo contiver um boto Ajuda, ser fornecida a ajuda sensvel ao contexto relativa caixa de dilogo. Entretanto, nenhum valor ser retornado at que um dos outros botes seja clicado. Observao Para especificar mais do que o primeiro argumento nomeado, voc deve utilizar MsgBox em uma expresso. Para omitir algum argumento posicional, voc deve incluir o delimitador de vrgula correspondente. Este exemplo utiliza a funo MsgBox para exibir uma mensagem de erro crtico em uma caixa de dilogo com os botes Sim e No. O boto No especificado como a resposta padro. O valor retornado pela funo MsgBox depende do boto escolhido pelo usurio. Este exemplo supe que DEMO.HLP um arquivo de Ajuda que contm um tpico com um nmero de contexto da Ajuda igual a 1000. Dim Msg, Estilo, Ttulo, Ajuda, Ctxt, Resposta, MinhaSeqncia Msg = "Deseja continuar?" ' Define a mensagem. Estilo = vbYesNo + vbCritical + vbDefaultButton2 ' Define os botes. Ttulo = "Demonstrao de MsgBox" ' Define o ttulo. Ajuda = "DEMO.HLP" ' Define o arquivo de Ajuda. Ctxt = 1000 ' Define o contexto do ' tpico. ' Exibe a mensagem. Resposta = MsgBox(Msg, Estilo, Ttulo, Ajuda, Ctxt) If Resposta = vbYes Then ' O usurio escolheu Sim. MinhaSeqncia = "Sim" ' Executa alguma ao. Else ' O usurio escolheu No. MinhaSeqncia = "No" ' Executa alguma ao. End If Valor 1 2 3 4 5 6 7 Descrio OK Cancelar Abortar Repetir Ignorar Sim No

Como fazer referncia a clulas e intervalos


Pgina 59 Ednis P. Rocha

Uma tarefa comum ao usar o Visual Basic especificar uma clula ou intervalo de clulas e, em seguida, fazer algo com elas, como inserir uma frmula ou alterar o formato. Geralmente, voc pode fazer isso em uma instruo que identifique o intervalo e tambm altere uma propriedade ou aplique um mtodo. Um objeto Range no Visual Basic pode ser uma nica clula ou um intervalo de clulas. Os tpicos seguintes mostram as maneiras mais comuns de identificar e trabalhar com objetos Range. Referindo-se a clulas e intervalos usando notao A1 Voc pode referir-se a uma clula ou intervalo de clulas no estilo de referncia A1 usando o mtodo Range. O procedimento Sub seguinte altera o formato das clulas A1:D5 para negrito. Sub FormatarIntervalo() Workbooks("Pasta1").Sheets("Plan1").Range("A1:D5") _ .Font.Bold = True End Sub A tabela seguinte ilustra algumas referncias em estilo A1 usando o mtodo Range. Referncia Range("A1") Range("A1:B5") Range("C5:D9,G9:H16") Range("A:A") Range("1:1") Range("A:C") Range("1:5") Range("1:1,3:3,8:8") Range("A:A,C:C,F:F") Significado Clula A1 Clulas de A1 at B5 Uma seleo de vrias reas Coluna A Linha um Colunas de A at C Linhas de um at cinco Linhas um, trs e oito Colunas A, C e F

Referindo-se a clulas usando nmeros de ndice Voc pode usar a propriedade Cells para referir-se a uma nica clula usando nmeros de ndice de linha e coluna. Essa propriedade retorna um objeto Range representando uma nica clula. No exemplo seguinte, Cells(6,1) retorna a clula A6 de Plan1. Em seguida, a propriedade Value definida como 10. Sub InserirValor() Worksheets("Plan1").Cells(6, 1).Value = 10 End Sub A propriedade Cells funciona bem para loop atravs de um intervalo de clulas porque voc pode substituir os nmeros de ndice por variveis, conforme mostrado no exemplo seguinte. Sub Circular() Dim contador As Integer For contador = 1 To 20 Worksheets("Plan1").Cells(contador, 3).Value = contador Next contador End Sub Observao Se voc desejar alterar as propriedades ou aplicar um mtodo a todo um intervalo de clulas de uma s vez, use a propriedade Range. Para obter maiores informaes, consulte Referir-se a clulas usando notao A1. Pgina 60 Ednis P. Rocha

Referir-se a linhas e colunas Use a propriedade Rows ou a propriedade Columns para trabalhar com linhas ou colunas inteiras. Essas propriedades retornam um objeto Range representando um intervalo de clulas. No exemplo seguinte, Rows(1) retorna a linha um em Plan1. Em seguida, a propriedade Bold do objeto Font do intervalo definida como True. Sub LinhaComNegrito() Worksheets("Plan1").Rows(1).Font.Bold = True End Sub A tabela seguinte ilustra algumas referncias de linha e coluna usando as propriedades Rows e Columns. Referncia 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 vrias linhas ou colunas ao mesmo tempo, crie uma varivel de objeto e use o mtodo Union, combinando vrias chamadas propriedade Rows ou Columns. O exemplo seguinte altera para negrito o formato das linhas um, trs e cinco na planilha um da pasta de trabalho ativa. Sub VriasLinhas() Worksheets("Plan1").Activate Dim minhaUnio As Range Set minhaUnio = Union(Rows(1), Rows(3), Rows(5)) minhaUnio.Font.Bold = True End Sub Referindo-se a clulas usando notao de atalho Voc pode usar o estilo de referncia A1 ou um intervalo nomeado entre colchetes com um atalho para a propriedade Range. Voc no precisa digitar a palavra "Range" nem usar aspas, conforme mostrado nos exemplos seguintes. Sub LimparIntervalo() Worksheets("Plan1").[A1:B5].ClearContents End Sub Sub DefinirValor() [MeuIntervalo].Value = 30 End Sub Referindo-se a intervalos nomeados Os intervalos so mais fceis de identificar por nome do que por notao A1. Para nomear um intervalo selecionado, clique na caixa de nome na extremidade esquerda da barra de frmulas, digite um nome e, em seguida, pressione ENTER. Referindo-se a um intervalo nomeado O exemplo seguinte refere-se ao intervalo chamado "MeuIntervalo" na pasta de trabalho chamada "MinhaPasta.xls". Sub FormatarIntervalo() Pgina 61 Ednis P. Rocha

Range("MinhaPasta.xls!MeuIntervalo").Font.Italic = True End Sub O exemplo seguinte se refere ao intervalo especfico de planilha chamado "Plan1!Vendas" na pasta de trabalho chamada "Relatrio.xls". Sub FormatarVendas() Range("[Relatrio.xls]Plan1!Vendas").BorderAround weight:=xlthin End Sub Para selecionar um intervalo nomeado, use o mtodo GoTo, o qual ativa a pasta de trabalho e a planilha e, em seguida, seleciona o intervalo. Sub LimparIntervalo() Application.Goto Reference:= Range("MinhaPasta.xls!MeuIntervalo") Selection.ClearContents End Sub O exemplo seguinte mostra como o mesmo procedimento seria escrito para a pasta de trabalho ativa. Sub LimparIntervalo() Application.Goto Reference:=Range("MeuIntervalo") Selection.ClearContents End Sub Loop atravs de clulas em um intervalo nomeado O exemplo seguinte faz um loop atravs de cada clula de um intervalo nomeado usando um loop For Each...Next. Se o valor de qualquer clula do intervalo exceder o valor de limite, a cor da clula ser alterada para amarelo. Sub AplicarCor() Const limite As Integer = 25 For Each c In Range("MeuIntervalo") If c.Value > limite Then c.Interior.ColorIndex = 27 End If Next c End Sub Referindo-se a clulas em relao a outras clulas Uma maneira comum de trabalhar com uma clula em relao a uma outra clula usar a propriedade Offset. No exemplo seguinte, o contedo da clula que se encontra uma linha abaixo e a trs colunas da clula ativa na planilha ativa formatado com sublinhado duplo. Sub Sublinhar() ActiveCell.Offset(1, 3).Font.Underline = xlDouble End Sub Observao Voc pode gravar macros que usem a propriedade Offset em vez de referncias absolutas. No menu Ferramentas, aponte para Gravar macro e, em seguida, clique em Usar referncias relativas. Para fazer um loop atravs de um intervalo de clulas, use uma varivel com a propriedade Cells em um loop. O exemplo seguinte preenche as 20 primeiras clulas da terceira coluna com valores entre 5 e 100, incrementados por 5. A varivel contador usada como ndice de linha para a propriedade Cells. Pgina 62 Ednis P. Rocha

Sub Circular() Dim contador As Integer For contador = 1 To 20 Worksheets("Plan1").Cells(contador, 3).Value = contador * 5 Next contador End Sub Referindo-se a clulas usando um objeto Range Quando voc define uma varivel de objeto para um objeto Range, voc pode facilmente manipular o intervalo usando o nome da varivel. O procedimento seguinte cria a varivel de objeto meuIntervalo e, em seguida, atribui a varivel ao intervalo A1:D5 de Plan1 na pasta de trabalho ativa. Instrues subseqentes modificam propriedades do intervalo substituindo o objeto de intervalo pelo nome da varivel. Sub Aleatorizar() Dim meuIntervalo As Range Set meuIntervalo = Worksheets("Plan1").Range("A1:D5") meuIntervalo.Formula = "=RAND()" meuIntervalo.Font.Bold = True End Sub Referindo-se a todas as clulas da planilha Quando voc aplica a propriedade Cells a uma planilha sem especificar um nmero de ndice, o mtodo retorna um objeto Range representando todas as clulas da planilha. O procedimento Sub seguinte limpa o contedo de todas as clulas de Plan1 na pasta de trabalho ativa. Sub LimparPlanilha() Worksheets("Plan1").Cells.ClearContents End Sub Referindo-se a vrios intervalos Usando o mtodo apropriado, voc pode facilmente referir-se a vrios intervalos. Use os mtodos Range e Union para referir-se a qualquer grupo de 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 vrios intervalos com a propriedade Range colocando vrgulas entre duas ou mais referncias. O exemplo seguinte limpa o contedo dos trs intervalos de Plan1. Sub LimparIntervalos() Worksheets("Plan1").Range("C5:D9,G9:H16,B14:D18").ClearContents End Sub Os intervalos nomeados tornam o uso da propriedade Range mais fcil ao trabalhar com vrios intervalos. O exemplo seguinte funciona quando todos os trs intervalos nomeados se encontram na mesma planilha. Sub LimparNomeado() Range("MeuIntervalo, SeuIntervalo, IntervaloDele").ClearContents End Sub Usar o mtodo Union

Pgina 63 Ednis P. Rocha

Voc pode combinar vrios intervalos em um objeto Range usando o mtodo Union. O exemplo seguinte cria um objeto Range chamado meuIntervaloMltiplo, define-o com os intervalos A1:B2 e C3:D4 e, em seguida, formata com negrito os intervalos combinados. Sub IntervaloMltiplo() Dim l1, l2, meuIntervaloMltiplo As Range Set l1 = Sheets("Plan1").Range("A1:B2") Set l2 = Sheets("Plan1").Range("C3:D4") Set meuIntervaloMltiplo = Union(l1, l2) meuIntervaloMltiplo.Font.Bold = True End Sub Usar a propriedade Areas Voc pode usar a propriedade Areas para referir-se ao intervalo selecionado ou coleo de intervalos em uma seleo de vrias reas. O procedimento seguinte conta as reas da seleo. Se houver mais de uma rea, uma mensagem de aviso ser exibida. Sub LocalizarMltiplas() If Selection.Areas.Count > 1 Then MsgBox "No possvel fazer isso com uma seleo mltipla." End If End Sub

Pgina 64 Ednis P. Rocha

Exemplos
Sub teste() Dim i As Integer Dim oCell As Range For i = 1 To Selection.Count Set oCell = Selection.Cells(i) If IsDate(oCell) Then oCell.Font.ColorIndex = 3 End If Next i End Sub ************************************************* Sub teste2() Dim ws As Worksheet Set ws = ActiveSheet ws.Cells(1, 1).Value = InputBox("Digite seu nome", "Nome") ws.Cells(1, 1).Font.Bold = True ws.Cells(1, 1).Copy ws.Cells(1, 1).Copy ws.Cells(5, 3).PasteSpecial End Sub ************************************************** Sub teste3() Dim Palavras, Caracteres, MinhaSeqncia For Palavras = 10 To 1 Step -1 ' Configura 10 repeties. For Caracteres = 0 To 9 ' Configura 10 repeties. MinhaSeqncia = MinhaSeqncia & Caracteres ' Acrescenta o nmero ' seqncia de caracteres. Next Caracteres ' Incrementa o contador MinhaSeqncia = MinhaSeqncia & " " ' Acrescenta um espao. Next Palavras MsgBox MinhaSeqncia End Sub ************************************************** Sub Circular() Dim contador As Integer For contador = 1 To 20 Worksheets("Plan1").Cells(contador, 3).Value = contador Next contador End Sub ************************************************** Sub AplicarCor() Const limite As Integer = 25 For Each c In Range("MeuIntervalo") If c.Value > limite Then c.Interior.ColorIndex = 27 End If Next c End Sub ************************************************** Sub Aleatorizar() Dim meuIntervalo As Range Set meuIntervalo = Worksheets("Plan1").Range("A1:D5") meuIntervalo.Formula = "=RAND()" meuIntervalo.Font.Bold = True End Sub ************************************************** Sub LimparPlanilha() Worksheets("Plan1").Cells.ClearContents Pgina 65 Ednis P. Rocha

End Sub Dois exemplos de utilizao de If..Then..Else Function triangulo(A As Double, B As Double, C As Double) As Variant If (A < B + C) And (B < A + C) And (C < A + B) Then If (A = B) And (A = C) Then triangulo = "Tringulo Equiltero" Else If (A = B) Or (B = C) Or (A = C) Then triangulo = "Tringulo Issceles" Else triangulo = "Tringulo Escaleno" End If End If Else triangulo = "Estes valores no formam um Tringulo" End If End Function Function triangulo1(A As Double, B As Double, C As Double) As Variant If ((A < B + C) And (B < A + C) And (C < A + B)) And _ ((A = B) Or (B = C) Or (A = C)) Then _ triangulo1 = "Tringulo Issceles" End If If ((A < B + C) And (B < A + C) And (C < A + B)) And _ ((A = B) And (A = C)) Then triangulo1 = "Tringulo Equiltero" End If If ((A < B + C) And (B < A + C) And (C < A + B)) And _ ((A <> B) And (B <> C)) Then triangulo1 = "Tringulo Escaleno" End If If Not ((A < B + C) And (B < A + C) And (C < A + B)) Then triangulo1 = "Estes valores no formam um Tringulo" End If End Function

Pgina 66 Ednis P. Rocha

Personalizar cdigos de formato de hora, nmero e data


Se um formato de nmero interno no estiver disponvel para exibir os dados da maneira que voc deseja, crie um formato de nmero personalizado usando a categoria Personalizado na guia Nmero (comando Clulas, menu Formatar). Voc cria formatos de nmero personalizados especificando os cdigos de formatao que descrevam como voc deseja exibir nmeros, datas, horas ou textos. Especifique at quatro sees de cdigos de formatao. As sees, separadas por ponto-e-vrgula, definem os formatos para nmeros positivos, nmeros negativos, valores zero e texto, nessa ordem. Se voc especificar apenas duas sees, a primeira ser usada para nmeros positivos e zeros, e a segunda ser usada para nmeros negativos. Se voc especificar uma nica seo, todos os nmeros usaro este formato. Se voc pular uma seo, inclua o ponto-e-vrgula final desta seo.

Formatar datas e horas Formatos para datas e horas Para exibir dias, meses e anos, inclua os cdigos de formatao a seguir na seo. Se voc usar m logo aps o cdigo de formatao h ou hh ou logo antes do cdigo ss, o Microsoft Excel exibir minutos em vez do ms. Para exibir Meses como 1-12 Meses como 01-12 Meses como Jan-Dez Meses como Janeiro-Dezembro Meses como a primeira letra do ms Dias como 1-31 Dias como 01-31 Dias como Dom-Sb Dias como Domingo-Sbado Anos como 00-99 Anos como 1900-9999 Use este cdigo de formatao m mm mmm mmmm mmmmm d dd ddd dddd aa aaaa

Para exibir horas, minutos e segundos, inclua os cdigos de formatao a seguir em uma seo. Para exibir Horas como 0-23 Horas como 00-23 Minutos como 0-59 Minutos como 00-59 Segundos como 0-59 Segundos como 00-59 Horas como 4 AM Hora como 4:36 pm Hora como 4:36:03 p Tempo decorrido em horas; por exemplo, 25.02 Tempo transcorrido em minutos; por exemplo, 63:46 Tempo transcorrido em segundos Fraes de um segundo Use este cdigo de formatao h hh m mm s ss h AM/PM h:mm am/pm h:mm:ss a/p [h]:mm [mm]:ss [ss] h:mm:ss.00

Se o formato contiver AM ou PM, a hora ser baseada no relgio de 12 horas, onde "AM", "am", "A" ou "a" indica horas de meia-noite at meio-dia, e "PM", "pm", "P" ou "p" indica horas de meio-dia at meia-noite. Caso contrrio, a hora ser baseada no relgio de 24 horas. O "m" ou "mm" deve aparecer logo aps o cdigo de formatao "h" ou "hh" ou antes do cdigo "ss", ou o Microsoft Excel exibir o ms em vez dos minutos. Pgina 67 Ednis P. Rocha

Formatar texto e espaamento

Para exibir caracteres de texto junto com os nmeros inseridos em uma clula, coloque os caracteres entre aspas (" "), ou preceda-os com uma barra invertida (\). Inclua os caracteres na seo apropriada dos cdigos de formatao. Por exemplo, digite o formato $0,00 "Crdito";$0,00 "Dbito" para exibir uma quantia negativa como "R$-125,74 Dbito". Um caractere de espao e os caracteres a seguir so exibidos sem o uso de aspas: $ - + / ( ) : Se voc inserir qualquer um dos smbolos a seguir, uma barra invertida ser inserida para voc: ! ^ & ` (aspas simples esquerda) ' (aspas simples direita) ~ { } = < > Uma seo de formato de texto, se includa, sempre a ltima seo do formato de nmero. Inclua o caractere de arroba ( @ ) na seo de texto onde voc deseja exibir qualquer texto inserido na clula. Se o caractere @ for omitido na seo de texto, o texto que voc inserir no ser exibido. Se voc desejar exibir sempre os caracteres de texto especficos com o texto inserido, coloque o texto adicional entre aspas duplas (" "); por exemplo, "receita bruta para" @

Se o formato no incluir uma seo de texto, o texto que voc inserir no ser afetado pelo formato.

Para criar um espao da largura de um caractere em um formato de nmero, inclua um sublinhado seguido de um caractere. Por exemplo, quando voc coloca um parntese esquerdo depois de um sublinhado ( _) ), os nmeros positivos so alinhados corretamente com os nmeros negativos colocados entre parnteses. Para repetir o prximo caractere no formato para preencher a largura da coluna, inclua um asterisco (*) no formato de nmero. Por exemplo, digite 0*- para incluir o nmero suficiente de traos aps um nmero para preencher a clula.

Pgina 68 Ednis P. Rocha