SlideShare uma empresa Scribd logo
Microsoft Excel Avançado Com VBA




               Página 1
             Ednis P. Rocha
A ordem na qual o Microsoft Excel efetua operações em fórmulas........................................................ 4
Operadores.............................................................................................................................................. 4
Tipos de critérios de comparação ........................................................................................................... 5
  Uma seqüência de caracteres ............................................................................................................. 5
  Caracteres curinga .............................................................................................................................. 5
  Valores dentro de limites especificados .............................................................................................. 6
Como o Microsoft Excel converte valores em fórmulas .......................................................................... 6
Solucionar problemas de valores de erro e fórmulas.............................................................................. 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 #NÚM!? .......................................................................................................... 10
  O que significa o erro #NULO!?......................................................................................................... 10
Solucionar problemas de erros em fórmulas ........................................................................................ 10
SE.......................................................................................................................................................... 12
VERDADEIRO....................................................................................................................................... 13
FALSO................................................................................................................................................... 13
E ............................................................................................................................................................ 13
OU ......................................................................................................................................................... 14
NÃO....................................................................................................................................................... 15
Exemplos de fórmulas comuns ............................................................................................................. 16
Referências de célula e intervalo .......................................................................................................... 16
  Referências L1C1 .............................................................................................................................. 17
  A diferença entre referências relativas e absolutas .......................................................................... 18
  Rótulos e nomes em fórmulas ........................................................................................................... 18
  Sobre o uso de rótulos múltiplos em fórmulas .................................................................................. 19
  Diretrizes para usar referências 3-D.................................................................................................. 19
  O que acontece a uma referência 3-D quando você move, copia, insere ou exclui planilhas?........ 19
Funções................................................................................................................................................. 21
  Uso de funções para calcular valores ............................................................................................... 21
  Várias funções dentro de funções, ou aninhamento ......................................................................... 21
Banco de dados .................................................................................................................................... 22
  Diretrizes para criar uma lista em uma planilha ................................................................................ 23
  Tamanho e Localização da Lista ....................................................................................................... 24
  Rótulos de Coluna ............................................................................................................................. 24
  Conteúdo das Linhas e Colunas........................................................................................................ 24
  Exemplos de critérios de filtro avançado........................................................................................... 24
  Três ou mais condições em uma única coluna ................................................................................. 24
  Critérios de duas ou mais colunas .................................................................................................... 24
  Condições criadas como resultado de uma fórmula ......................................................................... 25
Trabalhando com Banco de Dados....................................................................................................... 26
  Primeiro método ................................................................................................................................ 26
  Segundo método ............................................................................................................................... 27
Trabalhando com filtros avançados ...................................................................................................... 28
Trabalhando com subtotais ................................................................................................................... 28
Tabela Dinâmica ................................................................................................................................... 29
Função Procv ........................................................................................................................................ 35
Solver .................................................................................................................................................... 37
Atingir Meta ........................................................................................................................................... 40
Data e Hora ........................................................................................................................................... 41
Funções Definidas pelo usuário ............................................................................................................ 44
  Procedimento Function...................................................................................................................... 44
  Instrução If...Then...Else.................................................................................................................... 44
  Utilizando instruções If...Then...Else ................................................................................................. 45
Instrução For...Next............................................................................................................................... 46
Utilizando instruções For Each...Next ................................................................................................... 49
  Executando um loop em um intervalo de células .............................................................................. 49
  Saindo de um loop For Each...Next antes que ele tenha terminado................................................. 49

                                                                       Página 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
  Método Union .................................................................................................................................... 54
Método InputBox ................................................................................................................................... 56
Função MsgBox..................................................................................................................................... 58
Como fazer referência a células e intervalos ........................................................................................ 59
  Referindo-se a células e intervalos usando notação A1 ................................................................... 60
  Referindo-se a células usando números de índice ........................................................................... 60
  Referir-se a linhas e colunas ............................................................................................................. 61
  Referindo-se a células usando notação de atalho ............................................................................ 61
  Referindo-se a intervalos nomeados................................................................................................. 61
  Referindo-se a um intervalo nomeado .............................................................................................. 61
  Loop através de células em um intervalo nomeado .......................................................................... 62
  Referindo-se a células em relação a outras células.......................................................................... 62
  Referindo-se a células usando um objeto Range.............................................................................. 63
  Referindo-se a todas as células da planilha...................................................................................... 63
  Referindo-se a vários intervalos ........................................................................................................ 63
  Usar a propriedade Range ................................................................................................................ 63
  Usar o método Union......................................................................................................................... 63
  Usar a propriedade Areas.................................................................................................................. 64
Exemplos............................................................................................................................................... 65
Personalizar códigos de formato de hora, número e data .................................................................... 67
  Formatar datas e horas ..................................................................................................................... 67
  Formatar texto e espaçamento.......................................................................................................... 68




                                                                    Página 3
                                                                  Ednis P. Rocha
A ordem na qual o Microsoft Excel efetua operações em fórmulas


Se você combinar diversos operadores em uma única fórmula, o Microsoft Excel efetuará as
operações na ordem mostrada na tabela a seguir. Se uma fórmula contiver operadores com a mesma
precedência  por exemplo, se uma fórmula contiver um operador de multiplicação e divisão  o
Microsoft Excel avaliará os operadores da esquerda para a direita. Para alterar a ordem de avaliação,
coloque a parte da fórmula a ser calculada primeiro entre parênteses.



Operadores


Operador                                                     Descrição

: (dois-pontos); (ponto-e-vírgula) (espaço simples)          Operadores de referência
–                                                            Negação (como em –1)
%                                                            Percentagem
^                                                            Exponenciação
*e/                                                          Multiplicação e divisão
+e–                                                          Adição e subtração
& (concatenação)                                             Conecta duas seqüências de texto
= < > <= >= <>                                               Comparação


Operadores de cálculos em fórmulas

Os operadores especificam o tipo de cálculo que você deseja efetuar nos elementos de uma fórmula.
O Microsoft Excel inclui quatro tipos diferentes de operadores de cálculo: aritméticos, de comparação,
texto e referência.

•   Os operadores aritméticos efetuam operações matemáticas básicas, como adição, subtração ou
    multiplicação, combinam números e produzem resultados numéricos.


Operador aritmético                      Significado                         Exemplo

+ (sinal de adição)                      Adição                              3+3
– (sinal de subtração)                   Subtração                           3–1
                                         Negação                             –1
* (sinal de multiplicação)               Multiplicação                       3*3
/ (sinal de divisão)                     Divisão                             3/3
% (símbolo de percentagem)               Percentagem                         20%
 ^ (sinal de exponenciação)              Exponenciação                       3^2 (igual a 3*3)

Os operadores de comparação comparam dois valores e produzem o valor lógico VERDADEIRO ou
FALSO.


Operador de comparação                   Significado                         Exemplo

= (sinal de igual)                       Igual a                             A1=B1
> (sinal de maior do que)                Maior do que                        A1>B1
< (sinal de menor do que)                Menor do que                        A1<B1
>= (sinal de maior ou igual a)           Maior ou igual a                    A1>=B1
<= (sinal de menor ou igual a)           Menor ou igual a                    A1<=B1
<> (sinal de diferente)                  Diferente                           A1<>B1


                                              Página 4
                                            Ednis P. Rocha
O operador de texto "&" combina um ou mais valores de texto para produzir um único texto.

Operador de texto            Significado                                                  Exemplo
& (E comercial)              Conecta ou concatena dois valores para produzir              "north" & "wind" produz
                             um valor de texto contínuo                                   "Northwind"


Os operadores de referência combinam intervalos1 de células para cálculos.

Operador de referência             Significado                                              Exemplo
: (dois-pontos)                    Operador de intervalo, que produz uma                    B5:B15
                                   referência a todas as células entre duas
                                   referências, incluindo as duas referências
; (ponto-e-vírgula)                Operador de união, que combina diversas                  SOMA(B5:B15;D5:D15)
                                   referências em uma referência
    (espaço simples)               Operador de interseção, que produz uma                   SOMA(B5:B15 A7:D7)
                                   referência a células comuns a duas
                                   referências. Neste exemplo, a célula B7 é
                                   comum aos dois intervalos.



Tipos de critérios2 de comparação


Você pode usar os seguintes tipos de critérios de comparação em um intervalo de critérios, com um
filtro avançado ou um filtro personalizado.


Uma seqüência de caracteres

Para localizar linhas em uma lista3 que contenham um valor exato, digite o texto, número, data ou
valor lógico na célula abaixo do rótulo de critérios. Por exemplo, se você digita 98133-000 embaixo de
um rótulo de Código Postal no intervalo de critérios, o Microsoft Excel exibe somente as linhas que
contêm o valor de código postal "98133-000".

Quando você usa texto como critério com um filtro avançado, o Microsoft Excel localiza todos os itens
que começam com aquele texto. Por exemplo, se você digita o texto Ama como um critério, o
Microsoft Excel localiza "Amaral" e "Amado". Para corresponder somente o texto especificado, digite
a seguinte fórmula, onde texto é o texto que você deseja localizar.

=''=texto''


Caracteres curinga

Para localizar valores de texto que compartilhem alguns caracteres mas não outros, use um caractere
curinga. Um caractere curinga representa um ou mais caracteres não-especificados.


Para localizar                             Use                                 Exemplo

1
    intervalo - Duas ou mais células em uma planilha. As células em um intervalo podem ser adjacentes ou não-adjacentes.
2
 critérios - Uma ou mais condições que você especifica para limitar os registros incluídos no conjunto de resultados de uma
consulta. Por exemplo, os critério abaixo seleciona registros para os quais o valor Montante do Pedido é maior que 30.000:
Montante do pedido > 30000
3
 lista - Uma seqüência de linhas de planilha que contêm dados relacionados como, por exemplo um banco de dados de
pedidos ou um conjunto de nomes de clientes e números de telefone. Uma lista pode ser usada como um banco de dados em
que as linhas são registros e as colunas são campos. A primeira linha da lista contém rótulos para colunas.

                                                         Página 5
                                                       Ednis P. Rocha
Qualquer caractere único na       ? (ponto de interrogação)       lope? localiza "lopes" e "lopez"
mesma posição que o ponto de
interrogação.
Qualquer número de caracteres     * (asterisco)                   *este localiza "Nordeste" e
na mesma posição que o                                            "Sudeste"
asterisco
Um ponto de interrogação,         ~ (til) seguido de ?, *, ou ~   fy91~? localiza "fy91?"
asterisco ou til


Valores dentro de limites especificados

Para exibir somente linhas que se encontrem dentro de certos limites, digite um operador de
comparação, seguido de um valor, na célula abaixo do rótulo de critérios. Por exemplo, para localizar
linhas cujos valores de unidade são maiores ou iguais a 1.000, digite >=1000 sob o rótulo de critérios
Unidades no intervalo de critérios.


Observação:

Ao avaliar dados, o Microsoft Excel não distingue entre caracteres maiúsculos ou minúsculos.



Como o Microsoft Excel converte valores em fórmulas


Quando você insere uma fórmula, 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 fórmula              Produz             Explicação
="1"+"2"               3                  Quando você utiliza um sinal de adição (+), o Microsoft
                                          Excel espera números na fórmula. Embora as aspas
                                          signifiquem que "1" e "2" sejam valores de texto, o
                                          Microsoft Excel converte automaticamente os valores de
                                          texto em números.
=1+"$4.00"             5                  Quando uma fórmula espera um número, o Microsoft
                                          Excel converte o texto se ele estiver em um formato que
                                          geralmente seria aceito para um número.
="6/1/92"-"5/1/92"     1                  O Microsoft Excel interpreta o texto como uma data no
                                          formato dd/mm/aa, converte as datas em números de
                                          série e, em seguida, calcula a diferença entre eles.
=RAIZ("8+1")           #VALOR!            O Microsoft Excel não pode converter o texto em número,
                                          pois o texto "8+1" não pode ser convertido em um número.
                                          Se você usar "9" ou "8"+"1" em vez de "8+1", a fórmula
                                          converterá o texto em um número e retornará 3 como
                                          resultado.
="A"&VERDADEIRO        AVERDADEIRO        Quando texto é esperado, o Microsoft Excel converte os
                                          números e valores lógicos, como VERDADEIRO e FALSO,
                                          em texto.




                                              Página 6
                                            Ednis P. Rocha
Solucionar problemas de valores de erro e fórmulas


Se uma fórmula não 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 fórmula
espera o uso de um valor numérico, da exclusão de uma célula que é referenciada por uma fórmula
ou do uso de uma célula que não é grande o suficiente para exibir o resultado.

Os valores de erro podem não ser causados pela fórmula em si. Por exemplo, se uma fórmula
mostrar #N/D ou #VALOR!, uma célula referenciada pela fórmula poderá conter o erro.


O que significa o erro #####?

•   valor numérico inserido em uma célula é muito grande para ser exibido dentro da célula. Você
    pode redimensionar a coluna, arrastando o limite entre os cabeçalhos de coluna.
•   A fórmula na célula produz um resultado muito longo para se ajustar à célula. Aumente a largura
    da coluna, arrastando o limite entre os cabeçalhos de coluna ou alterando o formato de número
    para a célula. Para alterar o formato de número, clique em Célula no menu Formatar, clique na
    guia Número e, em seguida, selecione outro formato.
•   Ao subtrair datas e horas, certifique-se de que você tenha criado a fórmula corretamente. As
    datas e horas do Microsoft Excel devem ser valores positivos. Se a fórmula de data ou hora
    produzir um resultado negativo, o Microsoft Excel exibirá #### na largura da célula. Para exibir o
    valor, clique em Células no menu Formatar, clique na guia Número e, em seguida, selecione um
    formato que não 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 AutoCorreção de fórmulas6 não pode corrigir a fórmula.

Possível causa                           Ação sugerida
Inserir texto quando a fórmula           Certifique-se de que a fórmula ou função esteja correta para o
requer um número ou valor                operando ou argumento necessário, e que as células que são
lógico, como VERDADEIRO ou               referenciadas pela fórmula contenham valores válidos. Por
FALSO. O Microsoft Excel não             exemplo, se a célula A5 contiver um número e a célula A6 contiver
consegue converter o texto no            o texto “Não disponível”, a fórmula =A5+A6 retornará o erro
tipo de dado correto.                    #VALOR!. Use a função de planilha SOMA na fórmula da seguinte
                                         maneira para adicionar os dois valores (a função SOMA ignora o
                                         texto):=SOMA(A5:A6)
Inserir ou editar uma fórmula            Selecione a célula ou intervalo de células que contém a fórmula
matricial7 e pressionar ENTER.           matricial, pressione F2 para editar a fórmula e pressione
                                         CTRL+SHIFT+ENTER.

4
  argumento - Os valores que uma função usa para executar operações ou cálculos. O tipo de argumento que uma função usa
é específico da função. Argumentos comuns usados em funções incluem valores numéricos, valores de texto, referências de
célula, intervalos de células, nomes, rótulos e funções aninhadas.
5
 operando - Itens em ambos os lados de um operador em uma fórmula. No Microsoft Excel, os operandos podem ser
valores, referências de célula, nomes, rótulos e funções.
6
 AutoCorreção de fórmulas - Um recurso que verifica automaticamente uma fórmula para detectar erros comuns de
digitação e sugerir uma correção, se possível. Você pode aceitar ou rejeitar a correção sugerida que aparece em uma aviso.
Por exemplo, se você inserir uma fórmula que contém uma função e inclui um parênteses de fechamento a mais, a
AutoCorreção de fórmula localiza o parêntese extra e sugere que ele seja removido.
7
 fórmula matricial - Executa cálculos múltiplos e, em seguida, produz um único resultado ou resultados múltiplos.
Fórmulas matriciais agem sobre dois ou mais conjuntos de valores conhecidos como argumentos de matriz. Cada argumento
de matriz deve ter o mesmo número de linhas e colunas. Para produzir resultados múltiplos, a fórmula deve ser inserida em
células múltiplas.
                                                       Página 7
                                                     Ednis P. Rocha
Inserir uma referência da célula,         Certifique-se de que a constante matricial não seja uma referência
uma fórmula ou uma função                 da célula, fórmula ou função.
como uma constante8 matricial.
Fornecer um intervalo a um                Altere o intervalo para um valor único. Altere o intervalo para
operador ou a uma função que              incluir a mesma linha ou a mesma coluna que contém a fórmula.
necessita de um valor único,
não de um intervalo.
Usar uma matriz9 que não é                Certifique-se de que as dimensões da matriz estejam corretas
válida em uma das funções                 para os argumentos matriciais.
matriciais de planilha.
Executar uma macro que insere             Certifique-se de que a função não esteja usando um argumento
uma função que retorna                    incorreto.
#VALOR!.


O que significa o erro #DIV/0!?

O valor de erro #DIV/0! ocorre quando uma fórmula divide por 0 (zero).

Possível causa                                         Ação sugerida
Usar a referência da célula10 para uma                 Altere a referência da célula, ou insira um valor
célula em branco ou para uma célula que                diferente de zero na célula usada como um divisor.
contém zero como um divisor. (Se um                    Você pode inserir o valor #N/D na célula referenciada
operando for uma célula em branco, o                   como o divisor, que alterará o resultado da fórmula de
Microsoft Excel interpretará o valor em                #DIV/0! para #N/D para denotar que o valor do divisor
branco como um zero.)                                  não está disponível.
Inserir uma fórmula que contém divisão                 Altere o divisor para um número diferente de zero.
explícita por zero (0) – por exemplo, =5/0.
Executar uma macro que usa uma função                  Certifique-se de que o divisor na função ou fórmula não
ou uma fórmula que retorna #DIV/0!.                    seja zero ou esteja em branco.


O que significa o erro #NOME??

O valor de erro #NOME? ocorre quando o Microsoft Excel não reconhece o texto em uma fórmula.

Possível causa                          Ação sugerida
Excluir um nome11 usado na              Certifique-se de que o nome exista. No menu Inserir, aponte para
fórmula, ou usar um nome que            Nome e, em seguida, clique em Definir. Se o nome não estiver
não existe.                             listado, adicione-o usando o comando Adicionar.
Digitar o nome incorretamente.          Corrija o erro ortográfico. Para inserir o nome correto na fórmula,
                                        selecione o nome na barra de fórmulas12, aponte para Nome no

Para inserir uma fórmula matricial, pressione CTRL+SHIFT+ENTER. O Microsoft Excel coloca fórmulas matriciais entre
chaves ( { } ).
8
 constante - Um valor de célula que não é iniciado com um sinal de igual (=). Por exemplo, a data 10/9/96, o número 210 e
o texto “Receitas Trimestrais” são todos constantes. Uma fórmula ou um valor resultante de uma fórmula não é uma
constante.
9
 matriz - Uma matriz retangular de valores, ou intervalo de células que é combinado com outras matrizes ou intervalos para
produzir somas ou produtos múltiplos. O Microsoft Excel predefiniu funções de matriz que podem produzir as somas ou
produtos.
10
  referência de célula - O conjunto de coordenadas que uma célula ocupa em uma planilha. Por exemplo, a referência da
célula que aparece na interseção da coluna B e da linha 3 é B3.
11
  nome - Uma palavra ou seqüência de caracteres que representa uma célula, intervalo de células, fórmula ou valor
constante.
12
  barra de fórmulas - Uma barra na parte superior da janela do Microsoft Excel que você usa para inserir ou editar valores
ou fórmulas em células ou gráficos. Exibe o valor constante ou fórmula usado na célula ativa. Para exibir ou ocultar a barra
de fórmulas, clique em Barra de Fórmulas no menu Exibir.

                                                        Página 8
                                                      Ednis P. Rocha
menu Inserir e, em seguida, clique em Colar. Na caixa de diálogo
                               Colar nome, clique no nome que você deseja usar e em OK.
Digitar o nome de uma função Corrija o erro ortográfico. Insira o nome da função correto na
incorretamente.                fórmula usando a Caixa de criação de fórmulas13. Se a função de
                               planilha for parte de um programa suplementar14, o programa
                               suplementar deve estar carregado.
Inserir texto em uma fórmula   Coloque o texto na fórmula entre aspas. Por exemplo, a fórmula a
sem colocar o texto entre      seguir agrupa o texto “A quantia total é” com o valor na célula
aspas. O Microsoft Excel tenta B50:="A quantia total é "&B50
interpretar a sua entrada como
um nome embora você tivesse
intenção de usá-la como texto.
Omitir dois-pontos (:) em uma Certifique-se de que todas as referências de intervalo na fórmula
referência 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 não se encontra disponível para uma função ou fórmula.
Se determinadas células da planilha forem conter dados que ainda não estão disponíveis, insira o
valor #N/D nestas células. As fórmulas que fazem referência a estas células retornarão #N/D em vez
de tentar calcular um valor.

Possível causa                        Ação sugerida
Fornecer um valor inadequado          Certifique-se de que o argumento procura_valor seja o tipo correto
para o argumento                      de valor – por exemplo, um valor ou uma referência de célula, mas
procura_valor na função de            não uma referência de intervalo.
planilha PROCH, PROC,
CORRESP ou PROCV.
Usar a função de planilha      Por padrão, as funções que procuram informações em tabelas
PROCV ou PROCH para            devem ser classificadas em ordem crescente. No entanto, as
localizar um valor em uma      funções de planilha PROCV e PROCH contêm um argumento
tabela não classificada.       intervalo_procura que instrui a função na localização de uma
                               correspondência exata mesmo se a tabela não estiver classificada.
                               Para localizar uma correspondência exata, defina o argumento
                               intervalo_procura como FALSO.
Usar um argumento em uma       Se a fórmula matricial foi inserida em várias células, certifique-se de
fórmula matricial que não      que os intervalos referenciados pela fórmula possuam o mesmo
possui o mesmo número de       número de linhas e colunas, ou insira a fórmula matricial em um
linhas ou colunas que o        menor número de células. Por exemplo, se a fórmula matricial foi
intervalo que contém a fórmula inserida em um intervalo de 15 linhas (C1:C15) e a fórmula faz
matricial.                     referência 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 fórmula
                               em um intervalo menor (por exemplo, C1:C10), ou altere o intervalo
                               ao qual a fórmula faz referência para o mesmo número de linhas
                               (por exemplo, A1:A15).
Omitir um ou mais argumentos Insira todos os argumentos na função.
para uma função de planilha
interna ou personalizada.
Usar uma função de planilha    Certifique-se de que a pasta de trabalho que contém a função de
personalizada que não está     planilha esteja aberta e que a função esteja funcionando
disponível.                    devidamente.
Executar uma macro que         Certifique-se de que os argumentos na função estejam corretos e na
insere uma função que retorna posição certa.

13
  Caixa de criação de fórmulas - Uma ferramenta com a qual você cria ou edita uma fórmula e também oferece
informações sobre funções e seus argumentos. A caixa aparece abaixo da barra de fórmulas quando você clica no botão
Editar fórmula na barra de fórmulas, ou no botão Colar função na barra de ferramentas Padrão.
14
  suplemento - Componentes que podem ser instalados em seu computador para adicionar comandos e funções ao Microsoft
Excel.

                                                      Página 9
                                                    Ednis P. Rocha
#N/D.


O que significa o erro #REF!?

O valor de erro #REF! ocorre quando uma referência da célula não é válida.

Possível causa                       Ação sugerida
Excluir as células referenciadas     Altere as fórmulas, ou restaure as células na planilha, clicando
por outras fórmulas, ou colar as     em Desfazer       logo após a exclusão ou colagem das células.
células movidas sobre as células
referenciadas por outras fórmulas.
Executar uma macro que insere    Verifique a função para ver se um argumento faz referência a
uma função que retorna #REF!.    uma célula ou intervalo de células que não seja válido. Por
                                 exemplo, se a macro inserir uma função que se refere a uma
                                 célula acima da função, e a célula que contiver a função estiver
                                 na linha 1, a função retornará o valor #REF!, pois não há células
                                 acima da linha 1.
Usar uma referência remota a um se de que você esteja usando o tópico de DDE correto.
aplicativo que não está sendo
executado ou a um tópico de
Intercâmbio Dinâmico de Dados
(DDE) como “sistema” que não se
encontra disponível.    Inicie o
aplicativo. Certifique


O que significa o erro #NÚM!?

O valor de erro #NÚM! ocorre quando existe um problema com um número em uma fórmula ou
função.

Possível causa                                   Ação sugerida
Usar um argumento inaceitável em uma             Certifique-se de que os argumentos usados na
função que necessita de um argumento             função sejam os tipos de argumento corretos.
numérico.
Usar uma função de planilha que itera, como      Use um valor inicial diferente para a função de
TIR ou TAXA, e a função não consegue             planilha.
encontrar um resultado.
Inserir uma fórmula que produz um número         Altere a fórmula de modo que o seu resultado fique
muito grande ou muito pequeno para ser           entre
representado no Microsoft Excel.                 –1*10307 e 1*10307 .
O que significa o erro #NULO!?

O valor de erro #NULO! ocorre quando você especifica uma interseção entre duas áreas que não têm
interseção.

Possível causa           Ação sugerida
Usar um operador de      Para fazer referência a duas áreas que não têm interseção, use o operador
intervalo incorreto ou   de união, a vírgula (,). Por exemplo, se a fórmula somar dois intervalos,
referência da célula     certifique-se de que haja uma vírgula separando os dois intervalos
incorreta.               (SOMA(A1:A10,C1:C10)). Se a vírgula for omitida, o Microsoft Excel tentará
                         somar as células comuns aos dois intervalos, mas A1:A10 e C1:C10 não
                         possuem células em comum porque não se cruzam. Verifique se há erros
                         de digitação na referência aos intervalos.

Solucionar problemas de erros em fórmulas



                                               Página 10
                                             Ednis P. Rocha
•    Certifique-se de que todos os parênteses façam parte de um par correspondente. Quando você
     cria uma fórmula, o Microsoft Excel exibirá parênteses coloridos à medida que eles forem
     inseridos.
•    Certifique-se de utilizar o operador de intervalo correto ao fazer referência a um intervalo de
     células. Quando fizer referência a um intervalo de células, use dois-pontos (:) para separar a
     referência à primeira célula do intervalo da referência à última célula do intervalo.
•    Certifique-se de que você tenha inserido todos os argumentos necessários. Algumas funções15
     necessitam de argumentos. Além disso, certifique-se de que você não tenha inserido argumentos
     demais.
•    Você pode inserir, ou aninhar, apenas sete níveis de funções dentro de uma função.
•    Se o nome de uma pasta de trabalho ou de uma planilha ao qual você faz referência contiver um
     caractere não-alfabético, coloque o nome entre apóstrofos.
•    Certifique-se de que cada referência externa16 contenha um nome de pasta de trabalho e um
     caminho para a pasta de trabalho.
•    Não formate números ao inseri-los nas fórmulas. Por exemplo, mesmo se o valor que você deseja
     inserir for $1.000, insira 1000 na fórmula. Para formatar o resultado de uma fórmula, clique em
     Células no menu Formatar, clique na guia Número e, em seguida, selecione um formato.




15
  função - Uma fórmula pré-escrita que toma um valor ou valores, executa uma operação e produz um valor ou valores. Use
funções para simplificar e encurtar fórmulas em uma planilha, especialmente aquelas que executam cálculos extensos ou
complexos.
16
  referência externa - Uma referência a uma célula ou intervalo em uma planilha em outra pasta de trabalho do Microsoft
Excel, ou uma referência a um nome definido em outra pasta de trabalho.

                                                      Página 11
                                                    Ednis P. Rocha
SE


Retorna um valor se uma condição que você especificou avaliar como VERDADEIRO e um outro
valor se for avaliado como FALSO.

Use SE para conduzir testes condicionais sobre valores e fórmulas.

Sintaxe

SE(teste_lógico;valor_se_verdadeiro;valor_se_falso)

Teste_lógico: é qualquer valor ou expressão que pode ser avaliada como VERDADEIRO ou FALSO.
Valor_se_verdadeiro: é o valor fornecido se teste_lógico for VERDADEIRO. Se teste_lógico for
                      VERDADEIRO e valor_se_verdadeiro for omitido, VERDADEIRO será
                      fornecido. Valor_se_verdadeiro pode ser outra fórmula.
Valor_se_falso: é o valor fornecido se teste_lógico for FALSO. Se teste_lógico for FALSO e
                valor_se_falso for omitido, FALSO será fornecido. Valor_se_falso pode ser outra
                fórmula.

Comentários

•    Até sete funções 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 são avaliados, SE retorna o valor
     que foi retornado por estas instruções.
•    Se qualquer um dos argumentos de SE forem matrizes, cada elemento da matriz será avaliado
     quando a instrução SE for executada. Se algum dos argumentos valor_se_verdadeiro e
     valor_se_falso forem funções de execução de ação, todas as ações são executadas.


Exemplos

No exemplo a seguir, se o valor na célula A10 for 100, então teste_lógico será VERDADEIRO e o
valor total para o intervalo B5:B15 será calculado. Caso contrário, se teste_lógico for FALSO e texto
vazio (“”) for retornado a célula que contém a função SE será esvaziada.

SE(A10=100;SOMA(B5:B15);"")

Suponha que uma planilha de despesa contenha os seguintes dados em B2:B4 em relação às
"Despesas reais" para janeiro, fevereiro e março: 1500, 500, 500. C2:C4 contém os seguintes dados
para "Despesas previstas" para os mesmos períodos: 900, 900, 925.

Você poderia escrever uma fórmula para verificar se está acima do orçamento em um mês específico,
gerando texto para uma mensagem com as seguintes fórmulas:

SE(B2>C2;"Acima do orçamento";"OK") é igual a "Acima do orçamento"

SE(B3>C3;"Acima do orçamento";"OK") é igual a "OK"

Suponha que você queira efetuar uma classificação atribuindo letras aos números que são
referenciados pelo nome Média. Consulte a tabela a seguir.

Se a Média for           Então retornará
Maior do que 89                 A
De 80 a 89                      B
De 70 a 79                      C
De 60 a 69                      D
Menor do que 60                 F

                                              Página 12
                                            Ednis P. Rocha
Você poderia usar a seguinte função aninhada SE:

SE(Média>89;"A";SE(Média>79;"B";
SE(Média>69;"C";SE(Média>59;"D";"F"))))

No exemplo anterior, a segunda instrução SE também é o argumento valor_se_falso para a primeira
instrução SE. Da mesma maneira, a terceira instrução SE é o argumento valor_se_falso para a
segunda instrução SE. Por exemplo, se o primeiro teste_lógico (Média>89) for VERDADEIRO, "A"
será retornado. Se o primeiro teste_lógico for FALSO, a segunda instrução SE é avaliada e assim por
diante.



VERDADEIRO


Retorna o valor lógico VERDADEIRO.

Sintaxe

VERDADEIRO( )


Comentários

•   Você pode inserir o valor VERDADEIRO diretamente nas células e fórmulas sem usar esta
    função. A função VERDADEIRO é fornecida primeiramente para compatibilidade com outros
    programas de planilha.


FALSO


Retorna o valor lógico FALSO.


Sintaxe

FALSO( )


Comentários

•   Você também pode digitar a palavra FALSO diretamente na planilha ou fórmula, e o Microsoft
    Excel a interpretará como o valor lógico FALSO.



E


Retorna VERDADEIRO se todos os argumentos forem VERDADEIRO; retorna FALSO se um ou mais
argumentos forem FALSO.

Sintaxe

E(lógico1;lógico2; ...)

Lógico1; lógico2;...: são de 1 a 30 condições que você deseja testar e que podem ser VERDADEIRO
ou FALSO.
                                               Página 13
                                             Ednis P. Rocha
•   Os argumentos devem ser valores lógicos, matrizes ou referências que contêm valores lógicos.
•   Se uma matriz ou argumento de referência contiver texto ou células vazias, estes valores serão
    ignorados.
•   Se o intervalo especificado não contiver valores lógicos, 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, então:

E(B1:B3) será igual a FALSO

Se B4 contiver um número entre 1 e 100, então:

E(1<B4; B4<100) será igual a VERDADEIRO

Suponha que você deseja exibir B4 se esta contiver um número entre 1 e 100, e que você deseja
exibir uma mensagem se ela não contiver. Se B4 contiver 104, então:

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, então:

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(lógico1;lógico2; ...)

Lógico1; lógico2;...: são 1 a 30 condições a serem testadas que podem ser VERDADEIRO ou FALSO.

•   Os argumentos devem avaliar valores lógicos como VERDADEIRO ou FALSO, ou em matrizes
    ou referências que contenham valores lógicos.
•   Se uma matriz ou argumento de referência contiver texto, números, células vazias, estes valores
    serão ignorados.
•   Se o intervalo especificado não contiver valores lógicos, OU retornará o valor de erro #VALOR!.
•   Você pode usar uma fórmula matricial OU para ver se um valor ocorre em uma matriz. Para
    inserir uma fórmula matricial, pressione CTRL+SHIFT+ENTER no Microsoft Excel para Windows


Exemplos

OU(VERDADEIRO) é igual a VERDADEIRO

                                              Página 14
                                            Ednis P. Rocha
OU(1+1=1;2+2=5) é igual a FALSO

Se A1:A3 contiver os valores VERDADEIRO, FALSO e VERDADEIRO, então:

OU(A1:A3) é igual a VERDADEIRO

Consulte também o exemplo para EXATO.



NÃO


Inverte o valor do argumento. Use NÃO quando quiser ter certeza de que um valor não é igual a outro
valor determinado.


Sintaxe

NÃO(lógico)

Lógico :é um valor ou expressão que pode ser avaliado como VERDADEIRO ou FALSO. Se lógico for
FALSO, NÃO retornará VERDADEIRO; se lógico for VERDADEIRO, NÃO retornará FALSO.


Exemplos

NÃO(FALSO) é igual a VERDADEIRO

NÃO(1+1=2) é igual a FALSO




                                            Página 15
                                          Ednis P. Rocha
Exemplos de fórmulas comuns

A seguir estão exemplos de algumas fórmulas usadas com mais freqüência no Microsoft Excel.

Descrição                                   Fórmula
Calcula o saldo parcial em um livro de      Para calcular o saldo atual da primeira transação (célula
registro. Neste exemplo, assume- se         F7):
que a célula D7 contém o depósito de        =SOMA(F6;D7;–E7)
transação atual, a célula E7 contém         Ao inserir novas transações, copie esta fórmula para a
qualquer valor de saque e a célula F6       célula que contém o saldo atual da nova transação.
contém o saldo anterior.
Agrupa o nome armazenado em uma             Para exibir o nome completo no formato “nome
célula com o sobrenome armazenado           sobrenome”:
em outra célula. Neste exemplo,             =D5&" "&E5
assuma que a célula D5 contém o nome        Para exibir o nome completo no formato “nome,
e a célula E5 contém o sobrenome.           sobrenome”:
                                            =E5&"; "&D5
Aumenta um valor numérico                   =F5*(1+5%) Se o valor da percentagem estiver
armazenado em uma célula por uma            armazenado em uma célula (por exemplo, célula F2)
percentagem, como 5 por cento. Neste        =F5*(1+$F$2) A referência à célula F2 é uma referência
exemplo, assuma que a célula F5             absoluta de célula de forma que a fórmula pode ser
contém o valor original.                    copiada para outras células sem alterar a referência à
                                            célula F2.
Cria um texto que agrupa uma data           ="Data do demonstrativo: "&TEXTO(F5; "d-mmm-aa")
armazenada em uma célula com outro          Observação:
texto - por exemplo, se a célula F5         Use a função TEXTO para formatar um valor de número,
contiver uma data de faturamento de 5-      data ou hora como texto.
Jun-96, e você desejar exibir o texto
"Data do demonstrativo: 5-Jun-96" na
célula G50.
Cria um valor total para um intervalo       =SOMASE(B5:B25;"Northwind";F5:F25)
com base em um valor em outro
intervalo. Por exemplo, para cada célula
no intervalo B5:B25 que contiver o valor
"Northwind", você deseja calcular o total
das células correspondentes no
intervalo F5:F25.
Cria um valor total para um intervalo       =SOMA(SE(B5:B25="Northwind";SE(C5:C25="Oeste";F5:
com base em duas condições. Por             F25)))
exemplo, você deseja calcular o valor
total das células em F5:F25 onde
B5:B25 contém "Northwind” e o intervalo
C5:C25 contém a região denominada
"Oeste".
Conta o número de ocorrências de um         =CONT.SE(B5:B25;"Northwind")
valor em um intervalo de células – por
exemplo, o número de células no
intervalo B5:B25 que contém o texto
"Northwind".
Conta o número de ocorrências de um         =SOMA(SE(B5:B25="Northwind";SE(C5:C25="Oeste";1;0)
valor em um intervalo de células, com       ))
base em um valor em outro intervalo -
por exemplo, o número de linhas no
intervalo B5:B25 que contém o texto
"Northwind" e o texto "Oeste" no
intervalo C5:C25.



Referências de célula e intervalo
                                               Página 16
                                             Ednis P. Rocha
Uma referência identifica uma célula ou um intervalo de células em uma planilha e informa ao
Microsoft Excel onde procurar valores ou dados que você deseja usar em uma fórmula. Com as
referências, você pode usar os dados contidos em outras partes de uma planilha em uma fórmula ou
usar o valor de uma célula em diversas fórmulas. Você também pode fazer referência a células em
outras planilhas na mesma pasta de trabalho, a outras pastas de trabalho e a dados em outros
programas. As referências às células em outras pastas de trabalho são denominadas referências
externas. As referências aos dados em outros programas são denominadas referências remotas.

Por padrão, o Microsoft Excel usa o estilo de referência A1, que rotula colunas com letras (A a IV,
para um total de 256 colunas) e rotula linhas com números (1 a 65536). Para fazer referência a uma
célula, insira a letra da coluna seguida do número da linha. Por exemplo, D50 refere-se à célula na
interseção da coluna D e linha 50. Para fazer referência a um intervalo de células, insira a referência
da célula no canto superior esquerdo do intervalo, dois-pontos (:) e depois a referência da célula no
canto inferior direito do intervalo. A seguir estão exemplos de referências.


Para fazer referência                                                        Use
À célula na coluna A e linha 10                                              A10
Ao intervalo de células na coluna A e linhas 10 a 20                       A10:A20
Ao intervalo de células na linha 15 e colunas B a E                        B15:E15
A todas as células na linha 5                                                5:5
A todas as células nas linhas 5 a 10                                         5:10
A todas as células na coluna H                                               H:H
A todas as células nas colunas H a J                                         H:J

Você também pode usar um estilo de referência onde tanto as linhas quanto as colunas da planilha
são numeradas. O estilo L1C1 é útil para computar posições de linha e coluna em macros17 e pode
ser útil para mostrar as referências relativas18 da célula. No estilo L1C1, o Microsoft Excel indica a
posição de uma célula com um “L” seguido de um número de linha e um “C” seguido de um número
de coluna.


Referências L1C1

No estilo L1C1, o Microsoft Excel indica a localização de uma célula com um "L" seguido de um
número de linha e um "C" seguido de um número de coluna. Por exemplo, a referência absoluta19 de
célula L1C1 é equivalente à referência absoluta $A$1 no estilo de referência A1. Se a célula ativa for
A1, a referência relativa da célula L[1]C[1] fará referência à célula uma linha abaixo e uma coluna à
direita, ou B2.

A seguir estão exemplos de referências em estilo L1C1.

Referência              Significado
L[-2]C                  Uma referência relativa à célula duas linhas acima e na mesma coluna
L[2]C[2]                Uma referência relativa à célula duas linhas abaixo e duas colunas à direita
L2C2                    Uma referência absoluta à célula na segunda linha e na segunda coluna

17
  macro - Um programa escrito e gravado por você e que armazena uma seqüência de comandos do Microsoft Excel,
podendo ser utilizado posteriormente como um único comando. As macros podem automatizar tarefas complexas e reduzir o
número de etapas necessárias para completar tarefas que você executa com freqüência. As macros são gravadas na linguagem
de programação Visual Basic for Applications. Você também pode escrever macros diretamente usando o Editor do Visual
Basic.
18
   referência relativa de célula - Uma referência de célula como, por exemplo, A1, que informa ao Microsoft Excel como
encontrar outra célula partindo daquela que contém a fórmula. Usar uma referência relativa é o mesmo que oferecer
orientações de direção 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
   referência absoluta de célula - Em uma fórmula, o endereço exato de uma célula, independente da posição da célula que
contém a fórmula. Uma referência absoluta assume a forma $A$1, $B$1, e assim por diante.

                                                       Página 17
                                                     Ednis P. Rocha
L[-1]                   Uma referência relativa à toda a linha acima da célula ativa
L                       Uma referência absoluta à linha atual


Observações

•   Dependendo da tarefa que você deseja executar no Microsoft Excel, use referências relativas da
    célula, que são referências a células relativas à posição da fórmula, ou referências absolutas, que
    são referências de célula que sempre referem-se a células em uma localização específica.

A diferença entre referências relativas e absolutas

        Ao criar uma fórmula, as referências a células ou intervalos geralmente se baseiam em sua
        posição relativa à célula que contém a fórmula. No exemplo a seguir, a
        célula B6 contém a fórmula =A5; o Microsoft Excel localiza o valor uma
        célula acima e uma célula à esquerda da célula B6. Este procedimento é
        chamado de referência relativa.

        Quando você copia uma fórmula que usa referências relativas, as referências na fórmula colada
        atualizam e fazem referência a células diferentes relativas à posição da
        fórmula. No exemplo a seguir, a fórmula na célula B6 foi copiada para a
        célula B7. A fórmula na célula B7 foi alterada para =A6; que faz referência à
        célula que está uma célula acima e à esquerda da célula B7.

        Se você não desejar que as referências sejam alteradas quando você copia uma fórmula para
        uma célula diferente, use uma referência absoluta. Por exemplo, se a fórmula multiplicar a célula
        A5 pela célula C1 (=A5*C1) e você copiar a fórmula para outra célula, ambas as referências
        serão alteradas. Você pode criar uma referência absoluta para a célula C1, colocando um cifrão
        ($) antes das partes da referência que não são alteradas. Para criar uma referência absoluta
        para a célula C1, por exemplo, adicione sinais de cifrão à fórmula da seguinte forma:

        =A5*$C$1

•   Use os rótulos de colunas e linhas em uma planilha para fazer referência a células dentro destas
    colunas e linhas, ou crie nomes descritivos para representar células, intervalos de células,
    fórmulas ou valores constantes.

Rótulos e nomes em fórmulas

        As planilhas geralmente contêm rótulos na parte superior de cada coluna e à esquerda de cada
        linha que descrevem os dados da planilha. Você pode usar esses rótulos dentro das fórmulas
        quando deseja fazer referência aos dados relacionados. Você também pode criar nomes
        descritivos que não sejam rótulos na planilha para representar células, intervalos de células,
        fórmulas ou constantes.

        Quando você criar uma fórmula que faz referência a dados de uma planilha, use os rótulos 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 divisão rotulada Suporte, você
        poderá localizar o valor de vendas para a divisão Suporte, inserindo a fórmula =Suporte Vendas.
        O espaço entre os rótulos é o operador de interseção, que serve para designar que a fórmula
        deve retornar o valor na célula localizada na interseção entre a linha rotulada Suporte e a coluna
        rotulada Vendas.

        Se os seus dados não contiverem rótulos ou se você tiver informações armazenadas em uma
        planilha que deseja usar em outras planilhas localizadas na mesma pasta de trabalho, crie um
        nome que descreva a célula ou intervalo. Um nome descritivo em uma fórmula pode facilitar a
        compreensão do objetivo da fórmula. Por exemplo, a fórmula =SOMA(PrimeiroTrimestreVendas)
        talvez seja mais fácil de identificar do que =SOMA(Vendas!C20:C30). Neste exemplo, o nome
        PrimeiroTrimestreVendas representa o intervalo C20:C30 na planilha nomeada Vendas.



                                                 Página 18
                                               Ednis P. Rocha
Os nomes encontram-se disponíveis 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
     também podem ser usados para representar fórmulas ou valores que não 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 transações de vendas.


     Observação:

     Por padrão, os nomes usam referências absolutas de célula.

Sobre o uso de rótulos múltiplos em fórmulas

     Quando você tem rótulos para as colunas e linhas em sua planilha, você pode usar estes rótulos
     para criar fórmulas que se refiram a dados na planilha. Se sua planilha contém rótulos de
     colunas empilhadas — em que um rótulo em uma célula é seguido de um ou mais rótulos abaixo
     dele — você pode usar os rótulos empilhados em fórmulas para se referir a dados na planilha.
     Por exemplo, se o rótulo Projetado está na célula E5, e o rótulo 1996 está na célula E6, a
     fórmula =SOMA(Projetado 1966) produz o valor total da coluna Projetado 1996. Se a linha
     contém as cifras de vendas e o rótulo Vendas está na célula D8, você pode referir-se às vendas
     projetadas para 1996 com a fórmula =Vendas Projetado 1996.

     Quando você se refere a informações usando rótulos empilhados, você se refere às informações
     na ordem em que os rótulos aparecem, de cima para baixo. Se o rótulo 1996 está na célula E5, e
     o rótulo Efetivo está na célula E6, você pode referir-se às cifras efetivas para 1996 usando 1996
     Efetivo em uma fórmula. Por exemplo, para calcular a média das cifras efetivas para 1996, use a
     fórmula =MÉDIA(1996 Efetivo).

•    Se você desejar analisar dados na mesma célula ou intervalo de células em diversas planilhas da
     pasta de trabalho, use uma referência 3-D20. Uma referência 3-D inclui a referência de célula 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 referência.

Diretrizes para usar referências 3-D

     •    Você pode usar referências 3-D para fazer referência a células em outras planilhas, definir
          nomes e criar fórmulas usando as funções a seguir: SOMA, MÉDIA, MÉDIAA, CONT.NÚM,
          CONT.VALORES, MÁXIMO, MÁXIMOA, MÍNIMO, MÍNIMOA, MULT, DESVPAD,
          DESVPADA, DESVPADP, DESVPADPA, VAR, VARA, VARP e VARPA.
     •    As referências 3-D não podem ser usadas em fórmulas matriciais.
     •    As referências 3-D não podem ser usadas com o operador de interseção (um espaço
          simples) ou em fórmulas que usam interseção implícita21.

O que acontece a uma referência 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
incluídas em uma referência 3-D. Os exemplos usam a fórmula =SOMA(Plan2:Plan6!A2:A5) para
somar as células 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 células A2 a A5 das planilhas
     adicionadas nos cálculos.

20
  3-D - a fórmula =SOMA(Plan2:Plan6!A2:A5) soma as células A2 a A5 nas planilhas 2 a 6.
21
  interseção implícita - Em uma fórmula, uma referência a uma coluna de células ou a uma linha de células, ao invés de
uma única célula. O Microsoft Excel escolhe como fórmula uma célula na referência que esteja na mesma linha (se a
referência for a uma coluna de células) ou à mesma coluna (se a referência for a uma linha de células). Por exemplo, se a
célula C10 contém a fórmula =B5:B15*5, o Microsoft Excel multiplicará o valor contido na célula B10 por 5 porque as
células B10 e C10 estão na mesma linha.

                                                        Página 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 cálculos.
•   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 cálculo.
•   Se você mover a Plan2 ou a Plan6 para outro local na mesma pasta de trabalho, o Microsoft
    Excel ajustará o cálculo para acomodar o novo intervalo de planilhas entre elas.
•   Se você excluir quaisquer planilhas no cálculo, o Microsoft Excel ajustará o cálculo para
    acomodar o intervalo de planilhas entre elas.




                                            Página 20
                                          Ednis P. Rocha
Funções


Uso de funções para calcular valores

As funções são fórmulas predefinidas que efetuam cálculos usando valores específicos, denominados
argumentos, em uma determinada ordem, denominada sintaxe. Por exemplo, a função SOMA
adiciona valores ou intervalos de células, e a função PGTO calcula os pagamentos de empréstimos
com base em uma taxa de juros, na extensão do empréstimo e no valor principal do empréstimo.

Os argumentos podem ser números, texto, valores lógicos como VERDADEIRO ou FALSO, matrizes,
valores de erro como #N/D, ou referências de célula. O argumento atribuído deve produzir um valor
válido para este argumento. Os argumentos também podem ser constantes, fórmulas ou outras
funções.

A sintaxe de uma função começa com o nome da função, seguido de um parêntese de abertura, os
argumentos da função separados por vírgulas
e um parêntese de fechamento. Se a função
iniciar uma fórmula, digite um sinal de igual
(=) antes do nome da função. Quando você
for criar uma fórmula que contém uma função,
a Caixa de criação de fórmulas irá auxiliá-lo.


Várias funções dentro de funções, ou aninhamento

As funções podem ser usadas como argumentos para outras funções. Quando uma função é usada
como um argumento, ou aninhada, deve retornar o mesmo tipo de valor que o argumento utiliza. Se
uma função aninhada não retornar o tipo de valor correto, o Microsoft Excel exibirá um valor de erro
#VALOR!. Por exemplo, a fórmula a seguir usa uma função MÉDIA aninhada e a compara com o
valor 50. A comparação deve retornar VERDADEIRO ou FALSO, pois este é o tipo de valor
necessário para o primeiro argumento em uma função SE.

Uma fórmula pode conter até sete níveis de funções aninhadas. Quando a Função B é usada como
um argumento na Função A, a Função B é uma função de segundo nível. Se a Função B contiver a
Função C como um argumento, a Função C será uma função de terceiro nível.
Você pode usar a Caixa de criação de fórmulas para aninhar funções como argumentos. Por
exemplo, você pode inserir a Função B como um argumento para a Função A clicando na seta drop-
down na barra de fórmula. Se quiser continuar inserindo argumentos para a Função A, clique no
nome da Função A na barra de fórmula.




                                              Página 21
                                            Ednis P. Rocha
Banco de dados


Quando você precisar analisar se os valores contidos em uma lista atendem a uma condição
específica, ou critérios, poderá usar uma função de planilha de banco de dados. Por exemplo, em
uma lista que contém informações 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 funções de planilha que analisam os dados armazenados em listas ou
bancos de dados. Cada uma dessas funções, citadas genericamente como BDfunções, usa três
argumentos: banco de dados, campo e critérios. Esses argumentos se referem aos intervalos de
planilha usados pela função.

•   argumento de banco de dados é o intervalo que contém sua lista. Você deve incluir a linha que
    contém os rótulos de coluna no intervalo.
•   argumento de campo é o rótulo para a coluna que você deseja resumir.
•   argumento de critérios é o intervalo que contém uma condição especificada por você.

BDMÉDIA        BDCONTAR        BDCONTARA BDEXTRAIR             BDMÁX           BDMÍN
BDMULTIPL      BDEST           BDDESVPA  BDSOMA                BDVAREST        BDVARP

Sintaxe

BDfunção(banco_dados;campo;critérios)

Banco_dados :é o intervalo de células 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
    informações relacionadas são os registros e as colunas de dados são os campos. A primeira linha
    da lista contém os rótulos de cada coluna. A referência pode ser inserida como um intervalo de
    células ou como um nome representando o intervalo que contém a lista.
•   Em todas as funções de banco de dados, se a referência do banco de dados for a uma célula
    dentro de uma Tabela dinâmica, o cálculo será feito apenas nos dados da Tabela dinâmica.
•   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 função. As colunas de dados na lista devem ter um rótulo
de identificação na primeira linha. O campo pode ser dado como texto com o rótulo de coluna entre
aspas, como "Idade" ou "Rendimento" no exemplo de lista apresentado abaixo, ou como um número
que represente a posição da coluna na lista: 1 para a primeira coluna (Árvore, no exemplo abaixo), 2
para a segunda (Altura) e assim por diante.

Critérios: é uma referência a um intervalo de células que especifica as condições para a função. A
função retorna informações da lista que atendem às condições especificadas no intervalo de critérios.
O intervalo de critérios inclui uma cópia do rótulo da coluna na lista para a coluna que você deseja
que a função resuma. A referência de critérios pode ser inserida como um intervalo de células, como
A1:F2 no exemplo de banco de dados abaixo, ou como um nome que represente o intervalo, como
"Critérios."


Dicas

•   Você pode usar qualquer intervalo para o argumento de critérios, desde que ele inclua pelo
    menos um rótulo de coluna e ao menos uma célula abaixo do rótulo de coluna para especificar a
    condição.

Por exemplo, se o intervalo G1:G2 contiver o rótulo 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
critérios nas funções de banco de dados.

                                             Página 22
                                           Ednis P. Rocha
•   Embora o intervalo de critérios possa ser colocado em qualquer local na planilha, não o posicione
    abaixo da lista. Se você adicionar outras informações à lista, usando o comando Formulário do
    menu Dados, as novas informações serão adicionadas na primeira linha abaixo da lista. Se a
    linha abaixo da lista não estiver em branco, o Microsoft Excel não poderá adicionar as novas
    informações.
•   Certifique-se de que o intervalo de critérios não se sobreponha à lista.
•   Para efetuar uma operação em uma coluna inteira em um banco de dados, insira uma linha em
    branco abaixo dos rótulos de coluna no intervalo de critérios.


Exemplos

A ilustração ao lado mostra um
banco de dados para um pequeno
pomar. Cada registro contém
informações sobre uma árvore. O
intervalo A5:E11 é chamado
Banco_dados e o intervalo A1:F3 é
chamado Critérios.

•   BDCONTAR(Banco_dados;"Idade";A1:F2) é igual a 1. Esta função analisa os registros de
    macieiras com altura entre 10 e 16 e conta quantos campos Idade nestes registros contêm
    números.
•   BDCONTARA(Banco_dados;"Lucro";A1:F2) é igual a 1. Esta função analisa os registros de
    macieiras com altura entre 10 e 16 e conta quantos campos Lucro nesses registros não estão em
    branco.
•   BDMÁX(Banco_dados;"Lucro";A1:A3) é igual a R$ 105,00, o lucro máximo de macieiras e
    pereiras.
•   BDMÍN(Banco_dados;"Lucro";A1:B2) é igual a R$ 75,00, o lucro mínimo 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.
•   BDMÉDIA(Banco_dados;"Rendimento";A1:B2) é igual a 12, o rendimento médio das macieiras
    acima de 10 pés de altura.
•   BDMÉDIA(Banco_dados;3;Banco_dados) é igual a 13, a idade média de todas as árvores no
    banco de dados.
•   BDEST(Banco_dados;"Rendimento";A1:A3) é igual a 2,97, o desvio padrão estimado no
    rendimento das macieiras e pereiras se os dados do banco de dados forem apenas uma amostra
    da população total do pomar.
•   BDDESVPA(Banco_dados;"Rendimento";A1:A3) é igual a 2,65, o desvio padrão verdadeiro no
    rendimento das macieiras e pereiras se os dados do banco de dados representarem toda a
    população do pomar.
•   BDVAREST(Banco_dados;"Rendimento";A1:A3) é igual a 8,8, a variância estimada no
    rendimento das macieiras e pereiras se os dados no banco de dados forem apenas uma amostra
    da população total do pomar.
•   BDVARP(Banco_dados;"Rendimento";A1:A3) é igual a 7,04, a variância verdadeira no
    rendimento das macieiras e pereiras se os dados no banco de dados representarem toda a
    população do pomar.
•   BDEXTRAIR(Banco_dados;"Rendimento";Critérios) retornará o valor de erro #NÚM! porque mais
    de um registro coincide com os critérios.


Diretrizes para criar uma lista em uma planilha

O Microsoft Excel oferece uma série de recursos que facilitam o gerenciamento e a análise de dados
em uma lista. Para utilizar estes recursos, insira dados em uma lista de acordo com as seguintes
diretrizes.

                                             Página 23
                                           Ednis P. Rocha
Tamanho e Localização 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 automáticos.
•   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 poderão ficar ocultos
    quando você filtrar a lista.

Rótulos de Coluna

•   Crie rótulos de coluna na primeira linha da lista. O Microsoft Excel usa estes rótulos para criar
    relatórios e para localizar e organizar dados.
•   Use estilos de fonte, alinhamento, formato, padrão, borda ou maiúsculas para os rótulos de
    coluna que sejam diferentes do formato atribuído aos dados da lista.
•   Use bordas de célula – e não linhas em branco ou tracejadas – para inserir linhas abaixo dos
    rótulos quando desejar separar os rótulos dos dados.

Conteúdo das Linhas e Colunas

•   Elabore a sua lista de modo que todas as linhas contenham itens semelhantes na mesma coluna.
•   Não insira espaços extras no início de uma célula; os espaços extras afetam os processos de
    classificação e localização.
•   Não use uma linha em branco para separar rótulos de colunas da primeira linha de dados.


Exemplos de critérios de filtro avançado

Os critérios de filtro avançado podem incluir várias condições aplicadas em uma única coluna, vários
critérios aplicados a várias colunas e condições criadas como resultado de uma fórmula.

Três ou mais condições em uma única coluna

Se você tem três ou mais condições para uma única coluna, digite o critério diretamente abaixo de
cada um em linhas separadas. Por exemplo, o intervalo de critérios a seguir exibe as
linhas que contêm "Amaral", "Pereira" ou "Andrade" na coluna Vendedor.

Critérios de duas ou mais colunas

Para localizar dados que atendam a uma condição em duas ou mais colunas, insira todos os critérios
na mesma linha do intervalo de critérios. Por exemplo, o intervalo de critérios a seguir exibe todas as
linhas que contêm "Produção" na coluna Tipo, "Amaral" na coluna
Vendedor e valores de vendas acima de R$1.000.


Observação

Você também pode especificar várias condições para colunas diferentes e exibir somente as linhas
que atendam a todas as condições, usando o comando AutoFiltro no menu Dados.

Para localizar os dados que atendam a uma condição em uma coluna ou uma condição em outra
coluna, insira os critérios em linhas diferentes do intervalo de critérios.
Por exemplo, o intervalo de critérios a seguir exibe todas as linhas que
contêm "Produção" na coluna Tipo, "Amaral" na coluna Vendedor ou
valores de vendas acima de R$1.000.


                                               Página 24
                                             Ednis P. Rocha
Para localizar linhas que atendam a uma de duas condições em uma coluna e uma de duas
condições em outra coluna, digite os critérios em linhas separadas. Por exemplo, o intervalo de
critérios a seguir exibe as linhas que contêm 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.

Condições criadas como resultado de uma fórmula

Você pode usar um valor calculado que seja resultado de uma fórmula como critério. Quando você
usa uma fórmula para criar um critério, não use um rótulo de coluna como rótulo de critérios; deixe o
rótulo de critérios em branco ou use um rótulo que não seja um rótulo de
coluna na lista. Por exemplo, o intervalo de critérios a seguir exibe linhas que
têm um valor na coluna G maior do que a média das células E5: E14; ele não
usa um rótulo de critérios.


Observações

•   A fórmula utilizada para uma condição deve se referir ao rótulo da coluna (por exemplo, Vendas)
    ou à referência 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 rótulo de coluna na fórmula, em vez de uma referência relativa de célula ou
    um nome de intervalo. Quando o Microsoft Excel exibe um valor de erro como #NOME? ou
    #VALOR! Na célula que contém o critério, você pode ignorar este erro porque ele não afeta a
    maneira como a lista é filtrada.




                                              Página 25
                                            Ednis P. Rocha
Trabalhando com Banco de Dados


Primeiro método

Para manipular uma
base de dados, após
selecionar uma célula
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
condições que são
disponibilizadas
quando clicamos
sobre a seta indicadora. São elas

Tudo           Exibir todas as linhas
10 primeiros   Exibir todas as linhas que se encontrem dentro dos limites máximo e mínimo
               especificados por item ou porcentagem, por exemplo, as quantidades dentro dos
               primeiros 10 por cento das vendas
Personalizar   Aplicar dois valores de critérios dentro da coluna atual ou usar operadores de
               comparação diferentes de E (operador padrão)
Vazias         Exibir somente as linhas que contenham uma célula vazia na coluna
NãoVazias      Exibir somente as linhas que contenham um valor na coluna

Critérios da opção 10 primeiros

   Primeiros
   Últimos



Utilize as setas para aumentar
ou diminuir a quantidade de                                          Itens
itens a serem exibidos                                               Por cento

Critérios da opção Personalizar

é igual a
é diferente de
é maior do que
é maior ou igual a
é menor do que
é menor ou igual a
começa com
não começa com
termina com
não termina com
contêm
não contêm


Observação

As opções Vazias e NãoVazias ficam disponíveis somente se a coluna que você deseja filtrar contiver
uma célula em branco.
                                            Página 26
                                          Ednis P. Rocha
Segundo método

Outra forma de trabalhar com banco de dados á através de formulário. Para uma tabela que já
contêm, pelo menos, a linha com os nomes dos campos, selecione o comando Dados/Formulário.
Uma janela no formato de um formulário aparece, com todos os campos, o registro atual e o total de
registros.

É importante notar
que os campos que
possuem fórmulas
(neste caso a coluna
E), tem a sua entrada
de dados inibida no
formulário, e que o
seu valor somente
aparecerá quando o
botão Novo for
acionado.

Botões

•   Novo – cria um
    novo registro;
•   Excluir – apaga o registro atual;
•   Restaurar – restaura a alteração no registro atual;
•   Localizar anterior – localiza o registro anterior, conforme o critério estabelecido;
•   Localizar próximo - localiza o próximo registro, conforme o critério estabelecido;
•   Critérios – similar ao AutoFiltro. Permite que sejam estabelecidos critérios para pesquisa. Para
    que o filtro seja aplicado, é necessário utilizar os botões Localizar anterior e Localizar próximo.
•   Barra de rolagem – permite “caminhar” através dos registros;




                                               Página 27
                                             Ednis P. Rocha
Trabalhando com filtros avançados

1º Passo

Inserir pelo menos
três linhas em branco
no antes do início da
lista que contêm os
dados que serão
filtrados:

2º Passo

Copiar, na primeira
linha disponível e na
mesma coluna o
nome do campo que
será pesquisado,
acrescentando logo
abaixo o critério para
a pesquisa:

3º Passo

Selecionar o comando Dados/Filtrar/Filtro Avançado...

•   Intervalo da lista – informar o
    endereço da lista onde será
    executada a pesquisa;
•   Intervalo de critérios – informar o
    endereço que contêm os critérios
    para a pesquisa;
•   Copiar para – informar o endereço
    para onde será copiado o
    resultado da pesquisa. Deve-se
    utilizar a planilha ativa. Esta opção
    somente estará disponível caso a
    Ação Copiar para outro local
    esteja habilitada;
•   Filtrar a lista no local – aplica o filtro no mesmo local definido em Intervalo da Lista (não exclui os
    registros que ficarem fora do critério, apenas os torna não visíveis temporariamente);
•   Copiar para outro local – pelo uma célula a partir da qual será utilizado um espaço para copiar os
    valores capturados pelo critério (valores que porventura estejam neste espaço serão apagados);
•   Somente registros exclusivos – não seleciona possíveis registros repetidos que satisfaçam ao
    critério.

Observações


•   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
                                                Página 28
                                              Ednis P. Rocha
Subtotais são níveis de grupos de informações separados por um determinado critério.

1º Passo

Classificar a lista de dados, ordenando-a pelo item que será utilizado para gerar o subtotal, através do
comando Dados/Classificar




2º Passo

Tendo selecionado ao menos uma célula da lista que contêm os dados, utilizar o comando
Dados/Subtotais.

•   A cada alteração em - Selecionar o nome do campo
    para gerar o índice para o subtotal;
•   Usar função - Selecionar a função que será aplicada ao
    campo indicado em Adicionar subtotal a:
    •   Soma - a soma dos valores em uma lista. Esta é a
        função padrão para dados numéricos.
    •   Contar - o número de itens em uma lista. Esta é a
        função padrão para dados não numéricos.
    •   Média - a média dos valores em uma lista.
    •   Máx- o maior valor em uma lista.
    •   Mín - o menor valor em uma lista.
    •   Produto - o resultado da multiplicação de todos os
        valores em uma lista.
    •   Cont.Núms - o número de registros ou linhas em uma lista que contém dados numéricos.
    •   DesvPad - uma estimativa do desvio padrão de uma população, onde a lista é a amostra.
    •   DesvPadp - o desvio padrão de uma população onde a lista é a população inteira.
    •   Var - uma estimativa da variância de uma população onde a lista é a amostra.
    •   Varp - a variância de uma população onde a lista é a população inteira.
•   Adicionar subtotal a – indica o campo sobre o qual será aplicada a função selecionada em Usar
    função;
•   Substituir subtotais atuais – ao selecionar esta opção, todos os subtotais existentes serão
    removidos quando o botão ok for ativado, e novos subtotais serão aplicados. Caso não esteja
    selecionada esta opção, os novos subtotais serão aplicados sobre os já existentes;
•   Quebra de página entre grupos – insere uma quebra de página após cada grupo de subtotal;
•   Resumir abaixo dos dados – estando selecionada, insere um resumo dos dados logo após todos
    os subtotais. Não sendo selecionada, o resumo será incluído como a primeira linha após os
    rótulos de dados;
•   Remover todos – remove todos os subtotais existentes para a lista atual.

Tabela Dinâmica
                                              Página 29
                                            Ednis P. Rocha
É uma tabela de planilha interativa que pode resumir grandes quantidades de dados existentes
usando os formatos e os métodos de cálculo escolhidos. Normalmente se aplica uma tabela dinâmica
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
• vários intervalos de consolidação;
• outra tabela dinâmica.

A partir de uma lista/banco de dados, e
após selecionar o comando
Dados/Relatório da tabela dinâmica...
seguem-se quatro passos:

1º Passo

Devemos selecionar a partir de onde
serão obtidos os dados que comporão a
tabela que será criada e clicar em
Avançar:

Banco de dados ou lista do Microsoft Excel:

•   Clique em uma célula em sua lista antes de executar o Assistente da tabela dinâmica. Na caixa
    de diálogo Assistente da tabela dinâmica - etapa 2a de 4, o assistente preenche a referência à
    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 dinâmica inclui automaticamente todos os dados na lista.
•   Para criar uma Tabela dinâmica a partir dos dados filtrados, use o comando Filtro avançado para
    extrair um intervalo de dados para outro local da planilha e baseie a Tabela dinâmica no intervalo
    extraído.
•   Microsoft Excel criará automaticamente totais gerais e subtotais na Tabela dinâmica. Se a lista de
    origem contiver totais gerais e subtotais automáticos, remova-os antes de criar a Tabela
    dinâmica.
•   Como o Microsoft Excel usa os dados da primeira linha da lista como nomes de campos na
    Tabela dinâmica, a lista ou o banco de dados de origem deve conter rótulos de coluna.
•   Para tornar mais fácil a atualização da Tabela dinâmica, 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 dinâmica. Se o
    intervalo nomeado se expandir para incluir mais dados, você poderá atualizar a Tabela dinâmica
    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
dinâmica. Com o Assistente da tabela dinâmica, além de consultar arquivos, você pode criar novas
consultas usando o Assistente de consulta ou o Microsoft Query.

Nas seguintes situações, você não pode recuperar os dados externos a partir do Assistente da tabela
dinâmica:

•   Se você deseja usar um modelo de relatório para recuperar os dados e esse modelo não incluir
    uma Tabela dinâmica, primeiro você precisa abrir o modelo de relatório e, em seguida, criar a
    Tabela dinâmica com base no intervalo da planilha que contém os dados externos.


                                              Página 30
                                            Ednis P. Rocha
•   Se você deseja usar uma consulta de parâmetros para recuperar os dados, é necessário criar
    primeiro a consulta de parâmetros e, em seguida, a Tabela dinâmica com base no intervalo da
    planilha que contém os dados externos.
•   Se você deseja usar uma consulta da Web para recuperar dados através da Internet, primeiro
    você deve criar a consulta da Web e, depois, a Tabela dinâmica com base no intervalo da
    planilha que contém os dados externos.


Vários intervalos de consolidação


Quando você consolidar dados de diversas listas ou planilhas, as listas ou planilhas deverão ter
nomes de linha e coluna idênticos para os itens que você deseja resumir. Não inclua quaisquer linhas
de total ou colunas de total dos dados de origem ao criar a Tabela dinâmica.

Para tornar mais fácil a atualização da Tabela dinâmica, quando os intervalos de origem forem
alterados, nomeie cada intervalo de origem e use os nomes quando você criar a Tabela dinâmica. Se
um intervalo nomeado se expandir para incluir mais dados, você poderá atualizar a Tabela dinâmica
de modo a incluir os novos dados.

Uma consolidação usa campos de página personalizados para exibir cada intervalo de dados de
origem. Esses campos de página possuem itens que representam um ou mais intervalos de dados.
Por exemplo, se você estiver consolidando dados de orçamentos dos departamentos de Marketing,
Vendas e Produção, um campo de página poderia ter um item para os dados de cada departamento e
outro item para exibir os dados combinados.

Quando você clicar em Vários intervalos de consolidação na caixa de diálogo Assistente da tabela
dinâmica - etapa 1 de 4, poderá escolher o tipo de campo de página desejado.

•   Você pode exibir uma página para cada intervalo de página ou uma página que consolide todos
    os intervalos dos dados de origem. Clique em Crie um único campo de página para mim na caixa
    de diálogo Assistente da tabela dinâmica - etapa 2a de 4.
•   Você pode criar até quatro campos de página e atribuir nomes de itens para cada intervalo de
    dados de origem, ou pode criar uma consolidação que não possui campos de página. Clique em
    Criarei os campos de página na caixa de diálogo Assistente da tabela dinâmica - etapa 2a de 4.
    Use esta opção quando você desejar comparar consolidações parciais e completas.


Outra tabela dinâmica


Quando você usar uma Tabela dinâmica como origem para outra Tabela dinâmica na mesma pasta
de trabalho, as duas Tabelas dinâmicas estarão vinculadas aos mesmos dados de origem. Como
você reutiliza os mesmos dados internos, o tamanho do arquivo da pasta de trabalho diminui e serão
necessários menos dados residentes na memória. Quando você atualiza os dados em uma das
Tabelas dinâmicas, o Microsoft Excel também atualiza os dados na outra Tabela dinâmica. Quando
você agrupa ou desagrupa dados em uma das Tabelas dinâmicas, ambas as tabelas são afetadas.
Os campos calculados e os itens calculados que você criar em uma das Tabelas dinâmicas afetarão
também a outra Tabela dinâmica.

Para usar uma Tabela dinâmica para criar outra Tabela dinâmica, ambas as Tabelas dinâmicas
devem estar na mesma pasta de trabalho. Se a Tabela dinâmica de origem estiver em outra pasta de
trabalho, copie-a para a pasta de trabalho onde você deseja que a nova Tabela dinâmica apareça. As
Tabelas dinâmicas armazenadas em diferentes pastas de trabalho não compartilham os mesmos
dados internos; sendo assim, você poderá atualizá-las separadamente.




                                             Página 31
                                           Ednis P. Rocha
Observação


A Tabela dinâmica de origem não pode conter quaisquer campos de página definidos para consultar
dados externos à medida que você selecionar cada item.

2º Passo


Nesta etapa devemos
indicar qual é o intervalo de
onde estão os dados com os
quais iremos trabalhar. A
janela disponível nesta
etapa terá um formato
específico, dependendo da
opção selecionada no 1º passo.


3º Passo

Agora devemos selecionar os campos que
estão relacionados à direita para o
diagrama da esquerda.
É necessário ter estabelecido a forma final
desejada para o relatório que será gerado.

•   Página – separa os dados da tabela
    resultante permitindo que os mesmo
    possam ser visualizados de forma
    independente
•   Linha – organiza os dados em linhas
•   Colunas – dispõe os dados em colunas




                                          Página




                                                                                            Linha




                                                               Coluna

Ainda no 3º Passo
                                                Página 32
                                              Ednis P. Rocha
Pode-se configurar cada um dos campos que irão compor
uma tabela dinâmica, clicando duas sobre sobre os
mesmos.
Para campos de Página, Linha ou Coluna a seguinte tela
aparecerá:

•   Nome – indica o nome de rótulo para o campo
    selecionado;
•   Orientação – indica a disposição em que o campo
    será arranjado no relatório;
•   Subtotais: - funções de resumo para análise de dados
    •   Soma - a soma dos valores. Esta é a função
        padrão para os dados numéricos.
    •   Contagem - o número de itens. A função de
        resumo, Contagem, funciona de modo idêntico ao
        da função de planilha, ContValores. Contagem é
        a função padrão para os dados de origem diferentes de números.
    •   Média - a média dos valores.
    •   Máximo - o maior valor.
    •   Mínimo - o menor valor.
    •   Mult - o produto dos valores.
    •   Cont.Núm - o número de linhas que contêm dados numéricos. A função de resumo Cont.Núm
        funciona de modo idêntico à função de planilha CONT.NÚM.
    •   DesvPad - uma estimativa do desvio padrão de uma população, onde a amostra são todos os
        dados que serão resumidos.
    •   DesvPadp - o desvio padrão de uma população, onde a população são todos os dados que
        serão resumidos.
    •   Var - uma estimativa da variância de uma população, onde a amostra são todos os dados que
        serão resumidos.
    •   Varp - A variância de uma população, onde a população são todos os dados que serão
        resumidos.
•   Ocultar Itens – permite selecionar os itens referentes ao campo que não serão exibidos;
•   Mostrar itens sem dados – mostra a tabela com os rótulos, mas sem os dados;
•   Avançado: configura
    opções avançadas de
    campo da tabela
    dinâmica
    •   Opções de campo
        de página –
        configura a forma
        como dados
        externos serão
        acessados;
    •   Opções de
        AutoClassificação –
        configuram a
        classificação que
        será utilizada para o
        relatório gerado;
    •   Opções de AutoApresentação – configura como e com qual quantidade de o relatório gerado
        será apresentado.




                                           Página 33
                                         Ednis P. Rocha
4º Passo

Finaliza a tabela dinâmica. Permite
que ela seja criada como uma Nova
Planilha, ou que um local na planilha
existente seja selecionado para tal.

•   Opções – esta botão
    disponibilizada uma tela onde
    pode-se configurar a formatação
    da apresentação do relatório e
    formas como a origem dos dados
    será acessada.




                                          Página 34
                                        Ednis P. Rocha
Função Procv


A função PROCV (Procura Vertical) é utilizada na pesquisa de um determinado valor emuma região.
Essa função deve ser usada no lugar da função SE quando utilizada de forma aninhada, ou seja, toda
vez que houver vários SEs aninhados, deve-se pensar em substitui-los pela função PROCV, tornaod,
assim, sua planilha mais rápida, eficaz e limpa. Para isso a região que contêm as informações a
serem pesquisadas precisa estar em ordem ascendente pela primeira coluna e sem linhas em branco
entre as mesmas. Essa função requer quatro parâmetros:

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
comparação estiverem posicionados em uma coluna à esquerda ou à direita dos dados que você
deseja procurar.

Sintaxe

PROCV(valor_procurado;matriz_tabela;núm_índice_coluna;procurar_intervalo)

Valor_procurado: é o valor a ser procurado na primeira coluna da matriz. Valor_procurado pode ser
                  um valor, uma referência ou uma seqüência de caracteres de texto.
Matriz_tabela: é a tabela de informações em que os dados são procurados. Use uma referência 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 deverão ser colocados em ordem ascendente: ..., -2, -1, 0, 1, 2, ... , A-Z,
              FALSO, VERDADEIRO; caso contrário, PROCV pode não retornar o valor correto. Se
              procurar_intervalo for FALSO, matriz_tabela não precisará ser ordenada.
              Os valores na primeira coluna de matriz_tabela podem ser texto, números ou valores
              lógicos.
              Textos em maiúsculas e minúsculas são equivalentes.
Núm_índice_coluna: é o número da coluna em matriz_tabela a partir do qual o valor correspondente
                     deve ser retornado. Um núm_índice_coluna de 1 retornará o valor na primeira
                     coluna em matriz_tabela; um núm_índice_coluna de 2 retornará o valor na
                     segunda coluna em matriz_tabela, e assim por diante. Se núm_índice_coluna for
                     menor do que 1, PROCV retornará o valor de erro #VALOR!; se
                     núm_índice_coluna for maior do que o número de colunas em matriz_tabela,
                     PROCV retornará o valor de erro #REF!.
Procurar_intervalo: é um valor lógico que especifica se você quer que PROCV encontre a
                    correspondência exata ou uma correspondência aproximada. Se VERDADEIRO
                    ou omitida, uma correspondência aproximada é retornada; em outras palavras, se
                    uma correspondência exata não for encontrada, o valor maior mais próximo que é
                    menor que o valor_procurado é retornado. Se FALSO, PROCV encontrará uma
                    correspondência exata. Se nenhuma correspondência for encontrada, o valor de
                    erro #N/D é retornado.

Comentários

•   Se PROCV não 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 não localizar valor_procurado e procurar_intervalo for FALSO, PROCV fornecerá o
    valor #N/D.




                                              Página 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 salário líquido e os
descontos, de acordo com a faixa
salarial de cada funcionário.

A fórmula para a coluna E é:

=D3/C3

E a fórmula para a coluna D é:

=C3-PROCV(B3;$A$10:$B$12;2)*C3

Neste caso a função PROCV é utilizada para encontrar em qual faixa salarial cada um dos
funcionários se enquadra.

Note-se que as células E5 e E6 deveriam apresentar o seguinte erro #DIV/0!, mas a seguinte
formatação foi aplicada a esta coluna:

•   No comando Formatar/Células/Número/Personalizado foi definido o formato do tipo como
    [Preto]0%;
•   As células 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.


Observação

A mesma planilha com a utilização da função SE ficaria com as fórmulas da coluna D da seguinte
forma:

=SE(B3=1;C3;SE(B3=2;C3-$B$11*C3;C3-$B$12*C3))




                                             Página 36
                                           Ednis P. Rocha
Solver


Com o Solver, você pode localizar um valor ideal para uma fórmula em uma célula - chamada de
célula de destino - em uma planilha. O Solver trabalha com um grupo de células relacionadas direta
ou indiretamente com a fórmula na célula de destino. O Solver ajusta os valores nas células variáveis
que você especificar - chamadas de células ajustáveis - para produzir o resultado especificado por
você na fórmula da célula de destino. Você pode aplicar restrições para restringir os valores que o
Solver poderá usar no modelo, e as restrições podem se referir a outras células que afetem a fórmula
da célula de destino.


Restrições

Limitações colocadas a um problema do Solver. Você pode aplicar restrições a células ajustáveis
(variáveis), a célula de destino ou outras células direta ou indiretamente relacionadas com a célula de
destino. Para problemas lineares, não existe limite ao número de restrições. Para problemas não-
lineares, cada célula ajustável pode ter as seguintes restrições: uma restrição binária; uma restrição
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 células.

Os operadores abaixo podem ser usados em restrições.

Operador           Significado
<=                 Menor que ou igual a
>=                 Maior que ou igual a
=                  Igual a
núm                Inteiro (aplica-se somente a células ajustáveis)
bin                Binário (aplica-se somente a células ajustáveis)

Considerando a planilha ao lado, qual a
quantidade de produtos a ser vendida
necessária para que o lucro líquido (F14)
seja o máximo possível (e qual esse
valor)?

1º Passo – Especificar a célula de destino
que se deseja minimizar, maximizar ou
ajustar para um determinado valor. Neste
caso $F$14;

2º Passo – Especificar as células
variáveis a serem ajustadas até uma
solução ser encontrada. Neste caso $C$9:$E$9;

3º Passo – Especificar as células de restrição 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 = núm.

•   Selecione o comando
    Ferramentas/Solver.
•   Em Definir célula de destino informe
    $F$14;
•   Em Igual a selecione Máx;
•   Em Células variáveis informe
    $C$9:$E$9, que são as células que
    irão sofrer alterações para que o
    valor de 215 possa ser atingido;
•   Em Submter às restrições informe
    $C$9:$E$9 <= $C$5:$E$9 e
    $C$9:$E$9 = núm, ou seja os
                                               Página 37
                                             Ednis P. Rocha
valores das células variáveis, que são as quantidades vendidas, não podem ser maiores que os
    valores em estoque e devem ser mantidos como números;
•   Em Opções, as seguintes alternativas estão disponíveis:
    •   Você pode controlar os recursos
        avançados do processo de solução,
        carregar ou salvar definições de problemas
        e definir parâmetros para os problemas
        lineares e não lineares. Cada opção tem
        uma definição padrão adequada à maioria
        dos problemas.
    •   Tempo máximo - limita o tempo usado pelo
        processo de solução. Apesar de você
        poder fornecer um valor tão alto quanto
        32.767, o valor padrão de 100 (segundos)
        é o mais adequado para grande parte dos
        pequenos problemas.
    •   Iterações - limita o tempo utilizado pelo
        processo de solução, restringindo o número de cálculos provisórios. Apesar de você poder
        fornecer um valor tão alto quanto 32.767, o valor padrão de 100 (segundos) é o mais
        adequado para grande parte dos pequenos problemas.
    •   Precisão - controla a precisão das soluções utilizando o número que você forneceu para
        determinar se o valor de uma célula de restrição alcançou a meta ou satisfez a um limite
        superior ou inferior. A precisão deve ser indicada por uma fração entre 0 (zero) e 1. Uma
        precisão maior é indicada quando o número fornecido possui mais casas decimais - por
        exemplo, 0,0001 tem mais precisão do que 0,01. Quanto maior a precisão, mais tempo será
        gasto para atingir uma solução.
    •   Tolerância - a porcentagem através da qual a célula de destino de uma solução atendendo às
        restrições de número inteiro pode divergir do valor ideal e ainda ser considerada aceitável.
        Esta opção é aplicada somente aos problemas com restrições de número inteiro. Uma
        tolerância mais alta tende a acelerar o processo de solução.
    •   Convergência - quando a mudança relativa no valor da célula de destino é menor que o valor
        das cinco última iterações na caixa Convergência, o Solver é interrompido. A convergência é
        aplicada apenas aos problemas não lineares e deve ser indicada por uma fração entre 0
        (zero) e 1. Uma convergência menor é indicada quando o número fornecido tem mais casas
        decimais - por exemplo, 0,0001 tem uma mudança relativa menor que 0,01. Quanto menor o
        valor da convergência, mais tempo será necessário para o Solver encontrar uma solução.
    •   Presumir modelo linear - selecione para acelerar o processo de solução, quando todas as
        relações no modelo forem lineares e você desejar resolver um problema de otimização linear
        ou uma aproximação linear para um problema não linear.
    •   Mostrar resultados de iteração - selecione para instruir o Solver a interromper e exibir os
        resultados de cada iteração.
    •   Usar escala automática - selecione para usar a escala automática quando as entradas e
        saídas tiverem tamanhos muito diferentes - por exemplo, quando a maximização da
        porcentagem de lucros estiver baseada em investimentos de milhões de dólares.
    •   Presumir não negativo - instrui o Solver a presumir um limite mínimo de 0 (zero) para todas
        as células ajustáveis para as quais você não definiu um limite mínimo na caixa Restrição da
        caixa de diálogo Restrição.
    •   Estimativas - especifica a abordagem usada para obter as estimativas iniciais das variáveis
        básicas em cada pesquisa unidimensional.
    •   Tangente - usa a extrapolação linear de um vetor tangencial.
    •   Quadrática - usa a extrapolação quadrática, que pode melhorar os resultados em problemas
        altamente não-lineares.
    •   Derivadas - especifica a diferenciação usada para estimar derivadas parciais das funções de
        objetivo e de restrição.
    •   Adiante - use na maioria dos problemas em que os valores de restrição são alterados com
        relativa lentidão.
    •   Central - use em problemas em que as restrições são rapidamente alteradas, principalmente
        perto dos limites. Embora essa opção requeira mais cálculos, pode ser útil usá-la quando o
        Solver retornar uma mensagem informando que ele não pode melhorar a solução.
    •   Pesquisar - especifica o algoritmo que será usado em cada iteração para decidir em que
        direção pesquisar.

                                             Página 38
                                           Ednis P. Rocha
•   Newton - usa o método quase-Newton que geralmente exige mais memória e bem menos
        iterações do que o método gradiente Conjugado.
    •   Conjugado - requer menos memória do que o método Newton, mas geralmente exige mais
        iterações para atingir determinado nível de precisão. Use esta opção quando houver um
        problema grande e a quantidade de memória disponível for uma preocupação, ou quando as
        várias iterações do processo de solução revelarem um progresso lento.
    •   Carregar modelo - exibe a caixa de diálogo Carregar modelo, em que você pode especificar a
        referência para o modelo que deseja carregar.
    •   Salvar modelo - exibe a caixa de diálogo 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, além de poder
manter os resultados
que foram atingidos
pela ferramenta Solver,
pode-se restaurar os
valores originais, ou
ainda ter acesso a um
relatório sobre as
modificações
executadas na planilha
para que os resultados
fossem obtidos. Para
isso, em Relatórios,
clique sobre o relatório
desejado e depois em
OK.




                                            Página 39
                                          Ednis P. Rocha
Atingir Meta


Quando você souber o resultado desejado de uma única fórmula mas não o valor de entrada de que
a fórmula necessita para determinar o resultado, você poderá usar o recurso Atingir meta. Ao utilizar
este recurso, o Microsoft Excel varia o valor em uma célula específica até que uma fórmula
dependente daquela célula retorne o resultado desejado.

Para a seguinte
planilha, quantos
veículos Tempra
precisam ser
vendidos para
que seja atingido
um faturamento
de
R$600.000,00?

•   Selecione o comando Ferramentas/Atingir meta;
•   Em Definir célula, informe a célula que contêm a fórmula
    para a qual deseja-se encontrar uma solução. Neste caso
    $H$3;
•   Em Para valor, informe o valor que se deseja atingir.
    Neste caso 600000;
•   Em Variando célula informar a célula que contêm o valor
    que será alterado para que se atinja o valor desejado.
    Deve possuir relação direta com a fórmula especificada e
    não pode ser uma fórmula e sim um valor. Neste caso
    $G$3.
•   Clicar em OK.


Observação:

Caso haja um gráfico
com uma ou mais
faixas referentes a
essas células que
contêm fórmulas,
quando uma alteração
for efetuada nos
valores das barras,
colunas ou linhas do gráfico arrastando-as pela tela, automaticamente a caixa Atingir meta é
chamada.




                                             Página 40
                                           Ednis P. Rocha
Data e Hora


Com as funções de data e hora, você pode analisar e trabalhar com valores de data e hora em
fórmulas. Por exemplo, se você precisar usar a data atual em uma fórmula, use a função de planilha
HOJE, que retorna a data atual com base no relógio do sistema do computador.

DATA                      DATA.VALOR                 DIA                     DIAS360
DATAM                     FIM.MÊS                    HORA                    MINUTO
MÊS                       DIA.TRABALHO.TOTAL         AGORA                   SEGUNDO
TEMPO                     VALOR.TEMPO                HOJE                    DIA.DA.SEMANA
DIA.TRABALHO              ANO                        FRAÇÃO.ANO


Como o Microsoft Excel efetua cálculos de data e hora

O Microsoft Excel armazena datas como números seqüenciais conhecidos como valores de série e
armazena horas como frações decimais, pois a hora é considerada uma parte de um dia. As datas e
horas são valores e, logo, podem ser adicionadas, subtraídas e incluídas em outros cálculos. Por
exemplo, para determinar a diferença entre duas datas, subtraia uma data da outra. Você pode exibir
uma data ou hora como um número de série ou uma fração decimal, alterando o formato da célula
que contém 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 padrão do Microsoft Excel 97 para Windows é 1900. Para alterar para o sistema de datas 1904,
clique em Opções no menu Ferramentas, clique na guia Cálculo e, em seguida, marque a caixa de
seleção Sistema de data 1904.

A tabela a seguir mostra a primeira e a última data para cada sistema de datas e o valor de série
associado a cada data.

Sistema de Datas                 Primeira Data                  Última Data
1900                             1 de janeiro de 1900           31 de dezembro de 9999
                                 (valor de série 1)             (valor de série 2958525)

1904                             2 de janeiro de 1904           31 de dezembro de 9999
                                 (valor de série 1)             (valor de série 2957063)


Observação

Quando você insere uma data no Microsoft Excel 97 e apenas dois dígitos são 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.

Função                Utilidade                                         Sintaxe
Data                  Retorna o número de série de uma determinada      DATA(ano;mês;dia)
                      data
Data.Valor            Retorna o número de série da data representada    DATA.VALOR(texto_da
                      por texto_data. Use DATA.VALOR para converter     ta)
                      uma data representada pelo texto em um número
                      de série.
Dia                   Retorna o dia do mês que corresponde a            DIA(núm_série)
                      núm_série. O dia é dado como um inteiro que varia
                      de 1 a 31.
Dias360               Retorna o número de dias entre duas datas com     DIAS360(data_inicial;d
                                               Página 41
                                            Ednis P. Rocha
base em um ano de 360 dias (doze meses de 30           ata_final;método)
                   dias). Use esta função para ajudar no cálculo dos
                   pagamentos, se o seu sistema de contábil estiver
                   baseado em doze meses de 30 dias.
Datam              Retorna um número de série de data que é o             DATAM(data_inicial;me
                   número de meses indicado antes ou depois de            ses)
                   data_inicial. Use DATAM para calcular datas de
                   quitação ou datas de vencimento que caem no
                   mesmo dia do mês da data de emissão.
Fim.Mês            Retorna a data de número de série para o último        FIM.MÊS(data_inicial;m
                   dia do mês que é o número indicado de meses            eses)
                   antes ou depois de data_inicial. Use FIM.MÊS para
                   calcular as datas de vencimento que caem no
                   último dia do mês.
Hora               Retorna a hora correspondente a núm_série. A           HORA(núm_série)
                   hora é retornada como um inteiro, variando de 0
                   (12:00 A.M.) a 23 (11:00 P.M.).
Minuto             Retorna o minuto correspondente a núm_série. O         MINUTO(núm_série)
                   minuto é fornecido como um inteiro, variando de 0 a
                   59.
Mês                Retorna o mês correspondente a núm_série. O mês        MÊS(núm_série)
                   é fornecido como um inteiro, variando de 1 (janeiro)
                   a 12 (dezembro).
Dia.Trabalho.Total Retorna o número de dias úteis inteiros entre          DIA.TRABALHO.TOTA
                   data_inicial e data_final. Os dias úteis excluem os    L(data_inicial;data_final
                   fins de semana e quaisquer datas identificadas em      ;feriados)
                   feriados. Use DIA.TRABALHO.TOTAL para calcular
                   os benefícios aos empregados que recebem com
                   base no número de dias trabalhados durante um
                   período específico.
Agora              Retorna o número de série da data e hora atuais.       AGORA( )
Segundo            Retorna o segundo correspondente a núm_série. O        SEGUNDO(núm_série)
                   segundo é fornecido como um inteiro no intervalo
                   de 0 (zero) a 59. Use SEGUNDO para obter a hora
                   em segundos indicada por um número de série.
Tempo              Retorna o número de série de um horário em             TEMPO(hora;minuto;se
                   particular. O número de série retornado por TEMPO      gundo)
                   é uma fração 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 número de série da hora representada         VALOR.TEMPO(texto_
                   por texto_hora. O número de série é uma fração         hora)
                   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 número de série.
Hoje               Retorna o número de série da data atual. O número      HOJE( )
                   de série é o código de data-hora usado pelo
                   Microsoft Excel para cálculos de data e hora. Para
                   obter maiores informações sobre números de série,
                   consulte AGORA.
Dia.Da.Semana      Retorna o dia da semana correspondente a               DIA.DA.SEMANA(núm
                   núm_série. O dia é retornado como um inteiro           _série;retornar_tipo)
                   variando entre 1 (domingo) e 7 (sábado).
Diatrabalho        Retorna a data de número de série correspondente       DIATRABALHO(data_i
                   ao número indicado de dias úteis antes ou depois       nicial;dias;feriados)
                   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

                                             Página 42
                                           Ednis P. Rocha
vencimento, as horas de entrega esperadas ou o
             número de dias de trabalho executado. Para exibir
             o número como data, clique em Células no menu
             Formatar. Em seguida clique em Data na caixa
             Categoria e selecione um formato de data na caixa
             Tipo.
Ano          Retorna o ano correspondente a núm_série. O ano ANO(núm_série)
             é fornecido como um inteiro no intervalo 1900-
             9999.
Fração.Ano   Calcula a fração de ano que representa o número    FRAÇÃO.ANO(data_ini
             de dias inteiros entre duas datas (data_inicial e  cial;data_final;base)
             data_final). Use a função de planilha
             FRAÇÃO.ANO para identificar a proporção dos
             benefícios ou obrigações de um ano inteiro a serem
             designados para um determinado termo.




                                    Página 43
                                  Ednis P. Rocha
Funções Definidas pelo usuário


Se você usa um cálculo particularmente complexo em várias fórmulas, ou cálculos que exigem
diversas fórmulas porque as funções de planilha existentes não atendem às suas necessidades, você
pode criar funções personalizadas. Essas funções, conhecidas como funções definidas pelo usuário,
são criadas com o Visual Basic for Applications.

Procedimento Function

Um procedimento Function é uma série de instruções do Visual Basic colocadas entre as instruções
Function e End Function. Um procedimento Function é semelhante a um procedimento Sub, mas uma
função pode retornar um valor. Um procedimento Function pode utilizar argumentos, assim como
constantes, variáveis ou expressões passadas para ele através de um procedimento de chamada.
Caso um procedimento Function não tenha argumentos, sua instrução Function deve incluir um
conjunto de parênteses vazio. Uma função retorna um valor atribuindo um valor ao seu nome em uma
ou mais instruções do procedimento.

No exemplo apresentado a seguir, a função Celsius calcula o número de graus Celsius a partir dos
graus Fahrenheit.

Function Celsius(fDegrees)
  Celsius = (fDegrees - 32) * 5 / 9
End Function

Instrução If...Then...Else

Executa condicionalmente um grupo de instruções, dependendo do valor de uma expressão.

Sintaxe

If condição Then [instruções] [Else instruçõeselse]

Ou você pode utilizar a sintaxe de formato de bloco:

If condição Then
  [instruções]
[ElseIf condição-n Then
  [instruçõeselseif] ...
[Else
  [instruçõeselse]]
End If

A instrução If...Then...Else possui as partes a seguir:

Parte   Descrição

condição - Obrigatória. Um ou mais dos dois tipos de expressão seguintes:
           Uma expressão numérica ou expressão de seqüência de caracteres que é avaliada como
           True ou False. Se condição for Null, será tratada como False.
           Uma expressão do formato TypeOf nomedoobjeto Is tipodoobjeto. O nomedoobjeto é
           qualquer referência a objeto e tipodoobjeto é qualquer tipo de objeto válido. A expressão
           será True se nomedoobjeto for o tipo de objeto especificado por tipodoobjeto; caso
           contrário, será False.
instruções - Opcional em formato de bloco; requerida em formato de uma só linha que não possui
             cláusula Else. Uma ou mais instruções separadas por dois-pontos; executada se
             condição for True.
condição-n - Opcional. Igual a condição.
instruçõeselseif - Opcional. Uma ou mais instruções executadas se a condição-n associada for True.

                                               Página 44
                                             Ednis P. Rocha
instruçõeselse - Opcional. Uma ou mais instruções executadas se nenhuma expressão condição ou
                condição-n anterior for True.

Comentários

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 fácil de ler, manter e depurar.

Observação


Com o formato de uma só linha é possível ter múltiplas instruções executadas como resultado de uma
decisão If...Then. Todas as instruções devem estar na mesma linha e separadas por dois-pontos,
como na seguinte instrução:

If A > 10 Then A = A + 1 : B = B + A : C = C + B

Uma instrução If em formato de bloco deve ser a primeira em uma linha. As partes Else, ElseIf, e End
If da instrução podem ter somente um número de linha ou rótulo de linha precedendo-as. O If em
bloco deve terminar com uma instrução End If.

Para determinar se uma instrução é ou não If em bloco, examine o que vem em seguida à palavra-
chave Then. Se qualquer coisa exceto um comentário aparecer depois de Then na mesma linha, a
instrução será tratada como instrução If de uma só linha.

A cláusulas Else e ElseIf são opcionais. Você pode ter tantas cláusulas ElseIf em um bloco If quantas
desejar, mas nenhuma pode aparecer depois de uma cláusula Else. Instruções If em bloco podem ser
embutidas, isto é, contidas uma dentro da outra.

Executando um If em bloco (segunda sintaxe), condição é testada. Se condição for True, as
instruções seguintes a Then são executadas. Se condição for False, cada condição ElseIf (se houver)
será por sua vez avaliada. Quando uma condição True for encontrada, as instruções imediatamente
subseqüentes à Then associada são executadas. Se nenhuma das condições ElseIf forem True (ou
se não houver cláusulas ElseIf), as instruções subseqüentes a Else são executadas. Depois da
execução das instruções subseqüentes a Then ou Else, a execução continua com a instrução
subseqüente a End If.

Exemplo

Dim Número, Dígitos, MinhaSeqüência
Número = 53 ' Inicializa a variável.
If Número < 10 Then
      Dígitos = 1
ElseIf Número < 100 Then
' A condição avalia como True, então a próxima instrução é executada.
      Dígitos = 2
Else
      Dígitos = 3
End If


Utilizando instruções If...Then...Else


Você pode utilizar a instrução If...Then...Else para executar uma instrução específica ou um bloco de
instruções, dependendo do valor de uma condição. As instruções If...Then...Else podem ser
aninhadas em tantos níveis quanto você precise. No entanto, pode ser que, por uma questão de
legibilidade, você prefira utilizar uma instrução Select Case no lugar de criar múltiplos níveis de
instruções If...Then...Else aninhadas.

Executando instruções caso uma condição seja True
                                           Página 45
                                         Ednis P. Rocha
Para executar uma instrução somente quando uma condição for True, utilize a sintaxe de uma linha
da instrução 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 código, utilize a sintaxe de múltiplas linhas. Essa sintaxe inclui a
instrução End If, como mostra o exemplo apresentado a seguir:

Sub AlertarUsuário(value as Long)
      If valor = 0 Then
            AlertLabel.ForeColor = vbRed
            AlertLabel.Font.Bold = True
            AlertLabel.Font.Italic = True
      End If
End Sub

Executando certas instruções caso uma condição seja True e, executando outras, caso ela seja False

Utilize uma instrução If...Then...Else para definir dois blocos de instruções executáveis: um bloco é
executado caso a condição seja True; o outro bloco é executado caso a condição seja False.

Sub AlertarUsuário(valor as Long)
      If valor = 0 Then
            AlertLabel.ForeColor =              vbRed
            AlertLabel.Font.Bold =              True
            AlertLabel.Font.Italic              = True
      Else
            AlertLabel.Forecolor =              vbBlack
            AlertLabel.Font.Bold =              False
            AlertLabel.Font.Italic              = False
      End If
End Sub

Testando uma segunda condição caso a primeira condição seja False

Você pode adicionar instruções ElseIf a uma instrução If...Then...Else para testar uma segunda
condição caso a primeira condição seja False. Por exemplo, o procedimento de função apresentado a
seguir computa uma gratificação com base no cargo. A instrução posterior a Else caso as condições
em todas as instruções If e ElseIf sejam False.

Function Bonus(desempenho, salário)
      If desempenho = 1 Then
            Bonus = salário * 0.1
      ElseIf desempenho = 2 Then
            Bonus = salário * 0.09
      ElseIf desempenho = 3 Then
            Bonus = salário * 0.07
      Else
            Bonus = 0
      End If
End Function




Instrução For...Next

                                               Página 46
                                             Ednis P. Rocha
Repete um grupo de instruções um número específico de vezes.


Sintaxe

For contador = início To fim [Step passo]
  [instruções]
  [Exit For]
  [instruções]
Next [contador]

A sintaxe da instrução For…Next possui as partes a seguir:

Contador - Obrigatória. Variável numérica utilizada como contador de loops. A variável não pode ser
            um Boolean ou um elemento de matriz.
Início - Obrigatória. Valor inicial do contador.
Fim - Obrigatória. Valor final do contador.
Passo - Opcional. A quantidade em que o contador é alterado cada vez que passa pelo loop. Se o
passo não for especificado, o padrão será um.
              Instruções - Opcional. Uma ou mais instruções entre For e Next que são executadas
              conforme o número de vezes especificado.


Comentários

O argumento do passo pode ser positivo ou negativo. O valor do argumento do passo determina o
processamento do loop da seguinte forma:

Valor              Loop é executado se
Positivo ou 0      contador <= fim
Negativo           contador >= fim

Depois que todas as instruções do loop tiverem sido executadas, passo é adicionado a contador.
Neste momento ou as instruções do loop são executadas novamente (baseadas no mesmo teste que
causou a execução inicial do loop) ou o loop sai e a execução continua com a instrução seguinte à
instrução Next.


Dica

A alteração do valor de um contador estando dentro de um loop pode tornar mais difícil a leitura e
depuração do seu código.

Qualquer número de instruções Exit For pode ser colocado em qualquer lugar dentro do loop como
meio alternativo de sair. Muitas vezes Exit For é utilizada depois da avaliação de alguma condição,
por exemplo, If...Then, e transfere o controle para a instrução imediatamente seguinte a Next.
Você pode embutir loops For...Next colocando um dentro do outro. Dê a cada loop um nome de
variável exclusivo como seu contador. A construção a seguir é correta:

For I = 1 To 10
      For J = 1 To 10
            For K = 1 To 10
                  ...
            Next K
      Next J
Next I
Observação

Se você omitir contador em uma instrução Next, a execução continua como se contador estivesse
incluído. Se uma instrução Next for encontrada antes de sua instrução For correspondente, ocorrerá
um erro.
                                              Página 47
                                            Ednis P. Rocha
Instrução Do...Loop


Repete um bloco de instruções enquanto uma condição é True ou até que ela se torne True.


Sintaxe

Do [{While | Until} condição]
  [instruções]
  [Exit Do]
  [instruções]
Loop

Ou você pode utilizar esta sintaxe:

Do
  [instruções]
  [Exit Do]
  [instruções]
Loop [{While | Until} condição]

A sintaxe da instrução Do Loop possui as partes a seguir:

Condição - Opcional. Expressão numérica ou expressão de seqüência que seja True ou False. Se
condição for Null, condição é tratada como False.
Instruções - Uma ou mais instruções que são repetidas enquanto, ou até que, condição seja True.


Comentários

Qualquer número de instruções Exit Do pode ser colocado em qualquer lugar em Do…Loop como
meio alternativo para sair de um Do…Loop. Exit Do é freqüentemente utilizada depois que alguma
condição é avaliada, por exemplo, If…Then, caso em que a instrução Exit Do transfere o controle
para a instrução imediatamente seguinte a Loop.

Quando utilizada com instruções Do…Loop embutidas, Exit Do transfere o controle para o loop que
está embutido em um nível acima do loop em que ocorre Exit Do.




                                             Página 48
                                           Ednis P. Rocha
Utilizando instruções For Each...Next


As instruções For Each...Next repetem um bloco instruções em cada objeto de uma coleçãoou em
cada elemento de uma matriz. O Visual Basic define automaticamente uma variável todas as vezes
que o loop for executado. Por exemplo, o procedimento apresentado a seguir fecha todos os
formulários, exceto o formulário que contém o procedimento que está sendo executado.

Sub FecharFormulários()
      For Each frm In Application.Forms
            If frm.Caption <> Screen. ActiveForm.Caption Then frm.Close
      Next
End Sub

O código apresentado a seguir executa um loop através de todos os elementos de uma matriz e
define o valor de cada um deles como o valor da variável 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 células

Utilize um loop For Each...Next para efetuar um loop nas células de um intervalo. O procedimento
apresentado a seguir executa um loop no intervalo A1:D10 da Plan1 e define qualquer número cujo
valor absoluto seja inferior a 0.01 como 0 (zero).

Sub ArredondarParaZero()
      For Each meuObjeto in minhaColeção
            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 instrução Exit For. Por exemplo, quando
ocorre um erro, utilize a instrução Exit For no bloco de instruções True de uma instrução
If...Then...Else ou uma instrução Select Case que verifica de forma específica o erro. Caso não ocorra
o erro, a instrução If…Then…Else será False e o loop prosseguirá normalmente.

O exemplo apresentado a seguir testa a primeira célula no intervalo A1:B5 que não contenha um
número. Se existir uma célula desse tipo, será exibida uma mensagem e Exit For sairá do loop.

Sub TestarNúmeros()
      For Each meuObjeto In MinhaColeção
            If IsNumeric(meuObjeto.Value) = False Then
                  MsgBox "Objeto contém um valor não-numérico."
                  Exit For
            End If
      Next
End Sub

Sub teste()
  Dim nr, cont As Integer
  nr = InputBox("Digite um número inteiro")
  cont = 1
  For Each c In Range("a1:a10")

                                              Página 49
                                            Ednis P. Rocha
c.Value = cont
    c.Offset(0, 1).Value   =   "X"
    c.Offset(0, 2).Value   =   nr
    c.Offset(0, 3).Value   =   "="
    c.Offset(0, 4).Value   =   nr * cont
    cont = cont + 1
    'delay 0.5
  Next c
End Sub


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




                                      Página 50
                                    Ednis P. Rocha
Objeto Workbook

Representa uma pasta de trabalho do Microsoft Excel.


Propriedade Workbooks

Use Workbooks(índice), onde índice é o número 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 número 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 ativação de uma pasta de trabalho não altera seu número de índice. Todas as pastas de
trabalho são incluídas na contagem do índice, mesmo que elas estejam ocultas.

A propriedade Name retorna o nome da pasta de trabalho. Você não pode definir o nome usando
essa propriedade; se você precisa alterar o nome, use o método 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 = "João Silva"




                                            Página 51
                                          Ednis P. Rocha
Objeto Worksheet

Representa uma planilha O objeto Worksheet é um membro da coleção Worksheets. A coleção
Worksheets contém todos os objetos Worksheet em uma pasta de trabalho.


Propriedade Worksheets

Use Worksheets(índice), onde índice é número 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 número de índice da planilha denota a posição 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 são incluídas na contagem do índice,
mesmo quando estão 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 cenários na Plan1.

Worksheets("plan1").Protect password:="ahnes", scenarios:=True

O objeto Worksheet é também um membro da coleção Sheets. A coleção Sheets contém todas as
planilhas da pasta de trabalho (tanto folhas de gráfico 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 método Activate para ativar Plan1, define a orientação da página como
modo paisagem e, em seguida, imprime a planilha.

Worksheets("plan1").Activate
ActiveSheet.PageSetup.Orientation = xlLandscape
ActiveSheet.PrintOut




                                            Página 52
                                          Ednis P. Rocha
Objeto Range

Representa uma célula, uma linha, uma coluna, uma seleção de células contendo um ou mais blocos
contíguos de células ou um intervalo 3-D.


Propriedade Range

Use Range(argumento), onde argumento nomeia o intervalo, para retornar um objeto Range
representando uma única célula ou um intervalo de células. O exemplo seguinte coloca o valor da
célula A1 na célula A5.

Worksheets("Plan1").Range("A5").Value = _
    Worksheets("Plan1").Range("A1").Value

O exemplo seguinte preenche o intervalo A1:H8 com números randômicos definindo a fórmula para
cada célula 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 não for uma
planilha de trabalho, o método falhará. Use o método Activate para ativar uma planilha antes de usar
a propriedade Range sem um qualificador de objeto explícito.

Worksheets("plan1").Activate
Range("A1:H8").Formula = "=rand()" 'O intervalo está na planilha ativa

O exemplo seguinte limpa o conteúdo do intervalo chamado "Critérios".

Worksheets(1).Range("critérios").ClearContents

Se você usar um argumento de texto para o endereço do intervalo, você terá que especificar o
endereço em notação de estilo A1 (você não poderá usar a notação de estilo L1C1).


Propriedade Cells

Use Cells(linha, coluna) onde linha é o índice da linha e coluna é o índice da coluna, para retornar
uma única célula. O exemplo seguinte define o valor da célula A1 como 24.

Worksheets(1).Cells(1, 1).Value = 24

O exemplo seguinte define a fórmula para a célula A2.

ActiveSheet.Cells(2, 1).Formula = "=sum(b1:b5)"

Embora você também possa usar Range("A1") para retornar a célula A1, pode haver ocasiões em
que a propriedade Cells seja mais conveniente porque você pode usar uma variável para a linha ou
coluna. O exemplo seguinte cria cabeçalhos de coluna e linha na Plan1. Observe que após a planilha
ser ativada, a propriedade Cells pode ser usada sem uma declaração explícita de planilha (ela retorna
uma célula da planilha ativa).

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


                                              Página 53
                                            Ednis P. Rocha
Apesar de você poder usar funções de cadeia de caracteres do Visual Basic para alterar as
referências de estilo A1, é muito mais fácil (e é uma prática de programação muito melhor) usar a
notação Cells(1, 1).

Use expressão.Cells(linha, coluna), onde expressão é uma expressão que retorne um objeto Range,
e linha e coluna são relativas ao canto superior esquerdo do intervalo, para retornar parte de um
intervalo. O exemplo seguinte define a fórmula para a célula C5.

Worksheets(1).Range("c5:c10").Cells(1, 1).Formula = "=rand()"


Range e Cells

Use Range(célula1, célula2), onde célula1 e célula2 são objetos Range que especificam as células
inicial e final, para retornar um objeto Range. O exemplo seguinte define o estilo da linha da borda
das células 1:J10.

With Worksheets(1)
    .Range(.Cells(1, 1), .Cells(10, 10)).Borders.LineStyle = xlThick
End With

Observe o ponto na frente de cada ocorrência da propriedade Cells. O ponto será obrigatório se o
resultado da instrução With anterior for aplicado à propriedade Cells ¾ nesse caso, para indicar que
as células estão na planilha um (sem o ponto, a propriedade Cells retornaria as células da planilha
ativa).


Propriedade Offset

Use Offset(linha, coluna), onde linha e coluna são os deslocamentos de linha e coluna, para retornar
um intervalo em um deslocamento especificado de um outro intervalo. O exemplo seguinte seleciona
a célula três linhas abaixo e uma coluna à esquerda da célula do canto superior esquerdo da seleção
atual. Você não pode selecionar uma célula que não esteja na planilha ativa, portanto, você precisa
ativar primeiro a planilha.

Worksheets("plan1").Activate 'não é possível selecionar, a menos que a
planilha esteja ativa
Selection.Offset(3, 1).Range("a1").Select


Método Union

Use Union(intervalo1, intervalo2, ...) para retornar intervalos de várias áreas ¾ isto é, intervalos
compostos de dois ou mais blocos contíguos de células. O exemplo seguinte cria um objeto definido
como a união de intervalos A1:B2 e C3:D4 e, em seguida, seleciona o intervalo definido.

Dim i1 As Range, i2 As Range, meuIntervVáriasÁreas As Range
Worksheets("plan1").Activate
Set i1 = Range("A1:B2")
Set i2 = Range("C3:D4")
Set meuIntervVáriasÁreas = Union(i1, i2)
meuIntervVáriasÁreas.Select

Se você trabalha com seleções que contêm mais do que uma área, a propriedade Areas é muito útil.
Ela divide uma seleção de várias áreas em objetos Range individuais e, em seguida, retorna os
objetos como uma coleção. Você pode usar a propriedade Count na coleção retornada para verificar
uma seleção que contenha mais do que uma área, como mostrado no exemplo seguinte.

Sub NenhumaSelDeVáriasÁreas()
      númeroDeÁreasSelecionadas = Selection.Areas.Count
      If númeroDeÁreasSelecionadas > 1 Then
            MsgBox "Você não pode executar esse comando " & _
                                   Página 54
                                 Ednis P. Rocha
"em seleções de várias áreas"
      End If
End Sub




                               Página 55
                             Ednis P. Rocha
Método InputBox

Exibe uma caixa de diálogo para entrada pelo usuário. Retorna as informações inseridas na caixa de
diálogo.


Sintaxe

expressão.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)

expressão: Obrigatória. Uma expressão que retorne um objeto Application.
Prompt: String obrigatória. A mensagem a ser exibida na caixa de diálogo. Pode ser uma seqüência,
           um número, uma data ou um valor Boolean (o Microsoft Excel converte o valor
           automaticamente para uma String antes dele ser exibido).
Title: Variant opcional. O título da caixa de entrada. Se esse argumento for omitido, o título padrão
        será "Entrada".
Default: Variant opcional. Especifica um valor que aparecerá na caixa de texto quando a caixa de
           diálogo 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 posição x para a caixa de diálogo em relação ao canto superior
      esquerdo da tela, em pontos.
Top: Variant opcional. Especifica uma posição y para a caixa de diálogo em relação 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 botão Ajuda aparecerá na
           caixa de diálogo.
HelpContextId: Variant opcional. O número de identificação do contexto do tópico da Ajuda em
HelpFile.
Type: Variant opcional. Especifica o tipo de dados retornado. Se esse argumento for omitido, a caixa
        de diálogo retornará texto. Pode ser um dos valores abaixo ou a soma deles.



Valor       Significado
0           Uma fórmula
1           Um número
2           Texto (uma seqüência)
4           Um valor lógico (True ou False)
8           Uma referência a células, como um objeto Range
16          Um valor de erro, como #N/D
64          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 números, defina Type como 1 + 2.


Comentários

Use InputBox para exibir uma caixa de diálogo simples para que você possa inserir informações a
serem usadas em uma macro. A caixa de diálogo tem um botão OK e um botão Cancelar. Quando
você escolhe o botão OK, InputBox retorna o valor inserido na caixa de diálogo. Quando você clica no
botão Cancelar, InputBox retorna False.

Quando Type é 0, InputBox retorna a fórmula na forma de texto ¾ por exemplo, "=2*PI()/360". Se
houver quaisquer referências na fórmula, elas serão rertornadas como referências de estilo A1. (Use
ConvertFormula para fazer a conversão entre estilos de referências).

Quando Type é 8, InputBox retorna um objeto Range. Você precisa usar a instrução Set para atribuir
o resultado a um objeto Range, como mostrado no exemplo seguinte.

                                             Página 56
                                           Ednis P. Rocha
Set meuInterv = Application.InputBox(prompt := "Exemplo", type := 8)

Se você não usar a instrução Set, a variável será definida com o valor no intervalo em vez do próprio
objeto Range.

Se você usar o método InputBox para pedir uma fórmula ao usuário, você terá que usar a
propriedade FormulaLocal para atribuir a fórmula a um objeto Range. A fórmula de entrada deverá
estar no idioma do usuário.

O método InputBox difere da função InputBox em permitir validação seletiva da entrada do usuário, e
em poder ser usada com objetos, valores de erro e fórmulas do Microsoft Excel. Observe que
Application.InputBox chama o método InputBox; InputBox sem qualificador de objeto chama a função
InputBox.


Exemplo

meuNúm = Application.InputBox("Insira um número")

Este exemplo pede ao usuário que selecione uma célula em Plan1. Este exemplo usa o argumento
Type para assegurar que o valor retornado seja uma referência de célula válida (um objeto Range).

Worksheets("Plan1").Activate
Set minhaCélula = Application.InputBox( _
      prompt:="Selecione uma célula", Type:=8)




                                              Página 57
                                            Ednis P. Rocha
Função MsgBox

Exibe uma mensagem em uma caixa de diálogo, aguarda que o usuário clique em um botão e retorna
um Integer que indica qual botão o usuário clicou.


Sintaxe

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

A sintaxe da função MsgBox possui os argumentos nomeados a seguir:

Prompt: Obrigatório. Expressão de seqüência de caracteres exibida como mensagem na caixa de
           diálogo. O comprimento máximo 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 alimentação de linha (Chr(10)) ou uma combinação de caracteres de retorno
           de carro e alimentação de linha (Chr(13) & Chr(10)) entre cada linha.
           Buttons: Opcional. Expressão numérica que é a soma de valores que especifica o número e
           o tipo de botões a exibir, o estilo de ícone a utilizar, a identidade do botão padrão e a
           modalidade da caixa de mensagem. Se omitido, o valor padrão para buttons é 0.
Title: Opcional. Expressão de seqüência de caracteres exibida na barra de título da caixa de diálogo.
        Se você omitir title, o nome do aplicativo será inserido na barra de título.
Helpfile: Opcional. Expressão de seqüência de caracteres que identifica o arquivo de Ajuda a ser
           utilizado para fornecer a ajuda sensível ao contexto relativa à caixa de diálogo. Se helpfile
           for fornecido, context também deverá ser fornecido.
Context: Opcional. Expressão numérica que é o número de contexto da Ajuda atribuído ao tópico de
         Ajuda apropriado pelo autor da Ajuda. Se context for fornecido, helpfile também deverá ser
         fornecido.


Definições

As definições do argumento buttons são:

Constante                    Valor           Descrição
vbOKOnly                     0               Exibe somente o botão OK.
VbOKCancel                   1               Exibe os botões OK e Cancelar.
VbAbortRetryIgnore           2               Exibe os botões Abortar, Repetir e Ignorar.
VbYesNoCancel                3               Exibe os botões Sim, Não e Cancelar.
VbYesNo                      4               Exibe os botões Sim e Não.
VbRetryCancel                5               Exibe os botões Repetir e Cancelar.
VbCritical                   16              Exibe o ícone Mensagem crítica.
VbQuestion                   32              Exibe o ícone Consulta de aviso.
VbExclamation                48              Exibe o ícone Mensagem de aviso.
VbInformation                64              Exibe o ícone Mensagem de informação.
VbDefaultButton1             0               O primeiro botão é o padrão.
VbDefaultButton2             256             O segundo botão é o padrão.
VbDefaultButton3             512             O terceiro botão é o padrão.
VbDefaultButton4             768             O quarto botão é o padrão.
VbApplicationModal           0               Janela restrita do aplicativo; o usuário deve responder à
                                             caixa de mensagem antes de continuar o trabalho no
                                             aplicativo atual.
VbSystemModal                4096            Janela restrita do sistema; todos os aplicativos são
                                             suspensos até que o usuário responda à caixa de
                                             mensagem.

O primeiro grupo de valores (0–5) descreve o número e o tipo de botões exibidos na caixa de diálogo;
o segundo grupo (16, 32, 48, 64) descreve o estilo de ícone; o terceiro grupo (0, 256, 512) determina
qual botão é o padrão e o quarto grupo (0, 4096) determina a modalidade da caixa de mensagem.
                                              Página 58
                                            Ednis P. Rocha
Quando estiver somando números para criar um valor final para o argumento buttons, utilize somente
um número de cada grupo.

Observação Estas constantes são especificadas pelo Visual Basic para Aplicativos. Como resultado,
os nomes podem ser utilizados em qualquer lugar do seu código em vez dos valores reais.



Valores de retorno

Constante        Valor        Descrição
vbOK             1            OK
vbCancel         2            Cancelar
vbAbort          3            Abortar
vbRetry          4            Repetir
vbIgnore         5            Ignorar
vbYes            6            Sim
vbNo             7            Não


Comentários

Quando helpfile e context são fornecidos, o usuário pode pressionar F1 para exibir o tópico da Ajuda
correspondente ao context. Alguns aplicativos host, por exemplo, o Microsoft Excel, também
adicionam automaticamente um botão Ajuda à caixa de diálogo.

Se a caixa de diálogo exibir um botão Cancelar, pressionar a tecla ESC terá o mesmo efeito que
clicar em Cancelar. Se a caixa de diálogo contiver um botão Ajuda, será fornecida a ajuda sensível ao
contexto relativa à caixa de diálogo. Entretanto, nenhum valor será retornado até que um dos outros
botões seja clicado.


Observação

Para especificar mais do que o primeiro argumento nomeado, você deve utilizar MsgBox em uma
expressão. Para omitir algum argumento posicional, você deve incluir o delimitador de vírgula
correspondente.

Este exemplo utiliza a função MsgBox para exibir uma mensagem de erro crítico em uma caixa de
diálogo com os botões Sim e Não. O botão Não é especificado como a resposta padrão. O valor
retornado pela função MsgBox depende do botão escolhido pelo usuário. Este exemplo supõe que
DEMO.HLP é um arquivo de Ajuda que contém um tópico com um número de contexto da Ajuda igual
a 1000.

Dim Msg, Estilo, Título, Ajuda, Ctxt, Resposta, MinhaSeqüência
Msg = "Deseja continuar?"     ' Define a mensagem.
Estilo = vbYesNo + vbCritical + vbDefaultButton2      ' Define os botões.
Título = "Demonstração de MsgBox" ' Define o título.
Ajuda = "DEMO.HLP"      ' Define o arquivo de Ajuda.
Ctxt = 1000 ' Define o contexto do
            ' tópico.
            ' Exibe a mensagem.
Resposta = MsgBox(Msg, Estilo, Título, Ajuda, Ctxt)
If Resposta = vbYes Then      ' O usuário escolheu Sim.

MinhaSeqüência = "Sim" ' Executa alguma ação.
Else ' O usuário escolheu Não.
      MinhaSeqüência = "Não" ' Executa alguma ação.
End If

Como fazer referência a células e intervalos
                                             Página 59
                                           Ednis P. Rocha
Uma tarefa comum ao usar o Visual Basic é especificar uma célula ou intervalo de células e, em
seguida, fazer algo com elas, como inserir uma fórmula ou alterar o formato. Geralmente, você pode
fazer isso em uma instrução que identifique o intervalo e também altere uma propriedade ou aplique
um método.

Um objeto Range no Visual Basic pode ser uma única célula ou um intervalo de células. Os tópicos
seguintes mostram as maneiras mais comuns de identificar e trabalhar com objetos Range.


Referindo-se a células e intervalos usando notação A1

Você pode referir-se a uma célula ou intervalo de células no estilo de referência A1 usando o método
Range. O procedimento Sub seguinte altera o formato das células A1:D5 para negrito.

Sub FormatarIntervalo()
      Workbooks("Pasta1").Sheets("Plan1").Range("A1:D5") _
            .Font.Bold = True
End Sub

A tabela seguinte ilustra algumas referências em estilo A1 usando o método Range.

Referência                     Significado
Range("A1")                    Célula A1
Range("A1:B5")                 Células de A1 até B5
Range("C5:D9,G9:H16")          Uma seleção de várias áreas
Range("A:A")                   Coluna A
Range("1:1")                   Linha um
Range("A:C")                   Colunas de A até C
Range("1:5")                   Linhas de um até cinco
Range("1:1,3:3,8:8")           Linhas um, três e oito
Range("A:A,C:C,F:F")           Colunas A, C e F


Referindo-se a células usando números de índice

Você pode usar a propriedade Cells para referir-se a uma única célula usando números de índice de
linha e coluna. Essa propriedade retorna um objeto Range representando uma única célula. No
exemplo seguinte, Cells(6,1) retorna a célula 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 através de um intervalo de células porque você pode
substituir os números de índice por variáveis, 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


Observação

Se você desejar alterar as propriedades ou aplicar um método a todo um intervalo de células de uma
só vez, use a propriedade Range. Para obter maiores informações, consulte Referir-se a células
usando notação A1.
                                              Página 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 células. 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 referências de linha e coluna usando as propriedades Rows e
Columns.

Referência               Significado
Rows(1)                  Linha um
Rows                     Todas as linhas da planilha
Columns(1)               Coluna um
Columns("A")             Coluna um
Columns                  Todas as colunas da planilha

Para trabalhar com várias linhas ou colunas ao mesmo tempo, crie uma variável de objeto e use o
método Union, combinando várias chamadas à propriedade Rows ou Columns. O exemplo seguinte
altera para negrito o formato das linhas um, três e cinco na planilha um da pasta de trabalho ativa.

Sub VáriasLinhas()
      Worksheets("Plan1").Activate
      Dim minhaUnião As Range
      Set minhaUnião = Union(Rows(1), Rows(3), Rows(5))
      minhaUnião.Font.Bold = True
End Sub


Referindo-se a células usando notação de atalho

Você pode usar o estilo de referência A1 ou um intervalo nomeado entre colchetes com um atalho
para a propriedade Range. Você não 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 são mais fáceis de identificar por nome do que por notação A1. Para nomear um
intervalo selecionado, clique na caixa de nome na extremidade esquerda da barra de fórmulas, 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()
                                              Página 61
                                            Ednis P. Rocha
Range("MinhaPasta.xls!MeuIntervalo").Font.Italic = True
End Sub

O exemplo seguinte se refere ao intervalo específico de planilha chamado "Plan1!Vendas" na pasta
de trabalho chamada "Relatório.xls".

Sub FormatarVendas()
      Range("[Relatório.xls]Plan1!Vendas").BorderAround weight:=xlthin
End Sub

Para selecionar um intervalo nomeado, use o método 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 através de células em um intervalo nomeado

O exemplo seguinte faz um loop através de cada célula de um intervalo nomeado usando um loop For
Each...Next. Se o valor de qualquer célula do intervalo exceder o valor de limite, a cor da célula 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 células em relação a outras células

Uma maneira comum de trabalhar com uma célula em relação a uma outra célula é usar a
propriedade Offset. No exemplo seguinte, o conteúdo da célula que se encontra uma linha abaixo e a
três colunas da célula ativa na planilha ativa é formatado com sublinhado duplo.

Sub Sublinhar()
      ActiveCell.Offset(1, 3).Font.Underline = xlDouble
End Sub


Observação


Você pode gravar macros que usem a propriedade Offset em vez de referências absolutas. No menu
Ferramentas, aponte para Gravar macro e, em seguida, clique em Usar referências relativas.

Para fazer um loop através de um intervalo de células, use uma variável com a propriedade Cells em
um loop. O exemplo seguinte preenche as 20 primeiras células da terceira coluna com valores entre 5
e 100, incrementados por 5. A variável contador é usada como índice de linha para a propriedade
Cells.
                                              Página 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 células usando um objeto Range

Quando você define uma variável de objeto para um objeto Range, você pode facilmente manipular o
intervalo usando o nome da variável.
O procedimento seguinte cria a variável de objeto meuIntervalo e, em seguida, atribui a variável ao
intervalo A1:D5 de Plan1 na pasta de trabalho ativa. Instruções subseqüentes modificam
propriedades do intervalo substituindo o objeto de intervalo pelo nome da variável.

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 células da planilha

Quando você aplica a propriedade Cells a uma planilha sem especificar um número de índice, o
método retorna um objeto Range representando todas as células da planilha. O procedimento Sub
seguinte limpa o conteúdo de todas as células de Plan1 na pasta de trabalho ativa.

Sub LimparPlanilha()
      Worksheets("Plan1").Cells.ClearContents
End Sub


Referindo-se a vários intervalos

Usando o método apropriado, você pode facilmente referir-se a vários intervalos. Use os métodos
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 vários intervalos com a propriedade Range colocando vírgulas entre duas ou
mais referências. O exemplo seguinte limpa o conteúdo dos três 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 fácil ao trabalhar com vários
intervalos. O exemplo seguinte funciona quando todos os três intervalos nomeados se encontram na
mesma planilha.

Sub LimparNomeado()
      Range("MeuIntervalo, SeuIntervalo, IntervaloDele").ClearContents
End Sub

Usar o método Union


                                             Página 63
                                           Ednis P. Rocha
Você pode combinar vários intervalos em um objeto Range usando o método Union. O exemplo
seguinte cria um objeto Range chamado meuIntervaloMúltiplo, define-o com os intervalos A1:B2 e
C3:D4 e, em seguida, formata com negrito os intervalos combinados.

Sub IntervaloMúltiplo()
      Dim l1, l2, meuIntervaloMúltiplo As Range
      Set l1 = Sheets("Plan1").Range("A1:B2")
      Set l2 = Sheets("Plan1").Range("C3:D4")
      Set meuIntervaloMúltiplo = Union(l1, l2)
      meuIntervaloMúltiplo.Font.Bold = True
End Sub

Usar a propriedade Areas

Você pode usar a propriedade Areas para referir-se ao intervalo selecionado ou à coleção de
intervalos em uma seleção de várias áreas. O procedimento seguinte conta as áreas da seleção. Se
houver mais de uma área, uma mensagem de aviso será exibida.

Sub LocalizarMúltiplas()
      If Selection.Areas.Count > 1 Then
            MsgBox "Não é possível fazer isso com uma seleção múltipla."
      End If
End Sub




                                            Página 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, MinhaSeqüência
  For Palavras = 10 To 1 Step -1 ' Configura 10 repetições.
    For Caracteres = 0 To 9 ' Configura 10 repetições.
      MinhaSeqüência = MinhaSeqüência & Caracteres ' Acrescenta o número à
                                                    ' seqüência de
caracteres.
    Next Caracteres ' Incrementa o contador
    MinhaSeqüência = MinhaSeqüência & " "   ' Acrescenta um espaço.
  Next Palavras
  MsgBox MinhaSeqüência
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
                                  Página 65
                                Ednis P. Rocha
End Sub


Dois exemplos de utilização 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 = "Triângulo Equilátero"
       Else
         If (A = B) Or (B = C) Or (A = C) Then
            triangulo = "Triângulo Isósceles"
            Else
              triangulo = "Triângulo Escaleno"
         End If
    End If
    Else
       triangulo = "Estes valores não formam um Triângulo"
  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 = "Triângulo Isósceles"
  End If
  If ((A < B + C) And (B < A + C) And (C < A + B)) And _
     ((A = B) And (A = C)) Then
    triangulo1 = "Triângulo Equilátero"
  End If
  If ((A < B + C) And (B < A + C) And (C < A + B)) And _
     ((A <> B) And (B <> C)) Then
    triangulo1 = "Triângulo Escaleno"
  End If
  If Not ((A < B + C) And (B < A + C) And (C < A + B)) Then
    triangulo1 = "Estes valores não formam um Triângulo"
  End If
End Function




                                           Página 66
                                         Ednis P. Rocha
Personalizar códigos de formato de hora, número e data


Se um formato de número interno não estiver disponível para exibir os dados da maneira que você
deseja, crie um formato de número personalizado usando a categoria Personalizado na guia Número
(comando Células, menu Formatar). Você cria formatos de número personalizados especificando os
códigos de formatação que descrevam como você deseja exibir números, datas, horas ou textos.
Especifique até quatro seções de códigos de formatação. As seções, separadas por ponto-e-vírgula,
definem os formatos para números positivos, números negativos, valores zero e texto, nessa ordem.
Se você especificar apenas duas seções, a primeira será usada para números positivos e zeros, e a
segunda será usada para números negativos. Se você especificar uma única seção, todos os
números usarão este formato. Se você pular uma seção, inclua o ponto-e-vírgula final desta seção.




Formatar datas e horas

Formatos para datas e horas

Para exibir dias, meses e anos, inclua os códigos de formatação a seguir na seção. Se você usar “m”
logo após o código de formatação “h” ou “hh” ou logo antes do código “ss”, o Microsoft Excel exibirá
minutos em vez do mês.

Para exibir                                              Use este código de formatação
Meses como 1-12                                          m
Meses como 01-12                                         mm
Meses como Jan-Dez                                       mmm
Meses como Janeiro-Dezembro                              mmmm
Meses como a primeira letra do mês                       mmmmm
Dias como 1-31                                           d
Dias como 01-31                                          dd
Dias como Dom-Sáb                                        ddd
Dias como Domingo-Sábado                                 dddd
Anos como 00-99                                          aa
Anos como 1900-9999                                      aaaa

Para exibir horas, minutos e segundos, inclua os códigos de formatação a seguir em uma seção.

Para exibir                                              Use este código de formatação
Horas como 0-23                                          h
Horas como 00-23                                         hh
Minutos como 0-59                                        m
Minutos como 00-59                                       mm
Segundos como 0-59                                       s
Segundos como 00-59                                      ss
Horas como 4 AM                                          h AM/PM
Hora como 4:36 pm                                        h:mm am/pm
Hora como 4:36:03 p                                      h:mm:ss a/p
Tempo decorrido em horas; por exemplo, 25.02             [h]:mm
Tempo transcorrido em minutos; por exemplo, 63:46        [mm]:ss
Tempo transcorrido em segundos                           [ss]
Frações de um segundo                                    h:mm:ss.00

Se o formato contiver AM ou PM, a hora será baseada no relógio 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 contrário, a hora será baseada no relógio de 24 horas. O "m" ou "mm" deve
aparecer logo após o código de formatação "h" ou "hh" ou antes do código "ss", ou o Microsoft Excel
exibirá o mês em vez dos minutos.
                                              Página 67
                                            Ednis P. Rocha
Formatar texto e espaçamento

•   Para exibir caracteres de texto junto com os números inseridos em uma célula, coloque os
    caracteres entre aspas (" "), ou preceda-os com uma barra invertida (). Inclua os caracteres na
    seção apropriada dos códigos de formatação. Por exemplo, digite o formato $0,00 "Crédito";$-
    0,00 "Débito" para exibir uma quantia negativa como "R$-125,74 Débito". Um caractere de
    espaço e os caracteres a seguir são exibidos sem o uso de aspas: $ - + / ( ) :
•   Se você inserir qualquer um dos símbolos a seguir, uma barra invertida será inserida para você: !
    ^ & ` (aspas simples à esquerda) ' (aspas simples à direita) ~ { } = < >
•   Uma seção de formato de texto, se incluída, é sempre a última seção do formato de número.
    Inclua o caractere de arroba ( @ ) na seção de texto onde você deseja exibir qualquer texto
    inserido na célula. Se o caractere @ for omitido na seção de texto, o texto que você inserir não
    será exibido. Se você desejar exibir sempre os caracteres de texto específicos com o texto
    inserido, coloque o texto adicional entre aspas duplas (" "); por exemplo, "receita bruta para" @

Se o formato não incluir uma seção de texto, o texto que você inserir não será afetado pelo formato.

•   Para criar um espaço da largura de um caractere em um formato de número, inclua um
    sublinhado seguido de um caractere. Por exemplo, quando você coloca um parêntese esquerdo
    depois de um sublinhado ( _) ), os números positivos são alinhados corretamente com os
    números negativos colocados entre parênteses.
•   Para repetir o próximo caractere no formato para preencher a largura da coluna, inclua um
    asterisco (*) no formato de número. Por exemplo, digite 0*- para incluir o número suficiente de
    traços após um número para preencher a célula.




                                              Página 68
                                            Ednis P. Rocha

Mais conteúdo relacionado

PDF
Excel avançado para negócios
PDF
3867 criando macros vba excel
DOC
Apostila de excel 2007 ok perfeita
PDF
Apostila excel vba completa portugues
PDF
Manual word 2009
DOC
Apostila visual basic 5
PDF
Fireworks truquesmagicos
PDF
Apostila fireworks-cs5
Excel avançado para negócios
3867 criando macros vba excel
Apostila de excel 2007 ok perfeita
Apostila excel vba completa portugues
Manual word 2009
Apostila visual basic 5
Fireworks truquesmagicos
Apostila fireworks-cs5

Mais procurados (18)

PDF
Flash cs4
PDF
Implantação de um Sistema de Gestão ERPFLEX WEB
PDF
Guia track macker
PDF
Apostila tex
PDF
Funcionalidades do Vindula 2.0
PDF
Vindula smart enterprise edition
PDF
Apostila adobe-flash-cs5
PDF
Apostila latex
PDF
Manual epson
PDF
Apostila excel vba
PDF
PDF
Apostila bnb.2014 informatica_marcio_hunecke
PDF
Apostila bnb2014 cef_informatica_sergio_spolador
PDF
Manual de orientação para atuação em redes sociais - Governo Federal
PDF
Aprenda computaocompython
PDF
Indesign cs5 help
Flash cs4
Implantação de um Sistema de Gestão ERPFLEX WEB
Guia track macker
Apostila tex
Funcionalidades do Vindula 2.0
Vindula smart enterprise edition
Apostila adobe-flash-cs5
Apostila latex
Manual epson
Apostila excel vba
Apostila bnb.2014 informatica_marcio_hunecke
Apostila bnb2014 cef_informatica_sergio_spolador
Manual de orientação para atuação em redes sociais - Governo Federal
Aprenda computaocompython
Indesign cs5 help
Anúncio

Semelhante a Apostila de excel avançado com vba (20)

PDF
Apostila curso excel_avançado
PDF
Excel avancado-com-vba(01)
PDF
Apostila curso excel_avançado
PDF
4055 excel com vba
PDF
Jquery 38book-pt-br
PDF
Aprenda computação com python 3.0 (1)
PDF
Php
PDF
TDD na Prática
PDF
Python
PDF
K19 k01-logica-de-programacao-em-java
PDF
caelum-java-objetos-fj11.pdf
PDF
Tutorial ruby
PDF
Apostila Excel 2000 - Treinamento Empresarial
PDF
Excel_2007_Nivel2
PDF
Programando ooo b
PDF
Caelum ruby-on-rails-rr71
PDF
Material Delphi diego
PDF
Fortran_95_curso_basico_Editora_XXX.pdf
PDF
Linux basico
PDF
Hibernate Reference20061120
Apostila curso excel_avançado
Excel avancado-com-vba(01)
Apostila curso excel_avançado
4055 excel com vba
Jquery 38book-pt-br
Aprenda computação com python 3.0 (1)
Php
TDD na Prática
Python
K19 k01-logica-de-programacao-em-java
caelum-java-objetos-fj11.pdf
Tutorial ruby
Apostila Excel 2000 - Treinamento Empresarial
Excel_2007_Nivel2
Programando ooo b
Caelum ruby-on-rails-rr71
Material Delphi diego
Fortran_95_curso_basico_Editora_XXX.pdf
Linux basico
Hibernate Reference20061120
Anúncio

Apostila de excel avançado com vba

  • 1. Microsoft Excel Avançado Com VBA Página 1 Ednis P. Rocha
  • 2. A ordem na qual o Microsoft Excel efetua operações em fórmulas........................................................ 4 Operadores.............................................................................................................................................. 4 Tipos de critérios de comparação ........................................................................................................... 5 Uma seqüência de caracteres ............................................................................................................. 5 Caracteres curinga .............................................................................................................................. 5 Valores dentro de limites especificados .............................................................................................. 6 Como o Microsoft Excel converte valores em fórmulas .......................................................................... 6 Solucionar problemas de valores de erro e fórmulas.............................................................................. 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 #NÚM!? .......................................................................................................... 10 O que significa o erro #NULO!?......................................................................................................... 10 Solucionar problemas de erros em fórmulas ........................................................................................ 10 SE.......................................................................................................................................................... 12 VERDADEIRO....................................................................................................................................... 13 FALSO................................................................................................................................................... 13 E ............................................................................................................................................................ 13 OU ......................................................................................................................................................... 14 NÃO....................................................................................................................................................... 15 Exemplos de fórmulas comuns ............................................................................................................. 16 Referências de célula e intervalo .......................................................................................................... 16 Referências L1C1 .............................................................................................................................. 17 A diferença entre referências relativas e absolutas .......................................................................... 18 Rótulos e nomes em fórmulas ........................................................................................................... 18 Sobre o uso de rótulos múltiplos em fórmulas .................................................................................. 19 Diretrizes para usar referências 3-D.................................................................................................. 19 O que acontece a uma referência 3-D quando você move, copia, insere ou exclui planilhas?........ 19 Funções................................................................................................................................................. 21 Uso de funções para calcular valores ............................................................................................... 21 Várias funções dentro de funções, ou aninhamento ......................................................................... 21 Banco de dados .................................................................................................................................... 22 Diretrizes para criar uma lista em uma planilha ................................................................................ 23 Tamanho e Localização da Lista ....................................................................................................... 24 Rótulos de Coluna ............................................................................................................................. 24 Conteúdo das Linhas e Colunas........................................................................................................ 24 Exemplos de critérios de filtro avançado........................................................................................... 24 Três ou mais condições em uma única coluna ................................................................................. 24 Critérios de duas ou mais colunas .................................................................................................... 24 Condições criadas como resultado de uma fórmula ......................................................................... 25 Trabalhando com Banco de Dados....................................................................................................... 26 Primeiro método ................................................................................................................................ 26 Segundo método ............................................................................................................................... 27 Trabalhando com filtros avançados ...................................................................................................... 28 Trabalhando com subtotais ................................................................................................................... 28 Tabela Dinâmica ................................................................................................................................... 29 Função Procv ........................................................................................................................................ 35 Solver .................................................................................................................................................... 37 Atingir Meta ........................................................................................................................................... 40 Data e Hora ........................................................................................................................................... 41 Funções Definidas pelo usuário ............................................................................................................ 44 Procedimento Function...................................................................................................................... 44 Instrução If...Then...Else.................................................................................................................... 44 Utilizando instruções If...Then...Else ................................................................................................. 45 Instrução For...Next............................................................................................................................... 46 Utilizando instruções For Each...Next ................................................................................................... 49 Executando um loop em um intervalo de células .............................................................................. 49 Saindo de um loop For Each...Next antes que ele tenha terminado................................................. 49 Página 2 Ednis P. Rocha
  • 3. 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 Método Union .................................................................................................................................... 54 Método InputBox ................................................................................................................................... 56 Função MsgBox..................................................................................................................................... 58 Como fazer referência a células e intervalos ........................................................................................ 59 Referindo-se a células e intervalos usando notação A1 ................................................................... 60 Referindo-se a células usando números de índice ........................................................................... 60 Referir-se a linhas e colunas ............................................................................................................. 61 Referindo-se a células usando notação de atalho ............................................................................ 61 Referindo-se a intervalos nomeados................................................................................................. 61 Referindo-se a um intervalo nomeado .............................................................................................. 61 Loop através de células em um intervalo nomeado .......................................................................... 62 Referindo-se a células em relação a outras células.......................................................................... 62 Referindo-se a células usando um objeto Range.............................................................................. 63 Referindo-se a todas as células da planilha...................................................................................... 63 Referindo-se a vários intervalos ........................................................................................................ 63 Usar a propriedade Range ................................................................................................................ 63 Usar o método Union......................................................................................................................... 63 Usar a propriedade Areas.................................................................................................................. 64 Exemplos............................................................................................................................................... 65 Personalizar códigos de formato de hora, número e data .................................................................... 67 Formatar datas e horas ..................................................................................................................... 67 Formatar texto e espaçamento.......................................................................................................... 68 Página 3 Ednis P. Rocha
  • 4. A ordem na qual o Microsoft Excel efetua operações em fórmulas Se você combinar diversos operadores em uma única fórmula, o Microsoft Excel efetuará as operações na ordem mostrada na tabela a seguir. Se uma fórmula contiver operadores com a mesma precedência  por exemplo, se uma fórmula contiver um operador de multiplicação e divisão  o Microsoft Excel avaliará os operadores da esquerda para a direita. Para alterar a ordem de avaliação, coloque a parte da fórmula a ser calculada primeiro entre parênteses. Operadores Operador Descrição : (dois-pontos); (ponto-e-vírgula) (espaço simples) Operadores de referência – Negação (como em –1) % Percentagem ^ Exponenciação *e/ Multiplicação e divisão +e– Adição e subtração & (concatenação) Conecta duas seqüências de texto = < > <= >= <> Comparação Operadores de cálculos em fórmulas Os operadores especificam o tipo de cálculo que você deseja efetuar nos elementos de uma fórmula. O Microsoft Excel inclui quatro tipos diferentes de operadores de cálculo: aritméticos, de comparação, texto e referência. • Os operadores aritméticos efetuam operações matemáticas básicas, como adição, subtração ou multiplicação, combinam números e produzem resultados numéricos. Operador aritmético Significado Exemplo + (sinal de adição) Adição 3+3 – (sinal de subtração) Subtração 3–1 Negação –1 * (sinal de multiplicação) Multiplicação 3*3 / (sinal de divisão) Divisão 3/3 % (símbolo de percentagem) Percentagem 20% ^ (sinal de exponenciação) Exponenciação 3^2 (igual a 3*3) Os operadores de comparação comparam dois valores e produzem o valor lógico VERDADEIRO ou FALSO. Operador de comparação Significado Exemplo = (sinal de igual) Igual a A1=B1 > (sinal de maior do que) Maior do que A1>B1 < (sinal de menor do que) Menor do que A1<B1 >= (sinal de maior ou igual a) Maior ou igual a A1>=B1 <= (sinal de menor ou igual a) Menor ou igual a A1<=B1 <> (sinal de diferente) Diferente A1<>B1 Página 4 Ednis P. Rocha
  • 5. O operador de texto "&" combina um ou mais valores de texto para produzir um único texto. Operador de texto Significado Exemplo & (E comercial) Conecta ou concatena dois valores para produzir "north" & "wind" produz um valor de texto contínuo "Northwind" Os operadores de referência combinam intervalos1 de células para cálculos. Operador de referência Significado Exemplo : (dois-pontos) Operador de intervalo, que produz uma B5:B15 referência a todas as células entre duas referências, incluindo as duas referências ; (ponto-e-vírgula) Operador de união, que combina diversas SOMA(B5:B15;D5:D15) referências em uma referência (espaço simples) Operador de interseção, que produz uma SOMA(B5:B15 A7:D7) referência a células comuns a duas referências. Neste exemplo, a célula B7 é comum aos dois intervalos. Tipos de critérios2 de comparação Você pode usar os seguintes tipos de critérios de comparação em um intervalo de critérios, com um filtro avançado ou um filtro personalizado. Uma seqüência de caracteres Para localizar linhas em uma lista3 que contenham um valor exato, digite o texto, número, data ou valor lógico na célula abaixo do rótulo de critérios. Por exemplo, se você digita 98133-000 embaixo de um rótulo de Código Postal no intervalo de critérios, o Microsoft Excel exibe somente as linhas que contêm o valor de código postal "98133-000". Quando você usa texto como critério com um filtro avançado, o Microsoft Excel localiza todos os itens que começam com aquele texto. Por exemplo, se você digita o texto Ama como um critério, o Microsoft Excel localiza "Amaral" e "Amado". Para corresponder somente o texto especificado, digite a seguinte fórmula, onde texto é o texto que você deseja localizar. =''=texto'' Caracteres curinga Para localizar valores de texto que compartilhem alguns caracteres mas não outros, use um caractere curinga. Um caractere curinga representa um ou mais caracteres não-especificados. Para localizar Use Exemplo 1 intervalo - Duas ou mais células em uma planilha. As células em um intervalo podem ser adjacentes ou não-adjacentes. 2 critérios - Uma ou mais condições que você especifica para limitar os registros incluídos no conjunto de resultados de uma consulta. Por exemplo, os critério abaixo seleciona registros para os quais o valor Montante do Pedido é maior que 30.000: Montante do pedido > 30000 3 lista - Uma seqüência de linhas de planilha que contêm dados relacionados como, por exemplo um banco de dados de pedidos ou um conjunto de nomes de clientes e números de telefone. Uma lista pode ser usada como um banco de dados em que as linhas são registros e as colunas são campos. A primeira linha da lista contém rótulos para colunas. Página 5 Ednis P. Rocha
  • 6. Qualquer caractere único na ? (ponto de interrogação) lope? localiza "lopes" e "lopez" mesma posição que o ponto de interrogação. Qualquer número de caracteres * (asterisco) *este localiza "Nordeste" e na mesma posição que o "Sudeste" asterisco Um ponto de interrogação, ~ (til) seguido de ?, *, ou ~ fy91~? localiza "fy91?" asterisco ou til Valores dentro de limites especificados Para exibir somente linhas que se encontrem dentro de certos limites, digite um operador de comparação, seguido de um valor, na célula abaixo do rótulo de critérios. Por exemplo, para localizar linhas cujos valores de unidade são maiores ou iguais a 1.000, digite >=1000 sob o rótulo de critérios Unidades no intervalo de critérios. Observação: Ao avaliar dados, o Microsoft Excel não distingue entre caracteres maiúsculos ou minúsculos. Como o Microsoft Excel converte valores em fórmulas Quando você insere uma fórmula, 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 fórmula Produz Explicação ="1"+"2" 3 Quando você utiliza um sinal de adição (+), o Microsoft Excel espera números na fórmula. Embora as aspas signifiquem que "1" e "2" sejam valores de texto, o Microsoft Excel converte automaticamente os valores de texto em números. =1+"$4.00" 5 Quando uma fórmula espera um número, o Microsoft Excel converte o texto se ele estiver em um formato que geralmente seria aceito para um número. ="6/1/92"-"5/1/92" 1 O Microsoft Excel interpreta o texto como uma data no formato dd/mm/aa, converte as datas em números de série e, em seguida, calcula a diferença entre eles. =RAIZ("8+1") #VALOR! O Microsoft Excel não pode converter o texto em número, pois o texto "8+1" não pode ser convertido em um número. Se você usar "9" ou "8"+"1" em vez de "8+1", a fórmula converterá o texto em um número e retornará 3 como resultado. ="A"&VERDADEIRO AVERDADEIRO Quando texto é esperado, o Microsoft Excel converte os números e valores lógicos, como VERDADEIRO e FALSO, em texto. Página 6 Ednis P. Rocha
  • 7. Solucionar problemas de valores de erro e fórmulas Se uma fórmula não 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 fórmula espera o uso de um valor numérico, da exclusão de uma célula que é referenciada por uma fórmula ou do uso de uma célula que não é grande o suficiente para exibir o resultado. Os valores de erro podem não ser causados pela fórmula em si. Por exemplo, se uma fórmula mostrar #N/D ou #VALOR!, uma célula referenciada pela fórmula poderá conter o erro. O que significa o erro #####? • valor numérico inserido em uma célula é muito grande para ser exibido dentro da célula. Você pode redimensionar a coluna, arrastando o limite entre os cabeçalhos de coluna. • A fórmula na célula produz um resultado muito longo para se ajustar à célula. Aumente a largura da coluna, arrastando o limite entre os cabeçalhos de coluna ou alterando o formato de número para a célula. Para alterar o formato de número, clique em Célula no menu Formatar, clique na guia Número e, em seguida, selecione outro formato. • Ao subtrair datas e horas, certifique-se de que você tenha criado a fórmula corretamente. As datas e horas do Microsoft Excel devem ser valores positivos. Se a fórmula de data ou hora produzir um resultado negativo, o Microsoft Excel exibirá #### na largura da célula. Para exibir o valor, clique em Células no menu Formatar, clique na guia Número e, em seguida, selecione um formato que não 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 AutoCorreção de fórmulas6 não pode corrigir a fórmula. Possível causa Ação sugerida Inserir texto quando a fórmula Certifique-se de que a fórmula ou função esteja correta para o requer um número ou valor operando ou argumento necessário, e que as células que são lógico, como VERDADEIRO ou referenciadas pela fórmula contenham valores válidos. Por FALSO. O Microsoft Excel não exemplo, se a célula A5 contiver um número e a célula A6 contiver consegue converter o texto no o texto “Não disponível”, a fórmula =A5+A6 retornará o erro tipo de dado correto. #VALOR!. Use a função de planilha SOMA na fórmula da seguinte maneira para adicionar os dois valores (a função SOMA ignora o texto):=SOMA(A5:A6) Inserir ou editar uma fórmula Selecione a célula ou intervalo de células que contém a fórmula matricial7 e pressionar ENTER. matricial, pressione F2 para editar a fórmula e pressione CTRL+SHIFT+ENTER. 4 argumento - Os valores que uma função usa para executar operações ou cálculos. O tipo de argumento que uma função usa é específico da função. Argumentos comuns usados em funções incluem valores numéricos, valores de texto, referências de célula, intervalos de células, nomes, rótulos e funções aninhadas. 5 operando - Itens em ambos os lados de um operador em uma fórmula. No Microsoft Excel, os operandos podem ser valores, referências de célula, nomes, rótulos e funções. 6 AutoCorreção de fórmulas - Um recurso que verifica automaticamente uma fórmula para detectar erros comuns de digitação e sugerir uma correção, se possível. Você pode aceitar ou rejeitar a correção sugerida que aparece em uma aviso. Por exemplo, se você inserir uma fórmula que contém uma função e inclui um parênteses de fechamento a mais, a AutoCorreção de fórmula localiza o parêntese extra e sugere que ele seja removido. 7 fórmula matricial - Executa cálculos múltiplos e, em seguida, produz um único resultado ou resultados múltiplos. Fórmulas matriciais agem sobre dois ou mais conjuntos de valores conhecidos como argumentos de matriz. Cada argumento de matriz deve ter o mesmo número de linhas e colunas. Para produzir resultados múltiplos, a fórmula deve ser inserida em células múltiplas. Página 7 Ednis P. Rocha
  • 8. Inserir uma referência da célula, Certifique-se de que a constante matricial não seja uma referência uma fórmula ou uma função da célula, fórmula ou função. como uma constante8 matricial. Fornecer um intervalo a um Altere o intervalo para um valor único. Altere o intervalo para operador ou a uma função que incluir a mesma linha ou a mesma coluna que contém a fórmula. necessita de um valor único, não de um intervalo. Usar uma matriz9 que não é Certifique-se de que as dimensões da matriz estejam corretas válida em uma das funções para os argumentos matriciais. matriciais de planilha. Executar uma macro que insere Certifique-se de que a função não esteja usando um argumento uma função que retorna incorreto. #VALOR!. O que significa o erro #DIV/0!? O valor de erro #DIV/0! ocorre quando uma fórmula divide por 0 (zero). Possível causa Ação sugerida Usar a referência da célula10 para uma Altere a referência da célula, ou insira um valor célula em branco ou para uma célula que diferente de zero na célula usada como um divisor. contém zero como um divisor. (Se um Você pode inserir o valor #N/D na célula referenciada operando for uma célula em branco, o como o divisor, que alterará o resultado da fórmula de Microsoft Excel interpretará o valor em #DIV/0! para #N/D para denotar que o valor do divisor branco como um zero.) não está disponível. Inserir uma fórmula que contém divisão Altere o divisor para um número diferente de zero. explícita por zero (0) – por exemplo, =5/0. Executar uma macro que usa uma função Certifique-se de que o divisor na função ou fórmula não ou uma fórmula que retorna #DIV/0!. seja zero ou esteja em branco. O que significa o erro #NOME?? O valor de erro #NOME? ocorre quando o Microsoft Excel não reconhece o texto em uma fórmula. Possível causa Ação sugerida Excluir um nome11 usado na Certifique-se de que o nome exista. No menu Inserir, aponte para fórmula, ou usar um nome que Nome e, em seguida, clique em Definir. Se o nome não estiver não existe. listado, adicione-o usando o comando Adicionar. Digitar o nome incorretamente. Corrija o erro ortográfico. Para inserir o nome correto na fórmula, selecione o nome na barra de fórmulas12, aponte para Nome no Para inserir uma fórmula matricial, pressione CTRL+SHIFT+ENTER. O Microsoft Excel coloca fórmulas matriciais entre chaves ( { } ). 8 constante - Um valor de célula que não é iniciado com um sinal de igual (=). Por exemplo, a data 10/9/96, o número 210 e o texto “Receitas Trimestrais” são todos constantes. Uma fórmula ou um valor resultante de uma fórmula não é uma constante. 9 matriz - Uma matriz retangular de valores, ou intervalo de células que é combinado com outras matrizes ou intervalos para produzir somas ou produtos múltiplos. O Microsoft Excel predefiniu funções de matriz que podem produzir as somas ou produtos. 10 referência de célula - O conjunto de coordenadas que uma célula ocupa em uma planilha. Por exemplo, a referência da célula que aparece na interseção da coluna B e da linha 3 é B3. 11 nome - Uma palavra ou seqüência de caracteres que representa uma célula, intervalo de células, fórmula ou valor constante. 12 barra de fórmulas - Uma barra na parte superior da janela do Microsoft Excel que você usa para inserir ou editar valores ou fórmulas em células ou gráficos. Exibe o valor constante ou fórmula usado na célula ativa. Para exibir ou ocultar a barra de fórmulas, clique em Barra de Fórmulas no menu Exibir. Página 8 Ednis P. Rocha
  • 9. menu Inserir e, em seguida, clique em Colar. Na caixa de diálogo Colar nome, clique no nome que você deseja usar e em OK. Digitar o nome de uma função Corrija o erro ortográfico. Insira o nome da função correto na incorretamente. fórmula usando a Caixa de criação de fórmulas13. Se a função de planilha for parte de um programa suplementar14, o programa suplementar deve estar carregado. Inserir texto em uma fórmula Coloque o texto na fórmula entre aspas. Por exemplo, a fórmula a sem colocar o texto entre seguir agrupa o texto “A quantia total é” com o valor na célula aspas. O Microsoft Excel tenta B50:="A quantia total é "&B50 interpretar a sua entrada como um nome embora você tivesse intenção de usá-la como texto. Omitir dois-pontos (:) em uma Certifique-se de que todas as referências de intervalo na fórmula referência 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 não se encontra disponível para uma função ou fórmula. Se determinadas células da planilha forem conter dados que ainda não estão disponíveis, insira o valor #N/D nestas células. As fórmulas que fazem referência a estas células retornarão #N/D em vez de tentar calcular um valor. Possível causa Ação sugerida Fornecer um valor inadequado Certifique-se de que o argumento procura_valor seja o tipo correto para o argumento de valor – por exemplo, um valor ou uma referência de célula, mas procura_valor na função de não uma referência de intervalo. planilha PROCH, PROC, CORRESP ou PROCV. Usar a função de planilha Por padrão, as funções que procuram informações em tabelas PROCV ou PROCH para devem ser classificadas em ordem crescente. No entanto, as localizar um valor em uma funções de planilha PROCV e PROCH contêm um argumento tabela não classificada. intervalo_procura que instrui a função na localização de uma correspondência exata mesmo se a tabela não estiver classificada. Para localizar uma correspondência exata, defina o argumento intervalo_procura como FALSO. Usar um argumento em uma Se a fórmula matricial foi inserida em várias células, certifique-se de fórmula matricial que não que os intervalos referenciados pela fórmula possuam o mesmo possui o mesmo número de número de linhas e colunas, ou insira a fórmula matricial em um linhas ou colunas que o menor número de células. Por exemplo, se a fórmula matricial foi intervalo que contém a fórmula inserida em um intervalo de 15 linhas (C1:C15) e a fórmula faz matricial. referência 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 fórmula em um intervalo menor (por exemplo, C1:C10), ou altere o intervalo ao qual a fórmula faz referência para o mesmo número de linhas (por exemplo, A1:A15). Omitir um ou mais argumentos Insira todos os argumentos na função. para uma função de planilha interna ou personalizada. Usar uma função de planilha Certifique-se de que a pasta de trabalho que contém a função de personalizada que não está planilha esteja aberta e que a função esteja funcionando disponível. devidamente. Executar uma macro que Certifique-se de que os argumentos na função estejam corretos e na insere uma função que retorna posição certa. 13 Caixa de criação de fórmulas - Uma ferramenta com a qual você cria ou edita uma fórmula e também oferece informações sobre funções e seus argumentos. A caixa aparece abaixo da barra de fórmulas quando você clica no botão Editar fórmula na barra de fórmulas, ou no botão Colar função na barra de ferramentas Padrão. 14 suplemento - Componentes que podem ser instalados em seu computador para adicionar comandos e funções ao Microsoft Excel. Página 9 Ednis P. Rocha
  • 10. #N/D. O que significa o erro #REF!? O valor de erro #REF! ocorre quando uma referência da célula não é válida. Possível causa Ação sugerida Excluir as células referenciadas Altere as fórmulas, ou restaure as células na planilha, clicando por outras fórmulas, ou colar as em Desfazer logo após a exclusão ou colagem das células. células movidas sobre as células referenciadas por outras fórmulas. Executar uma macro que insere Verifique a função para ver se um argumento faz referência a uma função que retorna #REF!. uma célula ou intervalo de células que não seja válido. Por exemplo, se a macro inserir uma função que se refere a uma célula acima da função, e a célula que contiver a função estiver na linha 1, a função retornará o valor #REF!, pois não há células acima da linha 1. Usar uma referência remota a um se de que você esteja usando o tópico de DDE correto. aplicativo que não está sendo executado ou a um tópico de Intercâmbio Dinâmico de Dados (DDE) como “sistema” que não se encontra disponível. Inicie o aplicativo. Certifique O que significa o erro #NÚM!? O valor de erro #NÚM! ocorre quando existe um problema com um número em uma fórmula ou função. Possível causa Ação sugerida Usar um argumento inaceitável em uma Certifique-se de que os argumentos usados na função que necessita de um argumento função sejam os tipos de argumento corretos. numérico. Usar uma função de planilha que itera, como Use um valor inicial diferente para a função de TIR ou TAXA, e a função não consegue planilha. encontrar um resultado. Inserir uma fórmula que produz um número Altere a fórmula de modo que o seu resultado fique muito grande ou muito pequeno para ser entre representado no Microsoft Excel. –1*10307 e 1*10307 . O que significa o erro #NULO!? O valor de erro #NULO! ocorre quando você especifica uma interseção entre duas áreas que não têm interseção. Possível causa Ação sugerida Usar um operador de Para fazer referência a duas áreas que não têm interseção, use o operador intervalo incorreto ou de união, a vírgula (,). Por exemplo, se a fórmula somar dois intervalos, referência da célula certifique-se de que haja uma vírgula separando os dois intervalos incorreta. (SOMA(A1:A10,C1:C10)). Se a vírgula for omitida, o Microsoft Excel tentará somar as células comuns aos dois intervalos, mas A1:A10 e C1:C10 não possuem células em comum porque não se cruzam. Verifique se há erros de digitação na referência aos intervalos. Solucionar problemas de erros em fórmulas Página 10 Ednis P. Rocha
  • 11. Certifique-se de que todos os parênteses façam parte de um par correspondente. Quando você cria uma fórmula, o Microsoft Excel exibirá parênteses coloridos à medida que eles forem inseridos. • Certifique-se de utilizar o operador de intervalo correto ao fazer referência a um intervalo de células. Quando fizer referência a um intervalo de células, use dois-pontos (:) para separar a referência à primeira célula do intervalo da referência à última célula do intervalo. • Certifique-se de que você tenha inserido todos os argumentos necessários. Algumas funções15 necessitam de argumentos. Além disso, certifique-se de que você não tenha inserido argumentos demais. • Você pode inserir, ou aninhar, apenas sete níveis de funções dentro de uma função. • Se o nome de uma pasta de trabalho ou de uma planilha ao qual você faz referência contiver um caractere não-alfabético, coloque o nome entre apóstrofos. • Certifique-se de que cada referência externa16 contenha um nome de pasta de trabalho e um caminho para a pasta de trabalho. • Não formate números ao inseri-los nas fórmulas. Por exemplo, mesmo se o valor que você deseja inserir for $1.000, insira 1000 na fórmula. Para formatar o resultado de uma fórmula, clique em Células no menu Formatar, clique na guia Número e, em seguida, selecione um formato. 15 função - Uma fórmula pré-escrita que toma um valor ou valores, executa uma operação e produz um valor ou valores. Use funções para simplificar e encurtar fórmulas em uma planilha, especialmente aquelas que executam cálculos extensos ou complexos. 16 referência externa - Uma referência a uma célula ou intervalo em uma planilha em outra pasta de trabalho do Microsoft Excel, ou uma referência a um nome definido em outra pasta de trabalho. Página 11 Ednis P. Rocha
  • 12. SE Retorna um valor se uma condição que você especificou avaliar como VERDADEIRO e um outro valor se for avaliado como FALSO. Use SE para conduzir testes condicionais sobre valores e fórmulas. Sintaxe SE(teste_lógico;valor_se_verdadeiro;valor_se_falso) Teste_lógico: é qualquer valor ou expressão que pode ser avaliada como VERDADEIRO ou FALSO. Valor_se_verdadeiro: é o valor fornecido se teste_lógico for VERDADEIRO. Se teste_lógico for VERDADEIRO e valor_se_verdadeiro for omitido, VERDADEIRO será fornecido. Valor_se_verdadeiro pode ser outra fórmula. Valor_se_falso: é o valor fornecido se teste_lógico for FALSO. Se teste_lógico for FALSO e valor_se_falso for omitido, FALSO será fornecido. Valor_se_falso pode ser outra fórmula. Comentários • Até sete funções 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 são avaliados, SE retorna o valor que foi retornado por estas instruções. • Se qualquer um dos argumentos de SE forem matrizes, cada elemento da matriz será avaliado quando a instrução SE for executada. Se algum dos argumentos valor_se_verdadeiro e valor_se_falso forem funções de execução de ação, todas as ações são executadas. Exemplos No exemplo a seguir, se o valor na célula A10 for 100, então teste_lógico será VERDADEIRO e o valor total para o intervalo B5:B15 será calculado. Caso contrário, se teste_lógico for FALSO e texto vazio (“”) for retornado a célula que contém a função SE será esvaziada. SE(A10=100;SOMA(B5:B15);"") Suponha que uma planilha de despesa contenha os seguintes dados em B2:B4 em relação às "Despesas reais" para janeiro, fevereiro e março: 1500, 500, 500. C2:C4 contém os seguintes dados para "Despesas previstas" para os mesmos períodos: 900, 900, 925. Você poderia escrever uma fórmula para verificar se está acima do orçamento em um mês específico, gerando texto para uma mensagem com as seguintes fórmulas: SE(B2>C2;"Acima do orçamento";"OK") é igual a "Acima do orçamento" SE(B3>C3;"Acima do orçamento";"OK") é igual a "OK" Suponha que você queira efetuar uma classificação atribuindo letras aos números que são referenciados pelo nome Média. Consulte a tabela a seguir. Se a Média for Então retornará Maior do que 89 A De 80 a 89 B De 70 a 79 C De 60 a 69 D Menor do que 60 F Página 12 Ednis P. Rocha
  • 13. Você poderia usar a seguinte função aninhada SE: SE(Média>89;"A";SE(Média>79;"B"; SE(Média>69;"C";SE(Média>59;"D";"F")))) No exemplo anterior, a segunda instrução SE também é o argumento valor_se_falso para a primeira instrução SE. Da mesma maneira, a terceira instrução SE é o argumento valor_se_falso para a segunda instrução SE. Por exemplo, se o primeiro teste_lógico (Média>89) for VERDADEIRO, "A" será retornado. Se o primeiro teste_lógico for FALSO, a segunda instrução SE é avaliada e assim por diante. VERDADEIRO Retorna o valor lógico VERDADEIRO. Sintaxe VERDADEIRO( ) Comentários • Você pode inserir o valor VERDADEIRO diretamente nas células e fórmulas sem usar esta função. A função VERDADEIRO é fornecida primeiramente para compatibilidade com outros programas de planilha. FALSO Retorna o valor lógico FALSO. Sintaxe FALSO( ) Comentários • Você também pode digitar a palavra FALSO diretamente na planilha ou fórmula, e o Microsoft Excel a interpretará como o valor lógico FALSO. E Retorna VERDADEIRO se todos os argumentos forem VERDADEIRO; retorna FALSO se um ou mais argumentos forem FALSO. Sintaxe E(lógico1;lógico2; ...) Lógico1; lógico2;...: são de 1 a 30 condições que você deseja testar e que podem ser VERDADEIRO ou FALSO. Página 13 Ednis P. Rocha
  • 14. Os argumentos devem ser valores lógicos, matrizes ou referências que contêm valores lógicos. • Se uma matriz ou argumento de referência contiver texto ou células vazias, estes valores serão ignorados. • Se o intervalo especificado não contiver valores lógicos, 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, então: E(B1:B3) será igual a FALSO Se B4 contiver um número entre 1 e 100, então: E(1<B4; B4<100) será igual a VERDADEIRO Suponha que você deseja exibir B4 se esta contiver um número entre 1 e 100, e que você deseja exibir uma mensagem se ela não contiver. Se B4 contiver 104, então: 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, então: 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(lógico1;lógico2; ...) Lógico1; lógico2;...: são 1 a 30 condições a serem testadas que podem ser VERDADEIRO ou FALSO. • Os argumentos devem avaliar valores lógicos como VERDADEIRO ou FALSO, ou em matrizes ou referências que contenham valores lógicos. • Se uma matriz ou argumento de referência contiver texto, números, células vazias, estes valores serão ignorados. • Se o intervalo especificado não contiver valores lógicos, OU retornará o valor de erro #VALOR!. • Você pode usar uma fórmula matricial OU para ver se um valor ocorre em uma matriz. Para inserir uma fórmula matricial, pressione CTRL+SHIFT+ENTER no Microsoft Excel para Windows Exemplos OU(VERDADEIRO) é igual a VERDADEIRO Página 14 Ednis P. Rocha
  • 15. OU(1+1=1;2+2=5) é igual a FALSO Se A1:A3 contiver os valores VERDADEIRO, FALSO e VERDADEIRO, então: OU(A1:A3) é igual a VERDADEIRO Consulte também o exemplo para EXATO. NÃO Inverte o valor do argumento. Use NÃO quando quiser ter certeza de que um valor não é igual a outro valor determinado. Sintaxe NÃO(lógico) Lógico :é um valor ou expressão que pode ser avaliado como VERDADEIRO ou FALSO. Se lógico for FALSO, NÃO retornará VERDADEIRO; se lógico for VERDADEIRO, NÃO retornará FALSO. Exemplos NÃO(FALSO) é igual a VERDADEIRO NÃO(1+1=2) é igual a FALSO Página 15 Ednis P. Rocha
  • 16. Exemplos de fórmulas comuns A seguir estão exemplos de algumas fórmulas usadas com mais freqüência no Microsoft Excel. Descrição Fórmula Calcula o saldo parcial em um livro de Para calcular o saldo atual da primeira transação (célula registro. Neste exemplo, assume- se F7): que a célula D7 contém o depósito de =SOMA(F6;D7;–E7) transação atual, a célula E7 contém Ao inserir novas transações, copie esta fórmula para a qualquer valor de saque e a célula F6 célula que contém o saldo atual da nova transação. contém o saldo anterior. Agrupa o nome armazenado em uma Para exibir o nome completo no formato “nome célula com o sobrenome armazenado sobrenome”: em outra célula. Neste exemplo, =D5&" "&E5 assuma que a célula D5 contém o nome Para exibir o nome completo no formato “nome, e a célula E5 contém o sobrenome. sobrenome”: =E5&"; "&D5 Aumenta um valor numérico =F5*(1+5%) Se o valor da percentagem estiver armazenado em uma célula por uma armazenado em uma célula (por exemplo, célula F2) percentagem, como 5 por cento. Neste =F5*(1+$F$2) A referência à célula F2 é uma referência exemplo, assuma que a célula F5 absoluta de célula de forma que a fórmula pode ser contém o valor original. copiada para outras células sem alterar a referência à célula F2. Cria um texto que agrupa uma data ="Data do demonstrativo: "&TEXTO(F5; "d-mmm-aa") armazenada em uma célula com outro Observação: texto - por exemplo, se a célula F5 Use a função TEXTO para formatar um valor de número, contiver uma data de faturamento de 5- data ou hora como texto. Jun-96, e você desejar exibir o texto "Data do demonstrativo: 5-Jun-96" na célula G50. Cria um valor total para um intervalo =SOMASE(B5:B25;"Northwind";F5:F25) com base em um valor em outro intervalo. Por exemplo, para cada célula no intervalo B5:B25 que contiver o valor "Northwind", você deseja calcular o total das células correspondentes no intervalo F5:F25. Cria um valor total para um intervalo =SOMA(SE(B5:B25="Northwind";SE(C5:C25="Oeste";F5: com base em duas condições. Por F25))) exemplo, você deseja calcular o valor total das células em F5:F25 onde B5:B25 contém "Northwind” e o intervalo C5:C25 contém a região denominada "Oeste". Conta o número de ocorrências de um =CONT.SE(B5:B25;"Northwind") valor em um intervalo de células – por exemplo, o número de células no intervalo B5:B25 que contém o texto "Northwind". Conta o número de ocorrências de um =SOMA(SE(B5:B25="Northwind";SE(C5:C25="Oeste";1;0) valor em um intervalo de células, com )) base em um valor em outro intervalo - por exemplo, o número de linhas no intervalo B5:B25 que contém o texto "Northwind" e o texto "Oeste" no intervalo C5:C25. Referências de célula e intervalo Página 16 Ednis P. Rocha
  • 17. Uma referência identifica uma célula ou um intervalo de células em uma planilha e informa ao Microsoft Excel onde procurar valores ou dados que você deseja usar em uma fórmula. Com as referências, você pode usar os dados contidos em outras partes de uma planilha em uma fórmula ou usar o valor de uma célula em diversas fórmulas. Você também pode fazer referência a células em outras planilhas na mesma pasta de trabalho, a outras pastas de trabalho e a dados em outros programas. As referências às células em outras pastas de trabalho são denominadas referências externas. As referências aos dados em outros programas são denominadas referências remotas. Por padrão, o Microsoft Excel usa o estilo de referência A1, que rotula colunas com letras (A a IV, para um total de 256 colunas) e rotula linhas com números (1 a 65536). Para fazer referência a uma célula, insira a letra da coluna seguida do número da linha. Por exemplo, D50 refere-se à célula na interseção da coluna D e linha 50. Para fazer referência a um intervalo de células, insira a referência da célula no canto superior esquerdo do intervalo, dois-pontos (:) e depois a referência da célula no canto inferior direito do intervalo. A seguir estão exemplos de referências. Para fazer referência Use À célula na coluna A e linha 10 A10 Ao intervalo de células na coluna A e linhas 10 a 20 A10:A20 Ao intervalo de células na linha 15 e colunas B a E B15:E15 A todas as células na linha 5 5:5 A todas as células nas linhas 5 a 10 5:10 A todas as células na coluna H H:H A todas as células nas colunas H a J H:J Você também pode usar um estilo de referência onde tanto as linhas quanto as colunas da planilha são numeradas. O estilo L1C1 é útil para computar posições de linha e coluna em macros17 e pode ser útil para mostrar as referências relativas18 da célula. No estilo L1C1, o Microsoft Excel indica a posição de uma célula com um “L” seguido de um número de linha e um “C” seguido de um número de coluna. Referências L1C1 No estilo L1C1, o Microsoft Excel indica a localização de uma célula com um "L" seguido de um número de linha e um "C" seguido de um número de coluna. Por exemplo, a referência absoluta19 de célula L1C1 é equivalente à referência absoluta $A$1 no estilo de referência A1. Se a célula ativa for A1, a referência relativa da célula L[1]C[1] fará referência à célula uma linha abaixo e uma coluna à direita, ou B2. A seguir estão exemplos de referências em estilo L1C1. Referência Significado L[-2]C Uma referência relativa à célula duas linhas acima e na mesma coluna L[2]C[2] Uma referência relativa à célula duas linhas abaixo e duas colunas à direita L2C2 Uma referência absoluta à célula na segunda linha e na segunda coluna 17 macro - Um programa escrito e gravado por você e que armazena uma seqüência de comandos do Microsoft Excel, podendo ser utilizado posteriormente como um único comando. As macros podem automatizar tarefas complexas e reduzir o número de etapas necessárias para completar tarefas que você executa com freqüência. As macros são gravadas na linguagem de programação Visual Basic for Applications. Você também pode escrever macros diretamente usando o Editor do Visual Basic. 18 referência relativa de célula - Uma referência de célula como, por exemplo, A1, que informa ao Microsoft Excel como encontrar outra célula partindo daquela que contém a fórmula. Usar uma referência relativa é o mesmo que oferecer orientações de direção 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 referência absoluta de célula - Em uma fórmula, o endereço exato de uma célula, independente da posição da célula que contém a fórmula. Uma referência absoluta assume a forma $A$1, $B$1, e assim por diante. Página 17 Ednis P. Rocha
  • 18. L[-1] Uma referência relativa à toda a linha acima da célula ativa L Uma referência absoluta à linha atual Observações • Dependendo da tarefa que você deseja executar no Microsoft Excel, use referências relativas da célula, que são referências a células relativas à posição da fórmula, ou referências absolutas, que são referências de célula que sempre referem-se a células em uma localização específica. A diferença entre referências relativas e absolutas Ao criar uma fórmula, as referências a células ou intervalos geralmente se baseiam em sua posição relativa à célula que contém a fórmula. No exemplo a seguir, a célula B6 contém a fórmula =A5; o Microsoft Excel localiza o valor uma célula acima e uma célula à esquerda da célula B6. Este procedimento é chamado de referência relativa. Quando você copia uma fórmula que usa referências relativas, as referências na fórmula colada atualizam e fazem referência a células diferentes relativas à posição da fórmula. No exemplo a seguir, a fórmula na célula B6 foi copiada para a célula B7. A fórmula na célula B7 foi alterada para =A6; que faz referência à célula que está uma célula acima e à esquerda da célula B7. Se você não desejar que as referências sejam alteradas quando você copia uma fórmula para uma célula diferente, use uma referência absoluta. Por exemplo, se a fórmula multiplicar a célula A5 pela célula C1 (=A5*C1) e você copiar a fórmula para outra célula, ambas as referências serão alteradas. Você pode criar uma referência absoluta para a célula C1, colocando um cifrão ($) antes das partes da referência que não são alteradas. Para criar uma referência absoluta para a célula C1, por exemplo, adicione sinais de cifrão à fórmula da seguinte forma: =A5*$C$1 • Use os rótulos de colunas e linhas em uma planilha para fazer referência a células dentro destas colunas e linhas, ou crie nomes descritivos para representar células, intervalos de células, fórmulas ou valores constantes. Rótulos e nomes em fórmulas As planilhas geralmente contêm rótulos na parte superior de cada coluna e à esquerda de cada linha que descrevem os dados da planilha. Você pode usar esses rótulos dentro das fórmulas quando deseja fazer referência aos dados relacionados. Você também pode criar nomes descritivos que não sejam rótulos na planilha para representar células, intervalos de células, fórmulas ou constantes. Quando você criar uma fórmula que faz referência a dados de uma planilha, use os rótulos 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 divisão rotulada Suporte, você poderá localizar o valor de vendas para a divisão Suporte, inserindo a fórmula =Suporte Vendas. O espaço entre os rótulos é o operador de interseção, que serve para designar que a fórmula deve retornar o valor na célula localizada na interseção entre a linha rotulada Suporte e a coluna rotulada Vendas. Se os seus dados não contiverem rótulos ou se você tiver informações armazenadas em uma planilha que deseja usar em outras planilhas localizadas na mesma pasta de trabalho, crie um nome que descreva a célula ou intervalo. Um nome descritivo em uma fórmula pode facilitar a compreensão do objetivo da fórmula. Por exemplo, a fórmula =SOMA(PrimeiroTrimestreVendas) talvez seja mais fácil de identificar do que =SOMA(Vendas!C20:C30). Neste exemplo, o nome PrimeiroTrimestreVendas representa o intervalo C20:C30 na planilha nomeada Vendas. Página 18 Ednis P. Rocha
  • 19. Os nomes encontram-se disponíveis 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 também podem ser usados para representar fórmulas ou valores que não 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 transações de vendas. Observação: Por padrão, os nomes usam referências absolutas de célula. Sobre o uso de rótulos múltiplos em fórmulas Quando você tem rótulos para as colunas e linhas em sua planilha, você pode usar estes rótulos para criar fórmulas que se refiram a dados na planilha. Se sua planilha contém rótulos de colunas empilhadas — em que um rótulo em uma célula é seguido de um ou mais rótulos abaixo dele — você pode usar os rótulos empilhados em fórmulas para se referir a dados na planilha. Por exemplo, se o rótulo Projetado está na célula E5, e o rótulo 1996 está na célula E6, a fórmula =SOMA(Projetado 1966) produz o valor total da coluna Projetado 1996. Se a linha contém as cifras de vendas e o rótulo Vendas está na célula D8, você pode referir-se às vendas projetadas para 1996 com a fórmula =Vendas Projetado 1996. Quando você se refere a informações usando rótulos empilhados, você se refere às informações na ordem em que os rótulos aparecem, de cima para baixo. Se o rótulo 1996 está na célula E5, e o rótulo Efetivo está na célula E6, você pode referir-se às cifras efetivas para 1996 usando 1996 Efetivo em uma fórmula. Por exemplo, para calcular a média das cifras efetivas para 1996, use a fórmula =MÉDIA(1996 Efetivo). • Se você desejar analisar dados na mesma célula ou intervalo de células em diversas planilhas da pasta de trabalho, use uma referência 3-D20. Uma referência 3-D inclui a referência de célula 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 referência. Diretrizes para usar referências 3-D • Você pode usar referências 3-D para fazer referência a células em outras planilhas, definir nomes e criar fórmulas usando as funções a seguir: SOMA, MÉDIA, MÉDIAA, CONT.NÚM, CONT.VALORES, MÁXIMO, MÁXIMOA, MÍNIMO, MÍNIMOA, MULT, DESVPAD, DESVPADA, DESVPADP, DESVPADPA, VAR, VARA, VARP e VARPA. • As referências 3-D não podem ser usadas em fórmulas matriciais. • As referências 3-D não podem ser usadas com o operador de interseção (um espaço simples) ou em fórmulas que usam interseção implícita21. O que acontece a uma referência 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 incluídas em uma referência 3-D. Os exemplos usam a fórmula =SOMA(Plan2:Plan6!A2:A5) para somar as células 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 células A2 a A5 das planilhas adicionadas nos cálculos. 20 3-D - a fórmula =SOMA(Plan2:Plan6!A2:A5) soma as células A2 a A5 nas planilhas 2 a 6. 21 interseção implícita - Em uma fórmula, uma referência a uma coluna de células ou a uma linha de células, ao invés de uma única célula. O Microsoft Excel escolhe como fórmula uma célula na referência que esteja na mesma linha (se a referência for a uma coluna de células) ou à mesma coluna (se a referência for a uma linha de células). Por exemplo, se a célula C10 contém a fórmula =B5:B15*5, o Microsoft Excel multiplicará o valor contido na célula B10 por 5 porque as células B10 e C10 estão na mesma linha. Página 19 Ednis P. Rocha
  • 20. Se você excluir planilhas entre a Plan2 e a Plan6 na pasta de trabalho, o Microsoft Excel removerá seus valores do cálculos. • 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 cálculo. • Se você mover a Plan2 ou a Plan6 para outro local na mesma pasta de trabalho, o Microsoft Excel ajustará o cálculo para acomodar o novo intervalo de planilhas entre elas. • Se você excluir quaisquer planilhas no cálculo, o Microsoft Excel ajustará o cálculo para acomodar o intervalo de planilhas entre elas. Página 20 Ednis P. Rocha
  • 21. Funções Uso de funções para calcular valores As funções são fórmulas predefinidas que efetuam cálculos usando valores específicos, denominados argumentos, em uma determinada ordem, denominada sintaxe. Por exemplo, a função SOMA adiciona valores ou intervalos de células, e a função PGTO calcula os pagamentos de empréstimos com base em uma taxa de juros, na extensão do empréstimo e no valor principal do empréstimo. Os argumentos podem ser números, texto, valores lógicos como VERDADEIRO ou FALSO, matrizes, valores de erro como #N/D, ou referências de célula. O argumento atribuído deve produzir um valor válido para este argumento. Os argumentos também podem ser constantes, fórmulas ou outras funções. A sintaxe de uma função começa com o nome da função, seguido de um parêntese de abertura, os argumentos da função separados por vírgulas e um parêntese de fechamento. Se a função iniciar uma fórmula, digite um sinal de igual (=) antes do nome da função. Quando você for criar uma fórmula que contém uma função, a Caixa de criação de fórmulas irá auxiliá-lo. Várias funções dentro de funções, ou aninhamento As funções podem ser usadas como argumentos para outras funções. Quando uma função é usada como um argumento, ou aninhada, deve retornar o mesmo tipo de valor que o argumento utiliza. Se uma função aninhada não retornar o tipo de valor correto, o Microsoft Excel exibirá um valor de erro #VALOR!. Por exemplo, a fórmula a seguir usa uma função MÉDIA aninhada e a compara com o valor 50. A comparação deve retornar VERDADEIRO ou FALSO, pois este é o tipo de valor necessário para o primeiro argumento em uma função SE. Uma fórmula pode conter até sete níveis de funções aninhadas. Quando a Função B é usada como um argumento na Função A, a Função B é uma função de segundo nível. Se a Função B contiver a Função C como um argumento, a Função C será uma função de terceiro nível. Você pode usar a Caixa de criação de fórmulas para aninhar funções como argumentos. Por exemplo, você pode inserir a Função B como um argumento para a Função A clicando na seta drop- down na barra de fórmula. Se quiser continuar inserindo argumentos para a Função A, clique no nome da Função A na barra de fórmula. Página 21 Ednis P. Rocha
  • 22. Banco de dados Quando você precisar analisar se os valores contidos em uma lista atendem a uma condição específica, ou critérios, poderá usar uma função de planilha de banco de dados. Por exemplo, em uma lista que contém informações 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 funções de planilha que analisam os dados armazenados em listas ou bancos de dados. Cada uma dessas funções, citadas genericamente como BDfunções, usa três argumentos: banco de dados, campo e critérios. Esses argumentos se referem aos intervalos de planilha usados pela função. • argumento de banco de dados é o intervalo que contém sua lista. Você deve incluir a linha que contém os rótulos de coluna no intervalo. • argumento de campo é o rótulo para a coluna que você deseja resumir. • argumento de critérios é o intervalo que contém uma condição especificada por você. BDMÉDIA BDCONTAR BDCONTARA BDEXTRAIR BDMÁX BDMÍN BDMULTIPL BDEST BDDESVPA BDSOMA BDVAREST BDVARP Sintaxe BDfunção(banco_dados;campo;critérios) Banco_dados :é o intervalo de células 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 informações relacionadas são os registros e as colunas de dados são os campos. A primeira linha da lista contém os rótulos de cada coluna. A referência pode ser inserida como um intervalo de células ou como um nome representando o intervalo que contém a lista. • Em todas as funções de banco de dados, se a referência do banco de dados for a uma célula dentro de uma Tabela dinâmica, o cálculo será feito apenas nos dados da Tabela dinâmica. • 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 função. As colunas de dados na lista devem ter um rótulo de identificação na primeira linha. O campo pode ser dado como texto com o rótulo de coluna entre aspas, como "Idade" ou "Rendimento" no exemplo de lista apresentado abaixo, ou como um número que represente a posição da coluna na lista: 1 para a primeira coluna (Árvore, no exemplo abaixo), 2 para a segunda (Altura) e assim por diante. Critérios: é uma referência a um intervalo de células que especifica as condições para a função. A função retorna informações da lista que atendem às condições especificadas no intervalo de critérios. O intervalo de critérios inclui uma cópia do rótulo da coluna na lista para a coluna que você deseja que a função resuma. A referência de critérios pode ser inserida como um intervalo de células, como A1:F2 no exemplo de banco de dados abaixo, ou como um nome que represente o intervalo, como "Critérios." Dicas • Você pode usar qualquer intervalo para o argumento de critérios, desde que ele inclua pelo menos um rótulo de coluna e ao menos uma célula abaixo do rótulo de coluna para especificar a condição. Por exemplo, se o intervalo G1:G2 contiver o rótulo 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 critérios nas funções de banco de dados. Página 22 Ednis P. Rocha
  • 23. Embora o intervalo de critérios possa ser colocado em qualquer local na planilha, não o posicione abaixo da lista. Se você adicionar outras informações à lista, usando o comando Formulário do menu Dados, as novas informações serão adicionadas na primeira linha abaixo da lista. Se a linha abaixo da lista não estiver em branco, o Microsoft Excel não poderá adicionar as novas informações. • Certifique-se de que o intervalo de critérios não se sobreponha à lista. • Para efetuar uma operação em uma coluna inteira em um banco de dados, insira uma linha em branco abaixo dos rótulos de coluna no intervalo de critérios. Exemplos A ilustração ao lado mostra um banco de dados para um pequeno pomar. Cada registro contém informações sobre uma árvore. O intervalo A5:E11 é chamado Banco_dados e o intervalo A1:F3 é chamado Critérios. • BDCONTAR(Banco_dados;"Idade";A1:F2) é igual a 1. Esta função analisa os registros de macieiras com altura entre 10 e 16 e conta quantos campos Idade nestes registros contêm números. • BDCONTARA(Banco_dados;"Lucro";A1:F2) é igual a 1. Esta função analisa os registros de macieiras com altura entre 10 e 16 e conta quantos campos Lucro nesses registros não estão em branco. • BDMÁX(Banco_dados;"Lucro";A1:A3) é igual a R$ 105,00, o lucro máximo de macieiras e pereiras. • BDMÍN(Banco_dados;"Lucro";A1:B2) é igual a R$ 75,00, o lucro mínimo 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. • BDMÉDIA(Banco_dados;"Rendimento";A1:B2) é igual a 12, o rendimento médio das macieiras acima de 10 pés de altura. • BDMÉDIA(Banco_dados;3;Banco_dados) é igual a 13, a idade média de todas as árvores no banco de dados. • BDEST(Banco_dados;"Rendimento";A1:A3) é igual a 2,97, o desvio padrão estimado no rendimento das macieiras e pereiras se os dados do banco de dados forem apenas uma amostra da população total do pomar. • BDDESVPA(Banco_dados;"Rendimento";A1:A3) é igual a 2,65, o desvio padrão verdadeiro no rendimento das macieiras e pereiras se os dados do banco de dados representarem toda a população do pomar. • BDVAREST(Banco_dados;"Rendimento";A1:A3) é igual a 8,8, a variância estimada no rendimento das macieiras e pereiras se os dados no banco de dados forem apenas uma amostra da população total do pomar. • BDVARP(Banco_dados;"Rendimento";A1:A3) é igual a 7,04, a variância verdadeira no rendimento das macieiras e pereiras se os dados no banco de dados representarem toda a população do pomar. • BDEXTRAIR(Banco_dados;"Rendimento";Critérios) retornará o valor de erro #NÚM! porque mais de um registro coincide com os critérios. Diretrizes para criar uma lista em uma planilha O Microsoft Excel oferece uma série de recursos que facilitam o gerenciamento e a análise de dados em uma lista. Para utilizar estes recursos, insira dados em uma lista de acordo com as seguintes diretrizes. Página 23 Ednis P. Rocha
  • 24. Tamanho e Localização 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 automáticos. • 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 poderão ficar ocultos quando você filtrar a lista. Rótulos de Coluna • Crie rótulos de coluna na primeira linha da lista. O Microsoft Excel usa estes rótulos para criar relatórios e para localizar e organizar dados. • Use estilos de fonte, alinhamento, formato, padrão, borda ou maiúsculas para os rótulos de coluna que sejam diferentes do formato atribuído aos dados da lista. • Use bordas de célula – e não linhas em branco ou tracejadas – para inserir linhas abaixo dos rótulos quando desejar separar os rótulos dos dados. Conteúdo das Linhas e Colunas • Elabore a sua lista de modo que todas as linhas contenham itens semelhantes na mesma coluna. • Não insira espaços extras no início de uma célula; os espaços extras afetam os processos de classificação e localização. • Não use uma linha em branco para separar rótulos de colunas da primeira linha de dados. Exemplos de critérios de filtro avançado Os critérios de filtro avançado podem incluir várias condições aplicadas em uma única coluna, vários critérios aplicados a várias colunas e condições criadas como resultado de uma fórmula. Três ou mais condições em uma única coluna Se você tem três ou mais condições para uma única coluna, digite o critério diretamente abaixo de cada um em linhas separadas. Por exemplo, o intervalo de critérios a seguir exibe as linhas que contêm "Amaral", "Pereira" ou "Andrade" na coluna Vendedor. Critérios de duas ou mais colunas Para localizar dados que atendam a uma condição em duas ou mais colunas, insira todos os critérios na mesma linha do intervalo de critérios. Por exemplo, o intervalo de critérios a seguir exibe todas as linhas que contêm "Produção" na coluna Tipo, "Amaral" na coluna Vendedor e valores de vendas acima de R$1.000. Observação Você também pode especificar várias condições para colunas diferentes e exibir somente as linhas que atendam a todas as condições, usando o comando AutoFiltro no menu Dados. Para localizar os dados que atendam a uma condição em uma coluna ou uma condição em outra coluna, insira os critérios em linhas diferentes do intervalo de critérios. Por exemplo, o intervalo de critérios a seguir exibe todas as linhas que contêm "Produção" na coluna Tipo, "Amaral" na coluna Vendedor ou valores de vendas acima de R$1.000. Página 24 Ednis P. Rocha
  • 25. Para localizar linhas que atendam a uma de duas condições em uma coluna e uma de duas condições em outra coluna, digite os critérios em linhas separadas. Por exemplo, o intervalo de critérios a seguir exibe as linhas que contêm 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. Condições criadas como resultado de uma fórmula Você pode usar um valor calculado que seja resultado de uma fórmula como critério. Quando você usa uma fórmula para criar um critério, não use um rótulo de coluna como rótulo de critérios; deixe o rótulo de critérios em branco ou use um rótulo que não seja um rótulo de coluna na lista. Por exemplo, o intervalo de critérios a seguir exibe linhas que têm um valor na coluna G maior do que a média das células E5: E14; ele não usa um rótulo de critérios. Observações • A fórmula utilizada para uma condição deve se referir ao rótulo da coluna (por exemplo, Vendas) ou à referência 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 rótulo de coluna na fórmula, em vez de uma referência relativa de célula ou um nome de intervalo. Quando o Microsoft Excel exibe um valor de erro como #NOME? ou #VALOR! Na célula que contém o critério, você pode ignorar este erro porque ele não afeta a maneira como a lista é filtrada. Página 25 Ednis P. Rocha
  • 26. Trabalhando com Banco de Dados Primeiro método Para manipular uma base de dados, após selecionar uma célula 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 condições que são disponibilizadas quando clicamos sobre a seta indicadora. São elas Tudo Exibir todas as linhas 10 primeiros Exibir todas as linhas que se encontrem dentro dos limites máximo e mínimo especificados por item ou porcentagem, por exemplo, as quantidades dentro dos primeiros 10 por cento das vendas Personalizar Aplicar dois valores de critérios dentro da coluna atual ou usar operadores de comparação diferentes de E (operador padrão) Vazias Exibir somente as linhas que contenham uma célula vazia na coluna NãoVazias Exibir somente as linhas que contenham um valor na coluna Critérios da opção 10 primeiros Primeiros Últimos Utilize as setas para aumentar ou diminuir a quantidade de Itens itens a serem exibidos Por cento Critérios da opção Personalizar é igual a é diferente de é maior do que é maior ou igual a é menor do que é menor ou igual a começa com não começa com termina com não termina com contêm não contêm Observação As opções Vazias e NãoVazias ficam disponíveis somente se a coluna que você deseja filtrar contiver uma célula em branco. Página 26 Ednis P. Rocha
  • 27. Segundo método Outra forma de trabalhar com banco de dados á através de formulário. Para uma tabela que já contêm, pelo menos, a linha com os nomes dos campos, selecione o comando Dados/Formulário. Uma janela no formato de um formulário aparece, com todos os campos, o registro atual e o total de registros. É importante notar que os campos que possuem fórmulas (neste caso a coluna E), tem a sua entrada de dados inibida no formulário, e que o seu valor somente aparecerá quando o botão Novo for acionado. Botões • Novo – cria um novo registro; • Excluir – apaga o registro atual; • Restaurar – restaura a alteração no registro atual; • Localizar anterior – localiza o registro anterior, conforme o critério estabelecido; • Localizar próximo - localiza o próximo registro, conforme o critério estabelecido; • Critérios – similar ao AutoFiltro. Permite que sejam estabelecidos critérios para pesquisa. Para que o filtro seja aplicado, é necessário utilizar os botões Localizar anterior e Localizar próximo. • Barra de rolagem – permite “caminhar” através dos registros; Página 27 Ednis P. Rocha
  • 28. Trabalhando com filtros avançados 1º Passo Inserir pelo menos três linhas em branco no antes do início da lista que contêm os dados que serão filtrados: 2º Passo Copiar, na primeira linha disponível e na mesma coluna o nome do campo que será pesquisado, acrescentando logo abaixo o critério para a pesquisa: 3º Passo Selecionar o comando Dados/Filtrar/Filtro Avançado... • Intervalo da lista – informar o endereço da lista onde será executada a pesquisa; • Intervalo de critérios – informar o endereço que contêm os critérios para a pesquisa; • Copiar para – informar o endereço para onde será copiado o resultado da pesquisa. Deve-se utilizar a planilha ativa. Esta opção somente estará disponível caso a Ação Copiar para outro local esteja habilitada; • Filtrar a lista no local – aplica o filtro no mesmo local definido em Intervalo da Lista (não exclui os registros que ficarem fora do critério, apenas os torna não visíveis temporariamente); • Copiar para outro local – pelo uma célula a partir da qual será utilizado um espaço para copiar os valores capturados pelo critério (valores que porventura estejam neste espaço serão apagados); • Somente registros exclusivos – não seleciona possíveis registros repetidos que satisfaçam ao critério. Observações • 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 Página 28 Ednis P. Rocha
  • 29. Subtotais são níveis de grupos de informações separados por um determinado critério. 1º Passo Classificar a lista de dados, ordenando-a pelo item que será utilizado para gerar o subtotal, através do comando Dados/Classificar 2º Passo Tendo selecionado ao menos uma célula da lista que contêm os dados, utilizar o comando Dados/Subtotais. • A cada alteração em - Selecionar o nome do campo para gerar o índice para o subtotal; • Usar função - Selecionar a função que será aplicada ao campo indicado em Adicionar subtotal a: • Soma - a soma dos valores em uma lista. Esta é a função padrão para dados numéricos. • Contar - o número de itens em uma lista. Esta é a função padrão para dados não numéricos. • Média - a média dos valores em uma lista. • Máx- o maior valor em uma lista. • Mín - o menor valor em uma lista. • Produto - o resultado da multiplicação de todos os valores em uma lista. • Cont.Núms - o número de registros ou linhas em uma lista que contém dados numéricos. • DesvPad - uma estimativa do desvio padrão de uma população, onde a lista é a amostra. • DesvPadp - o desvio padrão de uma população onde a lista é a população inteira. • Var - uma estimativa da variância de uma população onde a lista é a amostra. • Varp - a variância de uma população onde a lista é a população inteira. • Adicionar subtotal a – indica o campo sobre o qual será aplicada a função selecionada em Usar função; • Substituir subtotais atuais – ao selecionar esta opção, todos os subtotais existentes serão removidos quando o botão ok for ativado, e novos subtotais serão aplicados. Caso não esteja selecionada esta opção, os novos subtotais serão aplicados sobre os já existentes; • Quebra de página entre grupos – insere uma quebra de página após cada grupo de subtotal; • Resumir abaixo dos dados – estando selecionada, insere um resumo dos dados logo após todos os subtotais. Não sendo selecionada, o resumo será incluído como a primeira linha após os rótulos de dados; • Remover todos – remove todos os subtotais existentes para a lista atual. Tabela Dinâmica Página 29 Ednis P. Rocha
  • 30. É uma tabela de planilha interativa que pode resumir grandes quantidades de dados existentes usando os formatos e os métodos de cálculo escolhidos. Normalmente se aplica uma tabela dinâmica 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 • vários intervalos de consolidação; • outra tabela dinâmica. A partir de uma lista/banco de dados, e após selecionar o comando Dados/Relatório da tabela dinâmica... seguem-se quatro passos: 1º Passo Devemos selecionar a partir de onde serão obtidos os dados que comporão a tabela que será criada e clicar em Avançar: Banco de dados ou lista do Microsoft Excel: • Clique em uma célula em sua lista antes de executar o Assistente da tabela dinâmica. Na caixa de diálogo Assistente da tabela dinâmica - etapa 2a de 4, o assistente preenche a referência à 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 dinâmica inclui automaticamente todos os dados na lista. • Para criar uma Tabela dinâmica a partir dos dados filtrados, use o comando Filtro avançado para extrair um intervalo de dados para outro local da planilha e baseie a Tabela dinâmica no intervalo extraído. • Microsoft Excel criará automaticamente totais gerais e subtotais na Tabela dinâmica. Se a lista de origem contiver totais gerais e subtotais automáticos, remova-os antes de criar a Tabela dinâmica. • Como o Microsoft Excel usa os dados da primeira linha da lista como nomes de campos na Tabela dinâmica, a lista ou o banco de dados de origem deve conter rótulos de coluna. • Para tornar mais fácil a atualização da Tabela dinâmica, 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 dinâmica. Se o intervalo nomeado se expandir para incluir mais dados, você poderá atualizar a Tabela dinâmica 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 dinâmica. Com o Assistente da tabela dinâmica, além de consultar arquivos, você pode criar novas consultas usando o Assistente de consulta ou o Microsoft Query. Nas seguintes situações, você não pode recuperar os dados externos a partir do Assistente da tabela dinâmica: • Se você deseja usar um modelo de relatório para recuperar os dados e esse modelo não incluir uma Tabela dinâmica, primeiro você precisa abrir o modelo de relatório e, em seguida, criar a Tabela dinâmica com base no intervalo da planilha que contém os dados externos. Página 30 Ednis P. Rocha
  • 31. Se você deseja usar uma consulta de parâmetros para recuperar os dados, é necessário criar primeiro a consulta de parâmetros e, em seguida, a Tabela dinâmica com base no intervalo da planilha que contém os dados externos. • Se você deseja usar uma consulta da Web para recuperar dados através da Internet, primeiro você deve criar a consulta da Web e, depois, a Tabela dinâmica com base no intervalo da planilha que contém os dados externos. Vários intervalos de consolidação Quando você consolidar dados de diversas listas ou planilhas, as listas ou planilhas deverão ter nomes de linha e coluna idênticos para os itens que você deseja resumir. Não inclua quaisquer linhas de total ou colunas de total dos dados de origem ao criar a Tabela dinâmica. Para tornar mais fácil a atualização da Tabela dinâmica, quando os intervalos de origem forem alterados, nomeie cada intervalo de origem e use os nomes quando você criar a Tabela dinâmica. Se um intervalo nomeado se expandir para incluir mais dados, você poderá atualizar a Tabela dinâmica de modo a incluir os novos dados. Uma consolidação usa campos de página personalizados para exibir cada intervalo de dados de origem. Esses campos de página possuem itens que representam um ou mais intervalos de dados. Por exemplo, se você estiver consolidando dados de orçamentos dos departamentos de Marketing, Vendas e Produção, um campo de página poderia ter um item para os dados de cada departamento e outro item para exibir os dados combinados. Quando você clicar em Vários intervalos de consolidação na caixa de diálogo Assistente da tabela dinâmica - etapa 1 de 4, poderá escolher o tipo de campo de página desejado. • Você pode exibir uma página para cada intervalo de página ou uma página que consolide todos os intervalos dos dados de origem. Clique em Crie um único campo de página para mim na caixa de diálogo Assistente da tabela dinâmica - etapa 2a de 4. • Você pode criar até quatro campos de página e atribuir nomes de itens para cada intervalo de dados de origem, ou pode criar uma consolidação que não possui campos de página. Clique em Criarei os campos de página na caixa de diálogo Assistente da tabela dinâmica - etapa 2a de 4. Use esta opção quando você desejar comparar consolidações parciais e completas. Outra tabela dinâmica Quando você usar uma Tabela dinâmica como origem para outra Tabela dinâmica na mesma pasta de trabalho, as duas Tabelas dinâmicas estarão vinculadas aos mesmos dados de origem. Como você reutiliza os mesmos dados internos, o tamanho do arquivo da pasta de trabalho diminui e serão necessários menos dados residentes na memória. Quando você atualiza os dados em uma das Tabelas dinâmicas, o Microsoft Excel também atualiza os dados na outra Tabela dinâmica. Quando você agrupa ou desagrupa dados em uma das Tabelas dinâmicas, ambas as tabelas são afetadas. Os campos calculados e os itens calculados que você criar em uma das Tabelas dinâmicas afetarão também a outra Tabela dinâmica. Para usar uma Tabela dinâmica para criar outra Tabela dinâmica, ambas as Tabelas dinâmicas devem estar na mesma pasta de trabalho. Se a Tabela dinâmica de origem estiver em outra pasta de trabalho, copie-a para a pasta de trabalho onde você deseja que a nova Tabela dinâmica apareça. As Tabelas dinâmicas armazenadas em diferentes pastas de trabalho não compartilham os mesmos dados internos; sendo assim, você poderá atualizá-las separadamente. Página 31 Ednis P. Rocha
  • 32. Observação A Tabela dinâmica de origem não pode conter quaisquer campos de página definidos para consultar dados externos à medida que você selecionar cada item. 2º Passo Nesta etapa devemos indicar qual é o intervalo de onde estão os dados com os quais iremos trabalhar. A janela disponível nesta etapa terá um formato específico, dependendo da opção selecionada no 1º passo. 3º Passo Agora devemos selecionar os campos que estão relacionados à direita para o diagrama da esquerda. É necessário ter estabelecido a forma final desejada para o relatório que será gerado. • Página – separa os dados da tabela resultante permitindo que os mesmo possam ser visualizados de forma independente • Linha – organiza os dados em linhas • Colunas – dispõe os dados em colunas Página Linha Coluna Ainda no 3º Passo Página 32 Ednis P. Rocha
  • 33. Pode-se configurar cada um dos campos que irão compor uma tabela dinâmica, clicando duas sobre sobre os mesmos. Para campos de Página, Linha ou Coluna a seguinte tela aparecerá: • Nome – indica o nome de rótulo para o campo selecionado; • Orientação – indica a disposição em que o campo será arranjado no relatório; • Subtotais: - funções de resumo para análise de dados • Soma - a soma dos valores. Esta é a função padrão para os dados numéricos. • Contagem - o número de itens. A função de resumo, Contagem, funciona de modo idêntico ao da função de planilha, ContValores. Contagem é a função padrão para os dados de origem diferentes de números. • Média - a média dos valores. • Máximo - o maior valor. • Mínimo - o menor valor. • Mult - o produto dos valores. • Cont.Núm - o número de linhas que contêm dados numéricos. A função de resumo Cont.Núm funciona de modo idêntico à função de planilha CONT.NÚM. • DesvPad - uma estimativa do desvio padrão de uma população, onde a amostra são todos os dados que serão resumidos. • DesvPadp - o desvio padrão de uma população, onde a população são todos os dados que serão resumidos. • Var - uma estimativa da variância de uma população, onde a amostra são todos os dados que serão resumidos. • Varp - A variância de uma população, onde a população são todos os dados que serão resumidos. • Ocultar Itens – permite selecionar os itens referentes ao campo que não serão exibidos; • Mostrar itens sem dados – mostra a tabela com os rótulos, mas sem os dados; • Avançado: configura opções avançadas de campo da tabela dinâmica • Opções de campo de página – configura a forma como dados externos serão acessados; • Opções de AutoClassificação – configuram a classificação que será utilizada para o relatório gerado; • Opções de AutoApresentação – configura como e com qual quantidade de o relatório gerado será apresentado. Página 33 Ednis P. Rocha
  • 34. 4º Passo Finaliza a tabela dinâmica. Permite que ela seja criada como uma Nova Planilha, ou que um local na planilha existente seja selecionado para tal. • Opções – esta botão disponibilizada uma tela onde pode-se configurar a formatação da apresentação do relatório e formas como a origem dos dados será acessada. Página 34 Ednis P. Rocha
  • 35. Função Procv A função PROCV (Procura Vertical) é utilizada na pesquisa de um determinado valor emuma região. Essa função deve ser usada no lugar da função SE quando utilizada de forma aninhada, ou seja, toda vez que houver vários SEs aninhados, deve-se pensar em substitui-los pela função PROCV, tornaod, assim, sua planilha mais rápida, eficaz e limpa. Para isso a região que contêm as informações a serem pesquisadas precisa estar em ordem ascendente pela primeira coluna e sem linhas em branco entre as mesmas. Essa função requer quatro parâmetros: 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 comparação estiverem posicionados em uma coluna à esquerda ou à direita dos dados que você deseja procurar. Sintaxe PROCV(valor_procurado;matriz_tabela;núm_índice_coluna;procurar_intervalo) Valor_procurado: é o valor a ser procurado na primeira coluna da matriz. Valor_procurado pode ser um valor, uma referência ou uma seqüência de caracteres de texto. Matriz_tabela: é a tabela de informações em que os dados são procurados. Use uma referência 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 deverão ser colocados em ordem ascendente: ..., -2, -1, 0, 1, 2, ... , A-Z, FALSO, VERDADEIRO; caso contrário, PROCV pode não retornar o valor correto. Se procurar_intervalo for FALSO, matriz_tabela não precisará ser ordenada. Os valores na primeira coluna de matriz_tabela podem ser texto, números ou valores lógicos. Textos em maiúsculas e minúsculas são equivalentes. Núm_índice_coluna: é o número da coluna em matriz_tabela a partir do qual o valor correspondente deve ser retornado. Um núm_índice_coluna de 1 retornará o valor na primeira coluna em matriz_tabela; um núm_índice_coluna de 2 retornará o valor na segunda coluna em matriz_tabela, e assim por diante. Se núm_índice_coluna for menor do que 1, PROCV retornará o valor de erro #VALOR!; se núm_índice_coluna for maior do que o número de colunas em matriz_tabela, PROCV retornará o valor de erro #REF!. Procurar_intervalo: é um valor lógico que especifica se você quer que PROCV encontre a correspondência exata ou uma correspondência aproximada. Se VERDADEIRO ou omitida, uma correspondência aproximada é retornada; em outras palavras, se uma correspondência exata não for encontrada, o valor maior mais próximo que é menor que o valor_procurado é retornado. Se FALSO, PROCV encontrará uma correspondência exata. Se nenhuma correspondência for encontrada, o valor de erro #N/D é retornado. Comentários • Se PROCV não 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 não localizar valor_procurado e procurar_intervalo for FALSO, PROCV fornecerá o valor #N/D. Página 35 Ednis P. Rocha
  • 36. 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 salário líquido e os descontos, de acordo com a faixa salarial de cada funcionário. A fórmula para a coluna E é: =D3/C3 E a fórmula para a coluna D é: =C3-PROCV(B3;$A$10:$B$12;2)*C3 Neste caso a função PROCV é utilizada para encontrar em qual faixa salarial cada um dos funcionários se enquadra. Note-se que as células E5 e E6 deveriam apresentar o seguinte erro #DIV/0!, mas a seguinte formatação foi aplicada a esta coluna: • No comando Formatar/Células/Número/Personalizado foi definido o formato do tipo como [Preto]0%; • As células 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. Observação A mesma planilha com a utilização da função SE ficaria com as fórmulas da coluna D da seguinte forma: =SE(B3=1;C3;SE(B3=2;C3-$B$11*C3;C3-$B$12*C3)) Página 36 Ednis P. Rocha
  • 37. Solver Com o Solver, você pode localizar um valor ideal para uma fórmula em uma célula - chamada de célula de destino - em uma planilha. O Solver trabalha com um grupo de células relacionadas direta ou indiretamente com a fórmula na célula de destino. O Solver ajusta os valores nas células variáveis que você especificar - chamadas de células ajustáveis - para produzir o resultado especificado por você na fórmula da célula de destino. Você pode aplicar restrições para restringir os valores que o Solver poderá usar no modelo, e as restrições podem se referir a outras células que afetem a fórmula da célula de destino. Restrições Limitações colocadas a um problema do Solver. Você pode aplicar restrições a células ajustáveis (variáveis), a célula de destino ou outras células direta ou indiretamente relacionadas com a célula de destino. Para problemas lineares, não existe limite ao número de restrições. Para problemas não- lineares, cada célula ajustável pode ter as seguintes restrições: uma restrição binária; uma restrição 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 células. Os operadores abaixo podem ser usados em restrições. Operador Significado <= Menor que ou igual a >= Maior que ou igual a = Igual a núm Inteiro (aplica-se somente a células ajustáveis) bin Binário (aplica-se somente a células ajustáveis) Considerando a planilha ao lado, qual a quantidade de produtos a ser vendida necessária para que o lucro líquido (F14) seja o máximo possível (e qual esse valor)? 1º Passo – Especificar a célula de destino que se deseja minimizar, maximizar ou ajustar para um determinado valor. Neste caso $F$14; 2º Passo – Especificar as células variáveis a serem ajustadas até uma solução ser encontrada. Neste caso $C$9:$E$9; 3º Passo – Especificar as células de restrição 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 = núm. • Selecione o comando Ferramentas/Solver. • Em Definir célula de destino informe $F$14; • Em Igual a selecione Máx; • Em Células variáveis informe $C$9:$E$9, que são as células que irão sofrer alterações para que o valor de 215 possa ser atingido; • Em Submter às restrições informe $C$9:$E$9 <= $C$5:$E$9 e $C$9:$E$9 = núm, ou seja os Página 37 Ednis P. Rocha
  • 38. valores das células variáveis, que são as quantidades vendidas, não podem ser maiores que os valores em estoque e devem ser mantidos como números; • Em Opções, as seguintes alternativas estão disponíveis: • Você pode controlar os recursos avançados do processo de solução, carregar ou salvar definições de problemas e definir parâmetros para os problemas lineares e não lineares. Cada opção tem uma definição padrão adequada à maioria dos problemas. • Tempo máximo - limita o tempo usado pelo processo de solução. Apesar de você poder fornecer um valor tão alto quanto 32.767, o valor padrão de 100 (segundos) é o mais adequado para grande parte dos pequenos problemas. • Iterações - limita o tempo utilizado pelo processo de solução, restringindo o número de cálculos provisórios. Apesar de você poder fornecer um valor tão alto quanto 32.767, o valor padrão de 100 (segundos) é o mais adequado para grande parte dos pequenos problemas. • Precisão - controla a precisão das soluções utilizando o número que você forneceu para determinar se o valor de uma célula de restrição alcançou a meta ou satisfez a um limite superior ou inferior. A precisão deve ser indicada por uma fração entre 0 (zero) e 1. Uma precisão maior é indicada quando o número fornecido possui mais casas decimais - por exemplo, 0,0001 tem mais precisão do que 0,01. Quanto maior a precisão, mais tempo será gasto para atingir uma solução. • Tolerância - a porcentagem através da qual a célula de destino de uma solução atendendo às restrições de número inteiro pode divergir do valor ideal e ainda ser considerada aceitável. Esta opção é aplicada somente aos problemas com restrições de número inteiro. Uma tolerância mais alta tende a acelerar o processo de solução. • Convergência - quando a mudança relativa no valor da célula de destino é menor que o valor das cinco última iterações na caixa Convergência, o Solver é interrompido. A convergência é aplicada apenas aos problemas não lineares e deve ser indicada por uma fração entre 0 (zero) e 1. Uma convergência menor é indicada quando o número fornecido tem mais casas decimais - por exemplo, 0,0001 tem uma mudança relativa menor que 0,01. Quanto menor o valor da convergência, mais tempo será necessário para o Solver encontrar uma solução. • Presumir modelo linear - selecione para acelerar o processo de solução, quando todas as relações no modelo forem lineares e você desejar resolver um problema de otimização linear ou uma aproximação linear para um problema não linear. • Mostrar resultados de iteração - selecione para instruir o Solver a interromper e exibir os resultados de cada iteração. • Usar escala automática - selecione para usar a escala automática quando as entradas e saídas tiverem tamanhos muito diferentes - por exemplo, quando a maximização da porcentagem de lucros estiver baseada em investimentos de milhões de dólares. • Presumir não negativo - instrui o Solver a presumir um limite mínimo de 0 (zero) para todas as células ajustáveis para as quais você não definiu um limite mínimo na caixa Restrição da caixa de diálogo Restrição. • Estimativas - especifica a abordagem usada para obter as estimativas iniciais das variáveis básicas em cada pesquisa unidimensional. • Tangente - usa a extrapolação linear de um vetor tangencial. • Quadrática - usa a extrapolação quadrática, que pode melhorar os resultados em problemas altamente não-lineares. • Derivadas - especifica a diferenciação usada para estimar derivadas parciais das funções de objetivo e de restrição. • Adiante - use na maioria dos problemas em que os valores de restrição são alterados com relativa lentidão. • Central - use em problemas em que as restrições são rapidamente alteradas, principalmente perto dos limites. Embora essa opção requeira mais cálculos, pode ser útil usá-la quando o Solver retornar uma mensagem informando que ele não pode melhorar a solução. • Pesquisar - especifica o algoritmo que será usado em cada iteração para decidir em que direção pesquisar. Página 38 Ednis P. Rocha
  • 39. Newton - usa o método quase-Newton que geralmente exige mais memória e bem menos iterações do que o método gradiente Conjugado. • Conjugado - requer menos memória do que o método Newton, mas geralmente exige mais iterações para atingir determinado nível de precisão. Use esta opção quando houver um problema grande e a quantidade de memória disponível for uma preocupação, ou quando as várias iterações do processo de solução revelarem um progresso lento. • Carregar modelo - exibe a caixa de diálogo Carregar modelo, em que você pode especificar a referência para o modelo que deseja carregar. • Salvar modelo - exibe a caixa de diálogo 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, além de poder manter os resultados que foram atingidos pela ferramenta Solver, pode-se restaurar os valores originais, ou ainda ter acesso a um relatório sobre as modificações executadas na planilha para que os resultados fossem obtidos. Para isso, em Relatórios, clique sobre o relatório desejado e depois em OK. Página 39 Ednis P. Rocha
  • 40. Atingir Meta Quando você souber o resultado desejado de uma única fórmula mas não o valor de entrada de que a fórmula necessita para determinar o resultado, você poderá usar o recurso Atingir meta. Ao utilizar este recurso, o Microsoft Excel varia o valor em uma célula específica até que uma fórmula dependente daquela célula retorne o resultado desejado. Para a seguinte planilha, quantos veículos Tempra precisam ser vendidos para que seja atingido um faturamento de R$600.000,00? • Selecione o comando Ferramentas/Atingir meta; • Em Definir célula, informe a célula que contêm a fórmula para a qual deseja-se encontrar uma solução. Neste caso $H$3; • Em Para valor, informe o valor que se deseja atingir. Neste caso 600000; • Em Variando célula informar a célula que contêm o valor que será alterado para que se atinja o valor desejado. Deve possuir relação direta com a fórmula especificada e não pode ser uma fórmula e sim um valor. Neste caso $G$3. • Clicar em OK. Observação: Caso haja um gráfico com uma ou mais faixas referentes a essas células que contêm fórmulas, quando uma alteração for efetuada nos valores das barras, colunas ou linhas do gráfico arrastando-as pela tela, automaticamente a caixa Atingir meta é chamada. Página 40 Ednis P. Rocha
  • 41. Data e Hora Com as funções de data e hora, você pode analisar e trabalhar com valores de data e hora em fórmulas. Por exemplo, se você precisar usar a data atual em uma fórmula, use a função de planilha HOJE, que retorna a data atual com base no relógio do sistema do computador. DATA DATA.VALOR DIA DIAS360 DATAM FIM.MÊS HORA MINUTO MÊS DIA.TRABALHO.TOTAL AGORA SEGUNDO TEMPO VALOR.TEMPO HOJE DIA.DA.SEMANA DIA.TRABALHO ANO FRAÇÃO.ANO Como o Microsoft Excel efetua cálculos de data e hora O Microsoft Excel armazena datas como números seqüenciais conhecidos como valores de série e armazena horas como frações decimais, pois a hora é considerada uma parte de um dia. As datas e horas são valores e, logo, podem ser adicionadas, subtraídas e incluídas em outros cálculos. Por exemplo, para determinar a diferença entre duas datas, subtraia uma data da outra. Você pode exibir uma data ou hora como um número de série ou uma fração decimal, alterando o formato da célula que contém 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 padrão do Microsoft Excel 97 para Windows é 1900. Para alterar para o sistema de datas 1904, clique em Opções no menu Ferramentas, clique na guia Cálculo e, em seguida, marque a caixa de seleção Sistema de data 1904. A tabela a seguir mostra a primeira e a última data para cada sistema de datas e o valor de série associado a cada data. Sistema de Datas Primeira Data Última Data 1900 1 de janeiro de 1900 31 de dezembro de 9999 (valor de série 1) (valor de série 2958525) 1904 2 de janeiro de 1904 31 de dezembro de 9999 (valor de série 1) (valor de série 2957063) Observação Quando você insere uma data no Microsoft Excel 97 e apenas dois dígitos são 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. Função Utilidade Sintaxe Data Retorna o número de série de uma determinada DATA(ano;mês;dia) data Data.Valor Retorna o número de série da data representada DATA.VALOR(texto_da por texto_data. Use DATA.VALOR para converter ta) uma data representada pelo texto em um número de série. Dia Retorna o dia do mês que corresponde a DIA(núm_série) núm_série. O dia é dado como um inteiro que varia de 1 a 31. Dias360 Retorna o número de dias entre duas datas com DIAS360(data_inicial;d Página 41 Ednis P. Rocha
  • 42. base em um ano de 360 dias (doze meses de 30 ata_final;método) dias). Use esta função para ajudar no cálculo dos pagamentos, se o seu sistema de contábil estiver baseado em doze meses de 30 dias. Datam Retorna um número de série de data que é o DATAM(data_inicial;me número de meses indicado antes ou depois de ses) data_inicial. Use DATAM para calcular datas de quitação ou datas de vencimento que caem no mesmo dia do mês da data de emissão. Fim.Mês Retorna a data de número de série para o último FIM.MÊS(data_inicial;m dia do mês que é o número indicado de meses eses) antes ou depois de data_inicial. Use FIM.MÊS para calcular as datas de vencimento que caem no último dia do mês. Hora Retorna a hora correspondente a núm_série. A HORA(núm_série) hora é retornada como um inteiro, variando de 0 (12:00 A.M.) a 23 (11:00 P.M.). Minuto Retorna o minuto correspondente a núm_série. O MINUTO(núm_série) minuto é fornecido como um inteiro, variando de 0 a 59. Mês Retorna o mês correspondente a núm_série. O mês MÊS(núm_série) é fornecido como um inteiro, variando de 1 (janeiro) a 12 (dezembro). Dia.Trabalho.Total Retorna o número de dias úteis inteiros entre DIA.TRABALHO.TOTA data_inicial e data_final. Os dias úteis excluem os L(data_inicial;data_final fins de semana e quaisquer datas identificadas em ;feriados) feriados. Use DIA.TRABALHO.TOTAL para calcular os benefícios aos empregados que recebem com base no número de dias trabalhados durante um período específico. Agora Retorna o número de série da data e hora atuais. AGORA( ) Segundo Retorna o segundo correspondente a núm_série. O SEGUNDO(núm_série) segundo é fornecido como um inteiro no intervalo de 0 (zero) a 59. Use SEGUNDO para obter a hora em segundos indicada por um número de série. Tempo Retorna o número de série de um horário em TEMPO(hora;minuto;se particular. O número de série retornado por TEMPO gundo) é uma fração 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 número de série da hora representada VALOR.TEMPO(texto_ por texto_hora. O número de série é uma fração hora) 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 número de série. Hoje Retorna o número de série da data atual. O número HOJE( ) de série é o código de data-hora usado pelo Microsoft Excel para cálculos de data e hora. Para obter maiores informações sobre números de série, consulte AGORA. Dia.Da.Semana Retorna o dia da semana correspondente a DIA.DA.SEMANA(núm núm_série. O dia é retornado como um inteiro _série;retornar_tipo) variando entre 1 (domingo) e 7 (sábado). Diatrabalho Retorna a data de número de série correspondente DIATRABALHO(data_i ao número indicado de dias úteis antes ou depois nicial;dias;feriados) 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 Página 42 Ednis P. Rocha
  • 43. vencimento, as horas de entrega esperadas ou o número de dias de trabalho executado. Para exibir o número como data, clique em Células no menu Formatar. Em seguida clique em Data na caixa Categoria e selecione um formato de data na caixa Tipo. Ano Retorna o ano correspondente a núm_série. O ano ANO(núm_série) é fornecido como um inteiro no intervalo 1900- 9999. Fração.Ano Calcula a fração de ano que representa o número FRAÇÃO.ANO(data_ini de dias inteiros entre duas datas (data_inicial e cial;data_final;base) data_final). Use a função de planilha FRAÇÃO.ANO para identificar a proporção dos benefícios ou obrigações de um ano inteiro a serem designados para um determinado termo. Página 43 Ednis P. Rocha
  • 44. Funções Definidas pelo usuário Se você usa um cálculo particularmente complexo em várias fórmulas, ou cálculos que exigem diversas fórmulas porque as funções de planilha existentes não atendem às suas necessidades, você pode criar funções personalizadas. Essas funções, conhecidas como funções definidas pelo usuário, são criadas com o Visual Basic for Applications. Procedimento Function Um procedimento Function é uma série de instruções do Visual Basic colocadas entre as instruções Function e End Function. Um procedimento Function é semelhante a um procedimento Sub, mas uma função pode retornar um valor. Um procedimento Function pode utilizar argumentos, assim como constantes, variáveis ou expressões passadas para ele através de um procedimento de chamada. Caso um procedimento Function não tenha argumentos, sua instrução Function deve incluir um conjunto de parênteses vazio. Uma função retorna um valor atribuindo um valor ao seu nome em uma ou mais instruções do procedimento. No exemplo apresentado a seguir, a função Celsius calcula o número de graus Celsius a partir dos graus Fahrenheit. Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function Instrução If...Then...Else Executa condicionalmente um grupo de instruções, dependendo do valor de uma expressão. Sintaxe If condição Then [instruções] [Else instruçõeselse] Ou você pode utilizar a sintaxe de formato de bloco: If condição Then [instruções] [ElseIf condição-n Then [instruçõeselseif] ... [Else [instruçõeselse]] End If A instrução If...Then...Else possui as partes a seguir: Parte Descrição condição - Obrigatória. Um ou mais dos dois tipos de expressão seguintes: Uma expressão numérica ou expressão de seqüência de caracteres que é avaliada como True ou False. Se condição for Null, será tratada como False. Uma expressão do formato TypeOf nomedoobjeto Is tipodoobjeto. O nomedoobjeto é qualquer referência a objeto e tipodoobjeto é qualquer tipo de objeto válido. A expressão será True se nomedoobjeto for o tipo de objeto especificado por tipodoobjeto; caso contrário, será False. instruções - Opcional em formato de bloco; requerida em formato de uma só linha que não possui cláusula Else. Uma ou mais instruções separadas por dois-pontos; executada se condição for True. condição-n - Opcional. Igual a condição. instruçõeselseif - Opcional. Uma ou mais instruções executadas se a condição-n associada for True. Página 44 Ednis P. Rocha
  • 45. instruçõeselse - Opcional. Uma ou mais instruções executadas se nenhuma expressão condição ou condição-n anterior for True. Comentários 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 fácil de ler, manter e depurar. Observação Com o formato de uma só linha é possível ter múltiplas instruções executadas como resultado de uma decisão If...Then. Todas as instruções devem estar na mesma linha e separadas por dois-pontos, como na seguinte instrução: If A > 10 Then A = A + 1 : B = B + A : C = C + B Uma instrução If em formato de bloco deve ser a primeira em uma linha. As partes Else, ElseIf, e End If da instrução podem ter somente um número de linha ou rótulo de linha precedendo-as. O If em bloco deve terminar com uma instrução End If. Para determinar se uma instrução é ou não If em bloco, examine o que vem em seguida à palavra- chave Then. Se qualquer coisa exceto um comentário aparecer depois de Then na mesma linha, a instrução será tratada como instrução If de uma só linha. A cláusulas Else e ElseIf são opcionais. Você pode ter tantas cláusulas ElseIf em um bloco If quantas desejar, mas nenhuma pode aparecer depois de uma cláusula Else. Instruções If em bloco podem ser embutidas, isto é, contidas uma dentro da outra. Executando um If em bloco (segunda sintaxe), condição é testada. Se condição for True, as instruções seguintes a Then são executadas. Se condição for False, cada condição ElseIf (se houver) será por sua vez avaliada. Quando uma condição True for encontrada, as instruções imediatamente subseqüentes à Then associada são executadas. Se nenhuma das condições ElseIf forem True (ou se não houver cláusulas ElseIf), as instruções subseqüentes a Else são executadas. Depois da execução das instruções subseqüentes a Then ou Else, a execução continua com a instrução subseqüente a End If. Exemplo Dim Número, Dígitos, MinhaSeqüência Número = 53 ' Inicializa a variável. If Número < 10 Then Dígitos = 1 ElseIf Número < 100 Then ' A condição avalia como True, então a próxima instrução é executada. Dígitos = 2 Else Dígitos = 3 End If Utilizando instruções If...Then...Else Você pode utilizar a instrução If...Then...Else para executar uma instrução específica ou um bloco de instruções, dependendo do valor de uma condição. As instruções If...Then...Else podem ser aninhadas em tantos níveis quanto você precise. No entanto, pode ser que, por uma questão de legibilidade, você prefira utilizar uma instrução Select Case no lugar de criar múltiplos níveis de instruções If...Then...Else aninhadas. Executando instruções caso uma condição seja True Página 45 Ednis P. Rocha
  • 46. Para executar uma instrução somente quando uma condição for True, utilize a sintaxe de uma linha da instrução 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 código, utilize a sintaxe de múltiplas linhas. Essa sintaxe inclui a instrução End If, como mostra o exemplo apresentado a seguir: Sub AlertarUsuário(value as Long) If valor = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True End If End Sub Executando certas instruções caso uma condição seja True e, executando outras, caso ela seja False Utilize uma instrução If...Then...Else para definir dois blocos de instruções executáveis: um bloco é executado caso a condição seja True; o outro bloco é executado caso a condição seja False. Sub AlertarUsuário(valor as Long) If valor = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True Else AlertLabel.Forecolor = vbBlack AlertLabel.Font.Bold = False AlertLabel.Font.Italic = False End If End Sub Testando uma segunda condição caso a primeira condição seja False Você pode adicionar instruções ElseIf a uma instrução If...Then...Else para testar uma segunda condição caso a primeira condição seja False. Por exemplo, o procedimento de função apresentado a seguir computa uma gratificação com base no cargo. A instrução posterior a Else caso as condições em todas as instruções If e ElseIf sejam False. Function Bonus(desempenho, salário) If desempenho = 1 Then Bonus = salário * 0.1 ElseIf desempenho = 2 Then Bonus = salário * 0.09 ElseIf desempenho = 3 Then Bonus = salário * 0.07 Else Bonus = 0 End If End Function Instrução For...Next Página 46 Ednis P. Rocha
  • 47. Repete um grupo de instruções um número específico de vezes. Sintaxe For contador = início To fim [Step passo] [instruções] [Exit For] [instruções] Next [contador] A sintaxe da instrução For…Next possui as partes a seguir: Contador - Obrigatória. Variável numérica utilizada como contador de loops. A variável não pode ser um Boolean ou um elemento de matriz. Início - Obrigatória. Valor inicial do contador. Fim - Obrigatória. Valor final do contador. Passo - Opcional. A quantidade em que o contador é alterado cada vez que passa pelo loop. Se o passo não for especificado, o padrão será um. Instruções - Opcional. Uma ou mais instruções entre For e Next que são executadas conforme o número de vezes especificado. Comentários O argumento do passo pode ser positivo ou negativo. O valor do argumento do passo determina o processamento do loop da seguinte forma: Valor Loop é executado se Positivo ou 0 contador <= fim Negativo contador >= fim Depois que todas as instruções do loop tiverem sido executadas, passo é adicionado a contador. Neste momento ou as instruções do loop são executadas novamente (baseadas no mesmo teste que causou a execução inicial do loop) ou o loop sai e a execução continua com a instrução seguinte à instrução Next. Dica A alteração do valor de um contador estando dentro de um loop pode tornar mais difícil a leitura e depuração do seu código. Qualquer número de instruções Exit For pode ser colocado em qualquer lugar dentro do loop como meio alternativo de sair. Muitas vezes Exit For é utilizada depois da avaliação de alguma condição, por exemplo, If...Then, e transfere o controle para a instrução imediatamente seguinte a Next. Você pode embutir loops For...Next colocando um dentro do outro. Dê a cada loop um nome de variável exclusivo como seu contador. A construção a seguir é correta: For I = 1 To 10 For J = 1 To 10 For K = 1 To 10 ... Next K Next J Next I Observação Se você omitir contador em uma instrução Next, a execução continua como se contador estivesse incluído. Se uma instrução Next for encontrada antes de sua instrução For correspondente, ocorrerá um erro. Página 47 Ednis P. Rocha
  • 48. Instrução Do...Loop Repete um bloco de instruções enquanto uma condição é True ou até que ela se torne True. Sintaxe Do [{While | Until} condição] [instruções] [Exit Do] [instruções] Loop Ou você pode utilizar esta sintaxe: Do [instruções] [Exit Do] [instruções] Loop [{While | Until} condição] A sintaxe da instrução Do Loop possui as partes a seguir: Condição - Opcional. Expressão numérica ou expressão de seqüência que seja True ou False. Se condição for Null, condição é tratada como False. Instruções - Uma ou mais instruções que são repetidas enquanto, ou até que, condição seja True. Comentários Qualquer número de instruções Exit Do pode ser colocado em qualquer lugar em Do…Loop como meio alternativo para sair de um Do…Loop. Exit Do é freqüentemente utilizada depois que alguma condição é avaliada, por exemplo, If…Then, caso em que a instrução Exit Do transfere o controle para a instrução imediatamente seguinte a Loop. Quando utilizada com instruções Do…Loop embutidas, Exit Do transfere o controle para o loop que está embutido em um nível acima do loop em que ocorre Exit Do. Página 48 Ednis P. Rocha
  • 49. Utilizando instruções For Each...Next As instruções For Each...Next repetem um bloco instruções em cada objeto de uma coleçãoou em cada elemento de uma matriz. O Visual Basic define automaticamente uma variável todas as vezes que o loop for executado. Por exemplo, o procedimento apresentado a seguir fecha todos os formulários, exceto o formulário que contém o procedimento que está sendo executado. Sub FecharFormulários() For Each frm In Application.Forms If frm.Caption <> Screen. ActiveForm.Caption Then frm.Close Next End Sub O código apresentado a seguir executa um loop através de todos os elementos de uma matriz e define o valor de cada um deles como o valor da variável 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 células Utilize um loop For Each...Next para efetuar um loop nas células de um intervalo. O procedimento apresentado a seguir executa um loop no intervalo A1:D10 da Plan1 e define qualquer número cujo valor absoluto seja inferior a 0.01 como 0 (zero). Sub ArredondarParaZero() For Each meuObjeto in minhaColeção 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 instrução Exit For. Por exemplo, quando ocorre um erro, utilize a instrução Exit For no bloco de instruções True de uma instrução If...Then...Else ou uma instrução Select Case que verifica de forma específica o erro. Caso não ocorra o erro, a instrução If…Then…Else será False e o loop prosseguirá normalmente. O exemplo apresentado a seguir testa a primeira célula no intervalo A1:B5 que não contenha um número. Se existir uma célula desse tipo, será exibida uma mensagem e Exit For sairá do loop. Sub TestarNúmeros() For Each meuObjeto In MinhaColeção If IsNumeric(meuObjeto.Value) = False Then MsgBox "Objeto contém um valor não-numérico." Exit For End If Next End Sub Sub teste() Dim nr, cont As Integer nr = InputBox("Digite um número inteiro") cont = 1 For Each c In Range("a1:a10") Página 49 Ednis P. Rocha
  • 50. c.Value = cont c.Offset(0, 1).Value = "X" c.Offset(0, 2).Value = nr c.Offset(0, 3).Value = "=" c.Offset(0, 4).Value = nr * cont cont = cont + 1 'delay 0.5 Next c End Sub 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 Página 50 Ednis P. Rocha
  • 51. Objeto Workbook Representa uma pasta de trabalho do Microsoft Excel. Propriedade Workbooks Use Workbooks(índice), onde índice é o número 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 número 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 ativação de uma pasta de trabalho não altera seu número de índice. Todas as pastas de trabalho são incluídas na contagem do índice, mesmo que elas estejam ocultas. A propriedade Name retorna o nome da pasta de trabalho. Você não pode definir o nome usando essa propriedade; se você precisa alterar o nome, use o método 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 = "João Silva" Página 51 Ednis P. Rocha
  • 52. Objeto Worksheet Representa uma planilha O objeto Worksheet é um membro da coleção Worksheets. A coleção Worksheets contém todos os objetos Worksheet em uma pasta de trabalho. Propriedade Worksheets Use Worksheets(índice), onde índice é número 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 número de índice da planilha denota a posição 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 são incluídas na contagem do índice, mesmo quando estão 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 cenários na Plan1. Worksheets("plan1").Protect password:="ahnes", scenarios:=True O objeto Worksheet é também um membro da coleção Sheets. A coleção Sheets contém todas as planilhas da pasta de trabalho (tanto folhas de gráfico 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 método Activate para ativar Plan1, define a orientação da página como modo paisagem e, em seguida, imprime a planilha. Worksheets("plan1").Activate ActiveSheet.PageSetup.Orientation = xlLandscape ActiveSheet.PrintOut Página 52 Ednis P. Rocha
  • 53. Objeto Range Representa uma célula, uma linha, uma coluna, uma seleção de células contendo um ou mais blocos contíguos de células ou um intervalo 3-D. Propriedade Range Use Range(argumento), onde argumento nomeia o intervalo, para retornar um objeto Range representando uma única célula ou um intervalo de células. O exemplo seguinte coloca o valor da célula A1 na célula A5. Worksheets("Plan1").Range("A5").Value = _ Worksheets("Plan1").Range("A1").Value O exemplo seguinte preenche o intervalo A1:H8 com números randômicos definindo a fórmula para cada célula 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 não for uma planilha de trabalho, o método falhará. Use o método Activate para ativar uma planilha antes de usar a propriedade Range sem um qualificador de objeto explícito. Worksheets("plan1").Activate Range("A1:H8").Formula = "=rand()" 'O intervalo está na planilha ativa O exemplo seguinte limpa o conteúdo do intervalo chamado "Critérios". Worksheets(1).Range("critérios").ClearContents Se você usar um argumento de texto para o endereço do intervalo, você terá que especificar o endereço em notação de estilo A1 (você não poderá usar a notação de estilo L1C1). Propriedade Cells Use Cells(linha, coluna) onde linha é o índice da linha e coluna é o índice da coluna, para retornar uma única célula. O exemplo seguinte define o valor da célula A1 como 24. Worksheets(1).Cells(1, 1).Value = 24 O exemplo seguinte define a fórmula para a célula A2. ActiveSheet.Cells(2, 1).Formula = "=sum(b1:b5)" Embora você também possa usar Range("A1") para retornar a célula A1, pode haver ocasiões em que a propriedade Cells seja mais conveniente porque você pode usar uma variável para a linha ou coluna. O exemplo seguinte cria cabeçalhos de coluna e linha na Plan1. Observe que após a planilha ser ativada, a propriedade Cells pode ser usada sem uma declaração explícita de planilha (ela retorna uma célula da planilha ativa). 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 Página 53 Ednis P. Rocha
  • 54. Apesar de você poder usar funções de cadeia de caracteres do Visual Basic para alterar as referências de estilo A1, é muito mais fácil (e é uma prática de programação muito melhor) usar a notação Cells(1, 1). Use expressão.Cells(linha, coluna), onde expressão é uma expressão que retorne um objeto Range, e linha e coluna são relativas ao canto superior esquerdo do intervalo, para retornar parte de um intervalo. O exemplo seguinte define a fórmula para a célula C5. Worksheets(1).Range("c5:c10").Cells(1, 1).Formula = "=rand()" Range e Cells Use Range(célula1, célula2), onde célula1 e célula2 são objetos Range que especificam as células inicial e final, para retornar um objeto Range. O exemplo seguinte define o estilo da linha da borda das células 1:J10. With Worksheets(1) .Range(.Cells(1, 1), .Cells(10, 10)).Borders.LineStyle = xlThick End With Observe o ponto na frente de cada ocorrência da propriedade Cells. O ponto será obrigatório se o resultado da instrução With anterior for aplicado à propriedade Cells ¾ nesse caso, para indicar que as células estão na planilha um (sem o ponto, a propriedade Cells retornaria as células da planilha ativa). Propriedade Offset Use Offset(linha, coluna), onde linha e coluna são os deslocamentos de linha e coluna, para retornar um intervalo em um deslocamento especificado de um outro intervalo. O exemplo seguinte seleciona a célula três linhas abaixo e uma coluna à esquerda da célula do canto superior esquerdo da seleção atual. Você não pode selecionar uma célula que não esteja na planilha ativa, portanto, você precisa ativar primeiro a planilha. Worksheets("plan1").Activate 'não é possível selecionar, a menos que a planilha esteja ativa Selection.Offset(3, 1).Range("a1").Select Método Union Use Union(intervalo1, intervalo2, ...) para retornar intervalos de várias áreas ¾ isto é, intervalos compostos de dois ou mais blocos contíguos de células. O exemplo seguinte cria um objeto definido como a união de intervalos A1:B2 e C3:D4 e, em seguida, seleciona o intervalo definido. Dim i1 As Range, i2 As Range, meuIntervVáriasÁreas As Range Worksheets("plan1").Activate Set i1 = Range("A1:B2") Set i2 = Range("C3:D4") Set meuIntervVáriasÁreas = Union(i1, i2) meuIntervVáriasÁreas.Select Se você trabalha com seleções que contêm mais do que uma área, a propriedade Areas é muito útil. Ela divide uma seleção de várias áreas em objetos Range individuais e, em seguida, retorna os objetos como uma coleção. Você pode usar a propriedade Count na coleção retornada para verificar uma seleção que contenha mais do que uma área, como mostrado no exemplo seguinte. Sub NenhumaSelDeVáriasÁreas() númeroDeÁreasSelecionadas = Selection.Areas.Count If númeroDeÁreasSelecionadas > 1 Then MsgBox "Você não pode executar esse comando " & _ Página 54 Ednis P. Rocha
  • 55. "em seleções de várias áreas" End If End Sub Página 55 Ednis P. Rocha
  • 56. Método InputBox Exibe uma caixa de diálogo para entrada pelo usuário. Retorna as informações inseridas na caixa de diálogo. Sintaxe expressão.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type) expressão: Obrigatória. Uma expressão que retorne um objeto Application. Prompt: String obrigatória. A mensagem a ser exibida na caixa de diálogo. Pode ser uma seqüência, um número, uma data ou um valor Boolean (o Microsoft Excel converte o valor automaticamente para uma String antes dele ser exibido). Title: Variant opcional. O título da caixa de entrada. Se esse argumento for omitido, o título padrão será "Entrada". Default: Variant opcional. Especifica um valor que aparecerá na caixa de texto quando a caixa de diálogo 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 posição x para a caixa de diálogo em relação ao canto superior esquerdo da tela, em pontos. Top: Variant opcional. Especifica uma posição y para a caixa de diálogo em relação 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 botão Ajuda aparecerá na caixa de diálogo. HelpContextId: Variant opcional. O número de identificação do contexto do tópico da Ajuda em HelpFile. Type: Variant opcional. Especifica o tipo de dados retornado. Se esse argumento for omitido, a caixa de diálogo retornará texto. Pode ser um dos valores abaixo ou a soma deles. Valor Significado 0 Uma fórmula 1 Um número 2 Texto (uma seqüência) 4 Um valor lógico (True ou False) 8 Uma referência a células, como um objeto Range 16 Um valor de erro, como #N/D 64 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 números, defina Type como 1 + 2. Comentários Use InputBox para exibir uma caixa de diálogo simples para que você possa inserir informações a serem usadas em uma macro. A caixa de diálogo tem um botão OK e um botão Cancelar. Quando você escolhe o botão OK, InputBox retorna o valor inserido na caixa de diálogo. Quando você clica no botão Cancelar, InputBox retorna False. Quando Type é 0, InputBox retorna a fórmula na forma de texto ¾ por exemplo, "=2*PI()/360". Se houver quaisquer referências na fórmula, elas serão rertornadas como referências de estilo A1. (Use ConvertFormula para fazer a conversão entre estilos de referências). Quando Type é 8, InputBox retorna um objeto Range. Você precisa usar a instrução Set para atribuir o resultado a um objeto Range, como mostrado no exemplo seguinte. Página 56 Ednis P. Rocha
  • 57. Set meuInterv = Application.InputBox(prompt := "Exemplo", type := 8) Se você não usar a instrução Set, a variável será definida com o valor no intervalo em vez do próprio objeto Range. Se você usar o método InputBox para pedir uma fórmula ao usuário, você terá que usar a propriedade FormulaLocal para atribuir a fórmula a um objeto Range. A fórmula de entrada deverá estar no idioma do usuário. O método InputBox difere da função InputBox em permitir validação seletiva da entrada do usuário, e em poder ser usada com objetos, valores de erro e fórmulas do Microsoft Excel. Observe que Application.InputBox chama o método InputBox; InputBox sem qualificador de objeto chama a função InputBox. Exemplo meuNúm = Application.InputBox("Insira um número") Este exemplo pede ao usuário que selecione uma célula em Plan1. Este exemplo usa o argumento Type para assegurar que o valor retornado seja uma referência de célula válida (um objeto Range). Worksheets("Plan1").Activate Set minhaCélula = Application.InputBox( _ prompt:="Selecione uma célula", Type:=8) Página 57 Ednis P. Rocha
  • 58. Função MsgBox Exibe uma mensagem em uma caixa de diálogo, aguarda que o usuário clique em um botão e retorna um Integer que indica qual botão o usuário clicou. Sintaxe MsgBox(prompt[, buttons] [, title] [, helpfile, context]) A sintaxe da função MsgBox possui os argumentos nomeados a seguir: Prompt: Obrigatório. Expressão de seqüência de caracteres exibida como mensagem na caixa de diálogo. O comprimento máximo 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 alimentação de linha (Chr(10)) ou uma combinação de caracteres de retorno de carro e alimentação de linha (Chr(13) & Chr(10)) entre cada linha. Buttons: Opcional. Expressão numérica que é a soma de valores que especifica o número e o tipo de botões a exibir, o estilo de ícone a utilizar, a identidade do botão padrão e a modalidade da caixa de mensagem. Se omitido, o valor padrão para buttons é 0. Title: Opcional. Expressão de seqüência de caracteres exibida na barra de título da caixa de diálogo. Se você omitir title, o nome do aplicativo será inserido na barra de título. Helpfile: Opcional. Expressão de seqüência de caracteres que identifica o arquivo de Ajuda a ser utilizado para fornecer a ajuda sensível ao contexto relativa à caixa de diálogo. Se helpfile for fornecido, context também deverá ser fornecido. Context: Opcional. Expressão numérica que é o número de contexto da Ajuda atribuído ao tópico de Ajuda apropriado pelo autor da Ajuda. Se context for fornecido, helpfile também deverá ser fornecido. Definições As definições do argumento buttons são: Constante Valor Descrição vbOKOnly 0 Exibe somente o botão OK. VbOKCancel 1 Exibe os botões OK e Cancelar. VbAbortRetryIgnore 2 Exibe os botões Abortar, Repetir e Ignorar. VbYesNoCancel 3 Exibe os botões Sim, Não e Cancelar. VbYesNo 4 Exibe os botões Sim e Não. VbRetryCancel 5 Exibe os botões Repetir e Cancelar. VbCritical 16 Exibe o ícone Mensagem crítica. VbQuestion 32 Exibe o ícone Consulta de aviso. VbExclamation 48 Exibe o ícone Mensagem de aviso. VbInformation 64 Exibe o ícone Mensagem de informação. VbDefaultButton1 0 O primeiro botão é o padrão. VbDefaultButton2 256 O segundo botão é o padrão. VbDefaultButton3 512 O terceiro botão é o padrão. VbDefaultButton4 768 O quarto botão é o padrão. VbApplicationModal 0 Janela restrita do aplicativo; o usuário deve responder à caixa de mensagem antes de continuar o trabalho no aplicativo atual. VbSystemModal 4096 Janela restrita do sistema; todos os aplicativos são suspensos até que o usuário responda à caixa de mensagem. O primeiro grupo de valores (0–5) descreve o número e o tipo de botões exibidos na caixa de diálogo; o segundo grupo (16, 32, 48, 64) descreve o estilo de ícone; o terceiro grupo (0, 256, 512) determina qual botão é o padrão e o quarto grupo (0, 4096) determina a modalidade da caixa de mensagem. Página 58 Ednis P. Rocha
  • 59. Quando estiver somando números para criar um valor final para o argumento buttons, utilize somente um número de cada grupo. Observação Estas constantes são especificadas pelo Visual Basic para Aplicativos. Como resultado, os nomes podem ser utilizados em qualquer lugar do seu código em vez dos valores reais. Valores de retorno Constante Valor Descrição vbOK 1 OK vbCancel 2 Cancelar vbAbort 3 Abortar vbRetry 4 Repetir vbIgnore 5 Ignorar vbYes 6 Sim vbNo 7 Não Comentários Quando helpfile e context são fornecidos, o usuário pode pressionar F1 para exibir o tópico da Ajuda correspondente ao context. Alguns aplicativos host, por exemplo, o Microsoft Excel, também adicionam automaticamente um botão Ajuda à caixa de diálogo. Se a caixa de diálogo exibir um botão Cancelar, pressionar a tecla ESC terá o mesmo efeito que clicar em Cancelar. Se a caixa de diálogo contiver um botão Ajuda, será fornecida a ajuda sensível ao contexto relativa à caixa de diálogo. Entretanto, nenhum valor será retornado até que um dos outros botões seja clicado. Observação Para especificar mais do que o primeiro argumento nomeado, você deve utilizar MsgBox em uma expressão. Para omitir algum argumento posicional, você deve incluir o delimitador de vírgula correspondente. Este exemplo utiliza a função MsgBox para exibir uma mensagem de erro crítico em uma caixa de diálogo com os botões Sim e Não. O botão Não é especificado como a resposta padrão. O valor retornado pela função MsgBox depende do botão escolhido pelo usuário. Este exemplo supõe que DEMO.HLP é um arquivo de Ajuda que contém um tópico com um número de contexto da Ajuda igual a 1000. Dim Msg, Estilo, Título, Ajuda, Ctxt, Resposta, MinhaSeqüência Msg = "Deseja continuar?" ' Define a mensagem. Estilo = vbYesNo + vbCritical + vbDefaultButton2 ' Define os botões. Título = "Demonstração de MsgBox" ' Define o título. Ajuda = "DEMO.HLP" ' Define o arquivo de Ajuda. Ctxt = 1000 ' Define o contexto do ' tópico. ' Exibe a mensagem. Resposta = MsgBox(Msg, Estilo, Título, Ajuda, Ctxt) If Resposta = vbYes Then ' O usuário escolheu Sim. MinhaSeqüência = "Sim" ' Executa alguma ação. Else ' O usuário escolheu Não. MinhaSeqüência = "Não" ' Executa alguma ação. End If Como fazer referência a células e intervalos Página 59 Ednis P. Rocha
  • 60. Uma tarefa comum ao usar o Visual Basic é especificar uma célula ou intervalo de células e, em seguida, fazer algo com elas, como inserir uma fórmula ou alterar o formato. Geralmente, você pode fazer isso em uma instrução que identifique o intervalo e também altere uma propriedade ou aplique um método. Um objeto Range no Visual Basic pode ser uma única célula ou um intervalo de células. Os tópicos seguintes mostram as maneiras mais comuns de identificar e trabalhar com objetos Range. Referindo-se a células e intervalos usando notação A1 Você pode referir-se a uma célula ou intervalo de células no estilo de referência A1 usando o método Range. O procedimento Sub seguinte altera o formato das células A1:D5 para negrito. Sub FormatarIntervalo() Workbooks("Pasta1").Sheets("Plan1").Range("A1:D5") _ .Font.Bold = True End Sub A tabela seguinte ilustra algumas referências em estilo A1 usando o método Range. Referência Significado Range("A1") Célula A1 Range("A1:B5") Células de A1 até B5 Range("C5:D9,G9:H16") Uma seleção de várias áreas Range("A:A") Coluna A Range("1:1") Linha um Range("A:C") Colunas de A até C Range("1:5") Linhas de um até cinco Range("1:1,3:3,8:8") Linhas um, três e oito Range("A:A,C:C,F:F") Colunas A, C e F Referindo-se a células usando números de índice Você pode usar a propriedade Cells para referir-se a uma única célula usando números de índice de linha e coluna. Essa propriedade retorna um objeto Range representando uma única célula. No exemplo seguinte, Cells(6,1) retorna a célula 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 através de um intervalo de células porque você pode substituir os números de índice por variáveis, 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 Observação Se você desejar alterar as propriedades ou aplicar um método a todo um intervalo de células de uma só vez, use a propriedade Range. Para obter maiores informações, consulte Referir-se a células usando notação A1. Página 60 Ednis P. Rocha
  • 61. 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 células. 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 referências de linha e coluna usando as propriedades Rows e Columns. Referência Significado Rows(1) Linha um Rows Todas as linhas da planilha Columns(1) Coluna um Columns("A") Coluna um Columns Todas as colunas da planilha Para trabalhar com várias linhas ou colunas ao mesmo tempo, crie uma variável de objeto e use o método Union, combinando várias chamadas à propriedade Rows ou Columns. O exemplo seguinte altera para negrito o formato das linhas um, três e cinco na planilha um da pasta de trabalho ativa. Sub VáriasLinhas() Worksheets("Plan1").Activate Dim minhaUnião As Range Set minhaUnião = Union(Rows(1), Rows(3), Rows(5)) minhaUnião.Font.Bold = True End Sub Referindo-se a células usando notação de atalho Você pode usar o estilo de referência A1 ou um intervalo nomeado entre colchetes com um atalho para a propriedade Range. Você não 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 são mais fáceis de identificar por nome do que por notação A1. Para nomear um intervalo selecionado, clique na caixa de nome na extremidade esquerda da barra de fórmulas, 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() Página 61 Ednis P. Rocha
  • 62. Range("MinhaPasta.xls!MeuIntervalo").Font.Italic = True End Sub O exemplo seguinte se refere ao intervalo específico de planilha chamado "Plan1!Vendas" na pasta de trabalho chamada "Relatório.xls". Sub FormatarVendas() Range("[Relatório.xls]Plan1!Vendas").BorderAround weight:=xlthin End Sub Para selecionar um intervalo nomeado, use o método 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 através de células em um intervalo nomeado O exemplo seguinte faz um loop através de cada célula de um intervalo nomeado usando um loop For Each...Next. Se o valor de qualquer célula do intervalo exceder o valor de limite, a cor da célula 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 células em relação a outras células Uma maneira comum de trabalhar com uma célula em relação a uma outra célula é usar a propriedade Offset. No exemplo seguinte, o conteúdo da célula que se encontra uma linha abaixo e a três colunas da célula ativa na planilha ativa é formatado com sublinhado duplo. Sub Sublinhar() ActiveCell.Offset(1, 3).Font.Underline = xlDouble End Sub Observação Você pode gravar macros que usem a propriedade Offset em vez de referências absolutas. No menu Ferramentas, aponte para Gravar macro e, em seguida, clique em Usar referências relativas. Para fazer um loop através de um intervalo de células, use uma variável com a propriedade Cells em um loop. O exemplo seguinte preenche as 20 primeiras células da terceira coluna com valores entre 5 e 100, incrementados por 5. A variável contador é usada como índice de linha para a propriedade Cells. Página 62 Ednis P. Rocha
  • 63. 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 células usando um objeto Range Quando você define uma variável de objeto para um objeto Range, você pode facilmente manipular o intervalo usando o nome da variável. O procedimento seguinte cria a variável de objeto meuIntervalo e, em seguida, atribui a variável ao intervalo A1:D5 de Plan1 na pasta de trabalho ativa. Instruções subseqüentes modificam propriedades do intervalo substituindo o objeto de intervalo pelo nome da variável. 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 células da planilha Quando você aplica a propriedade Cells a uma planilha sem especificar um número de índice, o método retorna um objeto Range representando todas as células da planilha. O procedimento Sub seguinte limpa o conteúdo de todas as células de Plan1 na pasta de trabalho ativa. Sub LimparPlanilha() Worksheets("Plan1").Cells.ClearContents End Sub Referindo-se a vários intervalos Usando o método apropriado, você pode facilmente referir-se a vários intervalos. Use os métodos 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 vários intervalos com a propriedade Range colocando vírgulas entre duas ou mais referências. O exemplo seguinte limpa o conteúdo dos três 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 fácil ao trabalhar com vários intervalos. O exemplo seguinte funciona quando todos os três intervalos nomeados se encontram na mesma planilha. Sub LimparNomeado() Range("MeuIntervalo, SeuIntervalo, IntervaloDele").ClearContents End Sub Usar o método Union Página 63 Ednis P. Rocha
  • 64. Você pode combinar vários intervalos em um objeto Range usando o método Union. O exemplo seguinte cria um objeto Range chamado meuIntervaloMúltiplo, define-o com os intervalos A1:B2 e C3:D4 e, em seguida, formata com negrito os intervalos combinados. Sub IntervaloMúltiplo() Dim l1, l2, meuIntervaloMúltiplo As Range Set l1 = Sheets("Plan1").Range("A1:B2") Set l2 = Sheets("Plan1").Range("C3:D4") Set meuIntervaloMúltiplo = Union(l1, l2) meuIntervaloMúltiplo.Font.Bold = True End Sub Usar a propriedade Areas Você pode usar a propriedade Areas para referir-se ao intervalo selecionado ou à coleção de intervalos em uma seleção de várias áreas. O procedimento seguinte conta as áreas da seleção. Se houver mais de uma área, uma mensagem de aviso será exibida. Sub LocalizarMúltiplas() If Selection.Areas.Count > 1 Then MsgBox "Não é possível fazer isso com uma seleção múltipla." End If End Sub Página 64 Ednis P. Rocha
  • 65. 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, MinhaSeqüência For Palavras = 10 To 1 Step -1 ' Configura 10 repetições. For Caracteres = 0 To 9 ' Configura 10 repetições. MinhaSeqüência = MinhaSeqüência & Caracteres ' Acrescenta o número à ' seqüência de caracteres. Next Caracteres ' Incrementa o contador MinhaSeqüência = MinhaSeqüência & " " ' Acrescenta um espaço. Next Palavras MsgBox MinhaSeqüência 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 Página 65 Ednis P. Rocha
  • 66. End Sub Dois exemplos de utilização 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 = "Triângulo Equilátero" Else If (A = B) Or (B = C) Or (A = C) Then triangulo = "Triângulo Isósceles" Else triangulo = "Triângulo Escaleno" End If End If Else triangulo = "Estes valores não formam um Triângulo" 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 = "Triângulo Isósceles" End If If ((A < B + C) And (B < A + C) And (C < A + B)) And _ ((A = B) And (A = C)) Then triangulo1 = "Triângulo Equilátero" End If If ((A < B + C) And (B < A + C) And (C < A + B)) And _ ((A <> B) And (B <> C)) Then triangulo1 = "Triângulo Escaleno" End If If Not ((A < B + C) And (B < A + C) And (C < A + B)) Then triangulo1 = "Estes valores não formam um Triângulo" End If End Function Página 66 Ednis P. Rocha
  • 67. Personalizar códigos de formato de hora, número e data Se um formato de número interno não estiver disponível para exibir os dados da maneira que você deseja, crie um formato de número personalizado usando a categoria Personalizado na guia Número (comando Células, menu Formatar). Você cria formatos de número personalizados especificando os códigos de formatação que descrevam como você deseja exibir números, datas, horas ou textos. Especifique até quatro seções de códigos de formatação. As seções, separadas por ponto-e-vírgula, definem os formatos para números positivos, números negativos, valores zero e texto, nessa ordem. Se você especificar apenas duas seções, a primeira será usada para números positivos e zeros, e a segunda será usada para números negativos. Se você especificar uma única seção, todos os números usarão este formato. Se você pular uma seção, inclua o ponto-e-vírgula final desta seção. Formatar datas e horas Formatos para datas e horas Para exibir dias, meses e anos, inclua os códigos de formatação a seguir na seção. Se você usar “m” logo após o código de formatação “h” ou “hh” ou logo antes do código “ss”, o Microsoft Excel exibirá minutos em vez do mês. Para exibir Use este código de formatação Meses como 1-12 m Meses como 01-12 mm Meses como Jan-Dez mmm Meses como Janeiro-Dezembro mmmm Meses como a primeira letra do mês mmmmm Dias como 1-31 d Dias como 01-31 dd Dias como Dom-Sáb ddd Dias como Domingo-Sábado dddd Anos como 00-99 aa Anos como 1900-9999 aaaa Para exibir horas, minutos e segundos, inclua os códigos de formatação a seguir em uma seção. Para exibir Use este código de formatação Horas como 0-23 h Horas como 00-23 hh Minutos como 0-59 m Minutos como 00-59 mm Segundos como 0-59 s Segundos como 00-59 ss Horas como 4 AM h AM/PM Hora como 4:36 pm h:mm am/pm Hora como 4:36:03 p h:mm:ss a/p Tempo decorrido em horas; por exemplo, 25.02 [h]:mm Tempo transcorrido em minutos; por exemplo, 63:46 [mm]:ss Tempo transcorrido em segundos [ss] Frações de um segundo h:mm:ss.00 Se o formato contiver AM ou PM, a hora será baseada no relógio 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 contrário, a hora será baseada no relógio de 24 horas. O "m" ou "mm" deve aparecer logo após o código de formatação "h" ou "hh" ou antes do código "ss", ou o Microsoft Excel exibirá o mês em vez dos minutos. Página 67 Ednis P. Rocha
  • 68. Formatar texto e espaçamento • Para exibir caracteres de texto junto com os números inseridos em uma célula, coloque os caracteres entre aspas (" "), ou preceda-os com uma barra invertida (). Inclua os caracteres na seção apropriada dos códigos de formatação. Por exemplo, digite o formato $0,00 "Crédito";$- 0,00 "Débito" para exibir uma quantia negativa como "R$-125,74 Débito". Um caractere de espaço e os caracteres a seguir são exibidos sem o uso de aspas: $ - + / ( ) : • Se você inserir qualquer um dos símbolos a seguir, uma barra invertida será inserida para você: ! ^ & ` (aspas simples à esquerda) ' (aspas simples à direita) ~ { } = < > • Uma seção de formato de texto, se incluída, é sempre a última seção do formato de número. Inclua o caractere de arroba ( @ ) na seção de texto onde você deseja exibir qualquer texto inserido na célula. Se o caractere @ for omitido na seção de texto, o texto que você inserir não será exibido. Se você desejar exibir sempre os caracteres de texto específicos com o texto inserido, coloque o texto adicional entre aspas duplas (" "); por exemplo, "receita bruta para" @ Se o formato não incluir uma seção de texto, o texto que você inserir não será afetado pelo formato. • Para criar um espaço da largura de um caractere em um formato de número, inclua um sublinhado seguido de um caractere. Por exemplo, quando você coloca um parêntese esquerdo depois de um sublinhado ( _) ), os números positivos são alinhados corretamente com os números negativos colocados entre parênteses. • Para repetir o próximo caractere no formato para preencher a largura da coluna, inclua um asterisco (*) no formato de número. Por exemplo, digite 0*- para incluir o número suficiente de traços após um número para preencher a célula. Página 68 Ednis P. Rocha