Você está na página 1de 178

Copyright 1998 by TREINASOFT BRASIL LTDA. Copyright 1998 by TREINASOFT LTDA. Av. Onze de Junho, 63 (Vila Clementino) Tel.

l.: (11) 5573-4711 CEP 04041-050 So Paulo - SP www.treinasoft.com.br Impresso no Brasil/Printed in Brazil Co-autoria e consultoria tcnica: Alice Mitsuko M. Arai Capa: Alice Mitsuko M. Arai Todos os direitos reservados. Proibida a reproduo, mesmo parcial, por qualquer processo, seja mecnico, eletrnico, fotocpia, gravao, digitalizao ou outros sem prvia autorizao escrita da TreinaSoft Brasil Ltda. A violao dos direitos de autor (Lei n 5.988/73) crime estabelecido pelo artigo 184 do Cdigo Penal. Todas as marcas citadas so propriedade de seus respectivos fabricantes.

CONTEDO
FUNES.....................................................................................................................................................5 FUNES LGICAS .........................................................................................................................................6 SE ...................................................................................................................................................................... 6
FUNES ANINHADAS ................................................................................................................................................... 8
Funo SE + E ........................................................................................................................................................................ 11 Funo E............................................................................................................................................................................ 13 Funo SE + Funo OU ........................................................................................................................................................ 14 Funo OU ........................................................................................................................................................................ 15 Funo SE + Funo ERROS ................................................................................................................................................. 15 Funo ERROS ................................................................................................................................................................. 15

FUNES MATEMTICAS E TRIGONOMTRICAS .................................................................................................. 17 ARRED............................................................................................................................................................. 17 ARREDONDAR.PARA.BAIXO ........................................................................................................................... 18 ARREDONDAR.PARA.CIMA ............................................................................................................................. 20 INT .................................................................................................................................................................. 21 SOMASE .......................................................................................................................................................... 23 SUBTOTAL....................................................................................................................................................... 25 TRUNCAR ........................................................................................................................................................ 29 FUNES FINANCEIRAS ................................................................................................................................. 31 NPER ............................................................................................................................................................... 31 PGTO............................................................................................................................................................... 34 TAXA ............................................................................................................................................................... 37 VF.................................................................................................................................................................... 39 VP ................................................................................................................................................................... 43 FUNES DE ESTATSTICA .............................................................................................................................. 47 CONT.NM ..................................................................................................................................................... 47 CONT.SE.......................................................................................................................................................... 49 CONT.VALORES............................................................................................................................................... 51 CONTAR.VAZIO ............................................................................................................................................... 53 FUNES DE PROCURA E REFERNCIA............................................................................................................... 55 CORRESP ......................................................................................................................................................... 55 NDICE............................................................................................................................................................. 57 PROCV ............................................................................................................................................................ 60 PROCH ............................................................................................................................................................ 64 FUNES DE DATA E HORA ............................................................................................................................ 68 HOJE ............................................................................................................................................................... 68 AGORA ............................................................................................................................................................ 70 DIATRABALHO ................................................................................................................................................ 71 DIATRABALHOTOTAL ...................................................................................................................................... 74 TRABALHANDO COM LISTAS DE DADOS ............................................................................................................. 76 CRIAR TABELA .................................................................................................................................................... 76
INSERIR UMA TABELA .................................................................................................................................................. 76
Dicas...................................................................................................................................................................................... 77

ELEMENTOS DE UMA TABELA ................................................................................................................................ 77


LINHA DE CABEALHO .................................................................................................................................................. 77 LINHAS DE FAIXA ........................................................................................................................................................ 78 COLUNAS CALCULADAS ................................................................................................................................................ 78 LINHA DE TOTAL ......................................................................................................................................................... 78

ALA DE DIMENSIONAMENTO ....................................................................................................................................... 79

FORMATAR DADOS COMO UMA TABELA ................................................................................................................. 79 CONVERTER UMA TABELA EM INTERVALO DE DADOS ................................................................................................ 80
DICAS....................................................................................................................................................................... 80

EXCLUIR TABELA ................................................................................................................................................. 80 EXPORTAR E IMPORTAR DADOS ...................................................................................................................... 81 EXPORTAR DADOS .............................................................................................................................................. 81
EXPORTAR NO FORMATO TXT....................................................................................................................................... 81

IMPORTAR DADOS .............................................................................................................................................. 83


IMPORTAR UM ARQUIVO DE TEXTO CONECTANDO-O .......................................................................................................... 83 IMPORTAR BANCO DE DADOS ........................................................................................................................................ 87

ANLISE, CENRIOS E CONSOLIDAO DE DADOS ............................................................................................... 91 ANLISE DE DADOS ............................................................................................................................................. 91


ANOVA ..................................................................................................................................................................... 92
Anova: fator nico ................................................................................................................................................................ 92 Anova: fator duplo com repetio ........................................................................................................................................ 92 Anova: fator duplo sem repetio ........................................................................................................................................ 93

CORRELAO ............................................................................................................................................................. 93 COVARINCIA ............................................................................................................................................................ 94 ESTATSTICA DESCRITIVA .............................................................................................................................................. 95 AJUSTE EXPONENCIAL .................................................................................................................................................. 95 TESTE-F: DUAS AMOSTRAS PARA VARINCIAS ................................................................................................................... 95 ANLISE DE FOURIER ................................................................................................................................................... 95 HISTOGRAMA ............................................................................................................................................................ 96 MDIA MVEL ........................................................................................................................................................... 96 GERAO DE NMERO ALEATRIO ................................................................................................................................. 97 ORDEM E PERCENTIL ................................................................................................................................................... 97 REGRESSO ............................................................................................................................................................... 97 AMOSTRAGEM ........................................................................................................................................................... 97 TESTE-T:................................................................................................................................................................... 98
Teste-T: duas amostras em par para mdias ........................................................................................................................ 98 Teste-t: duas amostras presumindo varincias equivalentes ............................................................................................... 99 Teste-t: duas amostras presumindo varincias diferentes ................................................................................................... 99

TESTE-Z: DUAS AMOSTRAS PARA MDIAS ...................................................................................................................... 100

CENRIOS ........................................................................................................................................................ 100


GERANDO RELATRIO ............................................................................................................................................... 104

CONSOLIDAO DE DADOS ................................................................................................................................. 106


CONSOLIDAO POR CATEGORIA ................................................................................................................................. 112

INTRODUO AS MACROS E A PROGRAMAO VBA ......................................................................................... 116 AS MACROS E A SEGURANA DO EXCEL ................................................................................................................. 117
EXEMPLO ................................................................................................................................................................ 118 MODOS DE GRAVAO ............................................................................................................................................. 122
Gravao Absoluta .............................................................................................................................................................. 122 Gravao Relativa ............................................................................................................................................................... 123

SALVAR ARQUIVO QUE CONTM MACROS ...................................................................................................................... 124

VBA - CONCEITO .............................................................................................................................................. 125


POR QUE UTILIZAR? .................................................................................................................................................. 126 VANTAGENS DO VBA ................................................................................................................................................ 127 EDITOR DO VISUAL BASIC ........................................................................................................................................... 128

PROGRAMAO VBA ........................................................................................................................................ 130


VARIVEIS ............................................................................................................................................................... 130
Tipos de Variveis ............................................................................................................................................................... 130 Declarando Varivel ............................................................................................................................................................ 132 Abrangncia de uma varivel.............................................................................................................................................. 133

OPERADORES........................................................................................................................................................... 134
Operadores Aritmticos...................................................................................................................................................... 135

Operadores de Comparao ............................................................................................................................................... 135 Operadores Lgicos ............................................................................................................................................................ 136 Operadores de Concatenao ............................................................................................................................................ 136

ESTRUTURAS CONDICIONAIS ....................................................................................................................................... 137


If... Then... Else.................................................................................................................................................................... 137 Select Case .......................................................................................................................................................................... 138

ESTRUTURAS DE REPETIO........................................................................................................................................ 139


Do... Lopp............................................................................................................................................................................ 139 Do While... Lopp .............................................................................................................................................................. 139 Do... Loop While .............................................................................................................................................................. 140 Do Until... Loop ............................................................................................................................................................... 141 Do... Lopp Until ............................................................................................................................................................... 142 For... Next ........................................................................................................................................................................... 143

VBA O MODELO DE OBJETOS DO EXCEL ....................................................................................................... 145 FORMULRIOS PERSONALIZADOS .................................................................................................................. 150 FORMULRIO PARA CADASTRAR DADOS ............................................................................................................... 150
CRIANDO UMA APLICAO NO VBA ............................................................................................................................. 150
Criando a Interface ............................................................................................................................................................. 150 Criando o Cdigo ............................................................................................................................................................. 155 Executando o Formulrio ................................................................................................................................................ 160

APLICATIVOS ............................................................................................................................................ 162 CRIANDO APLICATIVOS ...................................................................................................................................... 162


CRIANDO O BANCO DE DADOS .................................................................................................................................... 162 CRIANDO A INTERFACE DOS FORMULRIOS .................................................................................................................... 163
Configurando as Propriedades dos Controles ..................................................................................................................... 166

DESENVOLVIMENTO DO CDIGO ................................................................................................................................. 169 CRIANDO A INTERFACE NA PLANILHA ............................................................................................................................ 175

PROTEO DO CDIGO ...................................................................................................................................... 177

Material de Aluno - Excel Avanado 2007

FUNES
Veremos como a utilizao das funes do Excel pode facilitar bastante a realizao de clculos em planilhas. Apresentaremos o conceito de funo, bem como a sintaxe bsica para a utilizao de funes. Uma funo uma frmula especial, predefinida, que toma um ou mais valores (os parmetros), executa uma operao e produz um valor ou valores. As funes podem ser usadas isoladamente ou como bloco de construo de outras frmulas. O uso de funes simplifica as planilhas, especialmente aquelas que realizam clculos extensos e complexos. Por exemplo, ao invs de digitar a frmula =A1+A2+A3+A4+...+A200, voc pode usar a funo =SOMA(A1:A200), para calcular a soma das clulas do intervalo entre a clula A1 e a clula A200. Se uma funo aparecer no incio de uma frmula, anteceda-a com um sinal de igual, como em qualquer frmula. Os parnteses informam ao Excel onde os argumentos iniciam e terminam; lembre-se de que no pode haver espao antes ou depois dos parnteses. Os argumentos podem ser nmeros, textos, valores lgicos ou referncias. Para usar uma funo, basta inclu-la nas frmulas da planilha. A seqncia de caracteres usada em uma funo chamada sintaxe. Todas as funes tm basicamente a mesma sintaxe. Se voc no a seguir, o Excel exibir uma mensagem indicando que h um erro na frmula. Seja qual for o tipo de frmula, ao incluir uma funo no incio de uma frmula, inclua um sinal de igual antes da funo. Os argumentos so especificados sempre dentro dos parnteses. Os argumentos podem ser nmeros, texto, valores lgicos, matrizes, valores de erro ou referncias a uma clula ou faixa de clulas. Para que o argumento seja vlido, preciso que ele gere um valor vlido. Algumas funes aceitam argumentos opcionais, no necessrios para que a funo execute os clculos. Os argumentos tambm podem ser constantes ou frmulas. As frmulas podem conter outras funes. Uma funo que tem como argumento outra funo chamada Funo Aninhada. No

Excel, voc pode aninhar at sete nveis de funes em uma frmula . Veremos exemplos
de Funes Aninhadas no decorrer deste material.

Material de Aluno - Excel Avanado 2007

FUNES LGICAS
SE
A funo SE utilizada para fazer testes condicionais de frmulas e valores de clulas. Esta funo retorna o valor definido no parmetro valor_se_verdadeiro se o resultado do teste for verdadeiro ou o valor definido no parmetro valor_se_falso se o resultado do teste for falso.

Sintaxe
=SE(teste_lgico;valor_se_verdadeiro;valor_se_falso) O resultado do teste_lgico determinar o valor devolvido pela funo =SE. Os argumentos valor_se_verdadeiro e valor_se_falso podero ser qualquer valor ou teste lgico. Podem ser encadeadas at sete funes SE como argumentos valor_se_verdadeiro e valor_se_falso para construir testes mais elaborados. Se voc desejar emitir um texto no resultado da condio, o texto deve ser colocado entre aspas. Assim, ao invs de ser executada uma determinada frmula, ser exibido um texto para o usurio.

Exemplo 1

=SE(A1<5;10;20) Se o teste_lgico A1<5 for verdadeiro, ento retornar dentro da clula o valor 10. Se o teste_lgico A1<5 for falso, ento retornar dentro da clula o valor 20. Sendo assim, se por ventura a clula A1 for igual a 3, ento ser retornado o valor 10. Ou, se a clula A1 for igual a 8, ento ser retornado o valor 20.

Material de Aluno - Excel Avanado 2007

Exemplo 2

Neste exemplo, pagaremos uma comisso de 20% a um vendedor se as vendas ultrapassarem R$ 10.000,00, caso contrrio, somente 10%. Na clula B3 consta o total de vendas do ms de Janeiro e em C3 vamos incluir a frmula para calcular o valor da comisso. =SE(B3>10000;B3*10%;B3*5%) ou =SE(B3>10000;B3*0,10;B3*0,05) A funo SE, primeiramente, ir executar o teste lgico, se B3 for maior que 10000. Logo aps vem o primeiro ponto e vrgula ;, onde consta a ao que deve tomar aps o teste seja verdadeiro. Aps o segundo ponto e vrgula ; consta a ao caso o teste seja falso. Agora basta copiar esta frmula at a linha 13. Assim, o resultado final ser este:

Material de Aluno - Excel Avanado 2007

Exemplo 3

=SE(A3<B3;Acima do oramento;OK) Se o teste_lgico A3<B3 for verdadeiro, ento retornar dentro da clula a frase Acima do oramento. Se o teste_lgico A3<B3 for falso, ento retornar dentro da clula a palavra OK.

Funes Aninhadas
Funes Aninhadas quando inserimos mais uma funo dentro da funo j iniciada. Por exemplo, iremos iniciar a funo SE e inserir, novamente, a mesma funo.

Material de Aluno - Excel Avanado 2007

Na coluna C iremos inserir a funo SE, tomando como base os valores da coluna B. Suponhamos que as comisses menores que R$ 750,00, receberam um desconto de 5%. J as comisses menores e iguais a R$ 2.449,99 recebero um desconto de 2,5%. E por fim, as comisses superiores a R$ 2500,00 tero um desconto de R$ 1,5%. Porm, na coluna C no queremos exibir apenas o quanto ser descontando, mas o valor final que o funcionrio receber de sua comisso. Ento, na clula C3 devemos digitar a seguinte frmula: =SE(B3<750;B3*5%;SE(B3<=2449,99;B3*2,5%; B3*1,5%)) Observe que criamos apenas dois testes lgicos, uma vez que temos trs condies. Isto porque, se os valores da coluna B no passarem pelos dois primeiros testes, ento lhe resta estar na terceira condio, que so das comisses superiores a R$ 2.500,00. O resultado ser este:

Material de Aluno - Excel Avanado 2007

10

Para melhorar na apresentao das informaes da coluna C, podemos fazer com que exiba o valor que o funcionrio receber de comisso, com o valor j descontado. Pois, o que temos at o momento apenas o valor descontado. Sendo assim, vamos acrescentar mais algumas informaes na frmula da clula C3, e posteriormente propag-la para as clulas abaixo. Clique na clula C3 e v at a barra de frmulas. Altere a frmula para o modelo a seguir: =SE(B3<750;B3-(B3*5%);SE(B3<=2449,99; B3-(B3*2,5%);B3-(B3*1,5%))) Aps propagar a frmula de C3 para as demais, o resultado final ser este:

Caso queira utilizar a caixa Inserir funo, dever preencher a janela Argumentos da

funo da seguinte forma:

Material de Aluno - Excel Avanado 2007

11

Agora veremos outras formas de aninhar a funo SE.

Funo SE + E
A funo SE com a funo E requer que todos os parmetros da ltima funo mencionada sejam verdadeiros. Considere a planilha a seguir:

O valor do desconto para o plano de sade ser baseado na faixa salarial, conforme descrito na tabela a seguir: Faixa salarial <500 >=500 E <=1000 >1000 Valor do desconto (R$) 50 75 100

Material de Aluno - Excel Avanado 2007

12

Veja que, nesta situao, no temos apenas um teste lgicos. Temos que testar trs possibilidades: salrio menor do que 500 (<500), salrio entre 500 e 1000 (>=500 e <=1000), e salrio maior do que mil (>1000). Na verdade, precisamos fazer apenas dois dos testes lgicos. Testamos se menor do que 500, depois se est entre 500 e 1000. Se nenhum dos dois testes for verdadeiro, significa que o salrio maior do que 1000 e no precisamos fazer o terceiro teste. Esta uma regra geral: O nmero de testes lgicos igual ao

nmero de faixas menos um, ou seja: trs faixas = dois testes lgicos. No
nosso caso temos trs faixas, com isso teremos apenas dois testes lgicos. Outro detalhe importante a ser observado quando temos que testar uma faixa, como por exemplo: >=500 e <=1000. Nessas situaes temos que utilizar a funo E em conjunto com a funo SE. Iremos apresentar a frmula passo a passo e, no final, a frmula completa. Na clula C4 dever ser digitado a seguinte parte da frmula: =SE(B4<500;50 Nessa primeira parte da frmula estamos testando se o salrio da clula B4 menor do que 500. Se for, retornamos um desconto de 50. Aqui est o segredo das funes SE Aninhadas. Observe que o prximo passo testarmos a segunda faixa de valores ( >=500 e <=1000). Para fazer esse teste, abrimos outra funo SE, dentro da funo SE que abrimos no incio da frmula. Observe: Uma funo SE dentro da outra. Alm disso, para testar uma faixa, vamos utilizar uma funo E, dentro da segunda funo SE. Vamos continuao da nossa frmula para entendermos melhor esses conceitos. Inserindo o segundo teste lgico, a nossa funo ficar assim: =SE(B4<500;50;SE(E(B4>=500;B4<=1000);75 Observe que, logo aps a segunda funo SE, abrimos um parntese. Depois, utilizamos a funo E. Dentro da funo E, passamos dois parmetros, que so justamente os testes para a faixa de valores. Aps o 1000, fechamos o parntese da funo E. Observe que no fechamos o parntese da funo SE. Esse um detalhe importante.

Todos os parnteses das funes SE sero fechados no final da frmula.


Por exemplo, se usarmos trs funes SE, no final teremos que fechar trs parnteses. Se voc fechar o parntese da funo SE, no meio da frmula, sero obtidos resultados incorretos. Aps fechar o parntese da funo E, colocamos o valor que deve ser retornado caso o salrio esteja na faixa entre 500 e 1000, no nosso exemplo, 75.

Material de Aluno - Excel Avanado 2007

13

Nota: um dos erros mais comuns no colocar o endereo da clula na hora de fazer os testes. Por exemplo, a frmula a seguir est incorreta. =SE(<500;50;SE(E(>=500;<=1000);75. Nesse caso, colocamos apenas os

operadores de comparao ( >, <, etc). Mas, que deve ser comparado, ou seja, precisamos informar o endereo da clula onde est o valor a ser comparado. Agora vamos finalizar a nossa frmula. Como temos trs faixas somente precisamos fazer dois testes, conforme descrito anteriormente. Como j fizemos dois testes lgicos, basta informar qual o valor deve ser retornado caso os dois primeiros testes falhem, ou seja, qual o valor a ser retornado caso o salrio seja maior do que 1000. Tambm precisamos fechar os parnteses para as funes SE. No nosso exemplo, temos duas funes SE, portanto temos que fechar dois parnteses no final da frmula. Nossa frmula completa ficar assim: =SE(B4<500;50;SE(E(B4>=500;B4<=1000);75;100)) Agora basta copiar esta frmula at a linha 16. Assim, o resultado final ser este:

Funo E A funo E retorna verdadeiro se todos os argumentos forem verdadeiros, e retorna falso se um ou mais argumentos forem falsos. Essa funo muito usada juntamente com a funo SE.

Sintaxe
E(lgico1;lgico2; ...)

Material de Aluno - Excel Avanado 2007

14

- Lgico1; lgico2;...: so de 1 a 30 condies que voc deseja testar e que podem ser verdadeiro ou falso.

Funo SE + Funo OU
A funo SE com a funo OU requer apenas que um dos parmetros da ltima funo mencionada seja verdadeira.

Neste exemplo, pagaremos uma comisso de 30% a um vendedor se a zona for SUL ou NORTE ou LESTE, caso contrrio, somente 5%. Na clula C3 consta o total de vendas do ms e em D3 vamos incluir a frmula para calcular o valor da comisso. =SE(OU(B3=SUL;B3=NORTE;B3=LESTE); C3*30%;C3*5%) ou SE(OU(B3=SUL;B3=NORTE;B3=LESTE); C3*0,30;C3*0,05) Observe bem a colocao dos parnteses e o ponto e vrgula. Nos pontos e vrgula que esto dentro da funo OU so os parmetros do teste lgico. Para que a condio seja verdadeira, qualquer uma das opes serve (SUL, NORTE ou LESTE). A funo OU na frmula est isolado por parntese. Somente depois desta funo que vem o primeiro ponto e vrgula onde constar a opo verdadeira C3*30%, e logo aps, no segundo ponto e vrgula, a opo falsa, C3*5%. Agora basta copiar esta frmula at a linha 13. Assim, o resultado final ser este:

Material de Aluno - Excel Avanado 2007

15

Funo OU A funo OU retorna verdadeiro se qualquer argumento for verdadeiro, e retorna falso se todos os argumentos forem falsos.

Sintaxe
OU(lgico1;lgico2;...) - Lgico1;lgico2,...: so de 1 a 30 condies que voc deseja testar e que podem resultar em verdadeiro ou falso.

Funo SE + Funo ERROS


A funo ERROS tem por funcionalidade indicar erros ou inconsistncias de frmulas. Um exemplo claro disto quando voc faz alguma diviso de um nmero por zero. Tipos de erros que esta funo trata:

- #N/D - #VALOR! - #REF! - #DIV/0! - #NM! - #NOME? - #NULO!


=SE(ERROS(D1/D2);0;D1/D2) Nesta frmula definido que se der algum erro n no teste lgico, D1/D2, a clula que conter a frmula receber o valor 0 (zero). Caso contrrio, ser feito a diviso das clulas D1/D2. Funo ERROS A funo ERROS elimina o problema que temos quando usamos a funo PROCV e este no encontra registros. Quando o PROCV no encontra um

Material de Aluno - Excel Avanado 2007

16

registro, o Excel retorna o smbolo #N/D. Em apenas uma frmula na planilha no seria problema, mas quando h um grande nmero de frmulas na planilha, pode ficar uma poluio visual. Eliminamos isso com o ERROS. Quando aplicamos a funo ERROS em uma frmula que contm o PROCV, o

Excel retorna como verdadeiro quando aparece o #N/D.


Podemos aproveitar isto e usar a funo SE, ou seja, somente faz o clculo se for falso, pois se for verdadeiro, significa que o PROCV no encontrou registro.

Material de Aluno - Excel Avanado 2007

17

FUNES MATEMTICAS E TRIGONOMTRICAS


ARRED

A funo ARRED arredonda o resultado de um clculo para quantas casas for necessrio. Basta incluir na frmula esta funo. Observe como fica a frmula na clula A6 com o ARRED.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo ARRED via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Matemtica e Trigomtrica. No quadro logo abaixo, selecione a funo ARRED. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Material de Aluno - Excel Avanado 2007

18

No campo Nm insira o nmero que deseja arredondar, ou a clula que contm esse nmero. Pode ser tambm um clculo que deseja fazer e ter como resultado um arredondamento. No campo Nm_digitos dever especificar a quantidade de casas que voc deseja. Aps preencher os campos, poder observar uma prvia do resultado na parte inferior da janela. Ao final, clique no boto OK para finalizar a funo.

ARREDONDAR.PARA.BAIXO

A funo ARREDONDAR.PARA.BAIXO funciona como o ARRED, com a diferena de sempre arredondar um nmero para baixo. Observe como fica a frmula na clula A6 com o ARREDONDAR.PARA.BAIXO.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo ARREDONDAR.PARA.BAIXO via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

19

No campo Ou selecione uma categoria selecione a opo Matemtica e Trigomtrica. No quadro logo abaixo, selecione a funo ARREDONDAR.PARA.BAIXO. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

No campo Nm insira o nmero que deseja arredondar para baixo, ou a clula que contm esse nmero. Pode ser tambm um clculo que deseja fazer e ter como resultado um arredondamento. No campo Nm_digitos dever especificar a quantidade de casas que voc deseja arredondar para baixo. Aps preencher os campos, poder observar uma prvia do resultado na parte inferior da janela. Ao final, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

20

ARREDONDAR.PARA.CIMA

A funo ARREDONDAR.PARA.CIMA arredonda um nmero para cima. Observe como fica a frmula na clula A6 com o ARREDONDAR.PARA.CIMA.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo ARREDONDAR.PARA.CIMA via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Matemtica e Trigomtrica. No quadro logo abaixo, selecione a funo ARREDONDAR.PARA.CIMA. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Material de Aluno - Excel Avanado 2007

21

No campo Nm insira o nmero que deseja arredondar para cima, ou a clula que contm esse nmero. Pode ser tambm um clculo que deseja fazer e ter como resultado um arredondamento. No campo Nm_digitos dever especificar a quantidade de casas que voc deseja arredondar para cima. Aps preencher os campos, poder observar uma prvia do resultado na parte inferior da janela. Ao final, clique no boto OK para finalizar a funo.

INT

A funo INT tem o objetivo de retornar o valor inteiro de um nmero, descartando o valor das casas decimais. Se o valor 6,1 ou 6,9 o valor retornado apenas 6. Observe como fica a frmula na clula A6 com o INT.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo INT via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

22

No campo Ou selecione uma categoria selecione a opo Matemtica e Trigomtrica. No quadro logo abaixo, selecione a funo INT. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

No campo Nm insira o nmero que deseja arredondar para baixo, ou a clula que contm esse valor. Pode ser tambm um clculo que deseja fazer e ter como resultado um arredondamento inteiro para baixo. Aps preencher o campo, poder observar uma prvia do resultado na parte inferior da janela. Ao final, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

23

SOMASE

Essa funo procura em uma coluna por determinados valores (por exemplo, procura em uma coluna de Departamento) e, caso encontre o valor procurado, utiliza os valores de outra coluna para ir somando. Por exemplo, em uma planilha de Controle de Gastos, podemos querer somar o total de gastos para todos os funcionrios que esto locados para em um determinado Departamento. Podemos usar a funo SOMASE para, a partir da coluna Departamento (DEPTO), verificar os funcionrios que pertencem a Departamento 1 e somar os respectivos gastos na coluna de Gastos.

Sintaxe
=SOMASE(FAIXA_DE_TESTE;CRITRIO; FAIXA_VALORES_A_SOMAR)

Exemplo:
Se na faixa de B3 a B9 tivermos 3 vezes o valor 1, indicando que o funcionrio do DEPTO 1, e na coluna C, de C3 a C9, tivermos as informaes sobre os gastos, ento: =SOMASE(B3:B9;B12;C3:C9) Retorna a soma dos gastos dos 3 funcionrios DEPTO 1. Em resumo, procura na faixa de B3:B9 pelo valor 1; ao encontrar, desloca-se para a coluna C (onde est o valor dos gastos) e vai somando os valores dos salrios para os funcionrios do DEPTO 1.

Material de Aluno - Excel Avanado 2007

24

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo SOMASE via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Matemtica e Trigomtrica. No quadro logo abaixo, selecione a funo SOMASE. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

No campo Intervalo o intervalo de clulas onde deseja localizar o Critrio. No nosso exemplo, dever especificar o intervalo de B3:B9. No campo Critrios so os critrios na forma de um nmero, expresso ou texto, que define quais clulas sero adicionadas. Por exemplo, os critrios podem ser expressos como 32, >32, "mas", etc. No nosso caso dever especificar o valor 1 ou a clula que contenha esse valor.

Material de Aluno - Excel Avanado 2007

25

No campo Intervalo_soma so as clulas que sero somadas de acordo com o critrio. No nosso caso dever especificar o intervalo de C3:C9. Aps preencher os campos, poder observar uma prvia do resultado na parte inferior da janela. Ao final, clique no boto OK para finalizar a funo.

SUBTOTAL
A funo SUBTOTAL pode ser utilizada para exibir informaes a respeito de um intervalo de clulas. A grande vantagem que ela utiliza apenas as clulas visveis, descartando as que esto ocultas na planilha. =SUBTOTAL(NM_FUNO;REF1;REF2;...) So necessrios dois parmetros. O primeiro, NM_FUNO, corresponde ao nmero da funo a ser executada. Isso se deve ao fato de que a funo SUBTOTAL engloba um total de 11 pequenas funes, a cada qual corresponde um nmero. Segue abaixo a relao das funes e seus nmeros de referncia.

- MDIA - CONT.NM - CONT.VALORES - MAX - MIN - PRODUTO - DESVPAD - DESVPADP - SOMA - VAR
O parmetro valores representa o intervalo de clulas a ser considerado, lembrando que apenas as clulas visveis sero consideradas no clculo.

Exemplo
A tabela abaixo contm as populaes de algumas cidades da regio sudeste do Brasil. Vamos determinar qual a cidade com maior populao dentre as listadas. Para isso, ser necessrio aplicar o recurso Filtro.

Material de Aluno - Excel Avanado 2007

26

Antes de filtrarmos a tabela, necessrio inserir uma linha vazia antes do Subtotal, pois assim no momento da filtragem as linhas abaixo no sero filtradas, possibilitando a visualizao do subtotal e da (soma). Para criar um Filtro, selecione a clula A1 (ou a clula que contm o cabealho dos dados da

planilha), clique na guia Dados, em seguida no boto

Tambm vamos obter o valor da SOMA total de todas as cidades listadas. Para isso, necessrio atribuir o valor 9 ao parmetro NM_FUNO, de acordo com a tabela a seguir:

O parmetro REF1 receber o valor C2:C18, que representa o intervalo das clulas que devem ser consideradas.

Material de Aluno - Excel Avanado 2007

27

Ento, de acordo com o modelo de nossa planilha, dentro da clula C20 dever digitar a frmula: =SUBTOTAL(9;C2:C18) Ao digitar a frmula indicada teremos o subtotal de todas as cidades:

Mas, se considerssemos apenas o estado de Rio de Janeiro (filtrando a coluna Estado), teremos uma nova resposta:

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo SUBTOTAL via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

28

Para tal, o cabealho dos dados da planilha j devem estar com o Filtro ativo, e o cursor posicionado na clula C20 ou em outra que receber a funo SUBTOTAL.

No campo Ou selecione uma categoria selecione a opo Matemtica e Trigomtrica. No quadro logo abaixo, selecione a funo SUBTOTAL. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

No campo Nm_funo o nmero de 1 a 11 (incluindo valores ocultos) que especifica qual funo usar no clculo de subtotais dentro de uma lista. No nosso exemplo, como queremos a soma da populao, ento usaremos o nmero 9. No campo Ref1 so de 1 a 29 intervalos ou referncias para os quais voc deseja o subtotal. No nosso caso dever especificar o intervalo de C2:C18. Aps preencher os campos, poder observar uma prvia do resultado na parte inferior da janela. Ao final, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

29

TRUNCAR

A funo TRUNCAR ignora os dgitos restantes aps a quantidade de casas que voc determinar. Observe como fica a frmula na clula A6 com o TRUNCAR.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo TRUNCAR via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Matemtica e Trigomtrica. No quadro logo abaixo, selecione a funo TRUNCAR. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Material de Aluno - Excel Avanado 2007

30

No campo Nm insira o nmero que deseja truncar, ou a clula que contm esse nmero. Pode ser tambm um clculo que deseja fazer e ter como resultado um valor truncado. No campo Nm_digitos dever especificar a quantidade de casas que voc deseja truncar. Aps preencher os campos, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

31

FUNES FINANCEIRAS
NPER
A funo NPER devolve o nmero de perodos em um investimento ou financiamento, dada uma taxa de juros e cada parcela de pagamento ou recebimento constante.

Sintaxe
=NPER(TAXA;PGTO;VP;VF;TIPO) TAXA a taxa de juros por perodo. PGTO o pagamento feito em cada perodo. No pode mudar durante a vigncia da anuidade. Geralmente, este campo contm o capital e os juros, mas nenhuma outra tarifa ou taxas. VP o valor presente ou atual de uma srie de pagamentos futuros. VF o valor futuro, ou o saldo, que voc deseja obter depois do ltimo pagamento. Se VF for omitido, ser considerado 0 (o valor futuro de um emprstimo, por exemplo, 0). TIPO - o nmero 0 ou 1 e indica as datas de vencimento. Onde o 0 (zero) indica o vencimento no final do perodo (podendo tambm deixar esta opo vazia). E o 1 indica o vencimento no incio do perodo.

Exemplo 1

Aplica-se R$ 50.000,00 a uma taxa de 3,0% ao ms. Sabe-se que o resgate ser de R$ 57.963,70. Qual o perodo pelo qual o capital foi aplicado? Iremos inserir a funo NPER dentro da clula B8, sendo assim, deixe-a seleciona e faa a seguinte digitao: =NPER(B2;;-B4;B5;B6) O nico cuidado que dever tomar no se esquecer de inserir o sinal negativo antes do VP.

Material de Aluno - Excel Avanado 2007

32

Ao final, poder notar que o resultado do nmero de perodo de 5. Ou seja, a funo NPER indica que o capital foi aplicado por um prazo de 5 meses.

Exemplo 2

possvel realizar-se o financiamento de um computador que custa R$ 2.500,00 vista, em parcelas mensais de R$ 283,93, com entrada, a uma taxa de juros de 2,6% ao ms. Em quantas parcelas o computador financiado? Iremos inserir a funo NPER dentro da clula B8, sendo assim, deixe-a seleciona e faa a seguinte digitao: =NPER(B2;B3;-B4;;B6) No esquea de inserir o sinal negativo antes do VP. Ao final, poder notar que o resultado do nmero de perodo de 10.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo NPER via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

33

No campo Ou selecione uma categoria selecione a opo Financeira. No quadro logo abaixo, selecione a funo NPER. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Os campos Taxa, Pgto, Vp, Vf e Tipo so os mesmos mencionados no incio da funo NPER. Os valores preenchidos na caixa de dilogo ilustrada so os dados do Exemplo 2, onde j temos como prvia o resultado final de 10 perodos. Vale lembrar novamente que dentro do campo Vp dever inserir o sinal negativo antecedendo a clula. Aps preencher os campos, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

34

PGTO
A funo PGTO utilizada no clculo de uma srie de pagamentos (ou recebimentos) uniforme. Ela devolve o pagamento ou recebimento peridico de uma anuidade de acordo com as prestaes e com uma taxa de juros constante. Sries uniformes so pagamentos feitos dentro de um prazo determinado. Os pagamentos (ou recebimentos) e os prazos devem ser obrigatoriamente uniformes, ou seja, devem possuir o mesmo valor e ter prazos nos mesmos perodos, sejam estes mensais, anuais ou dirios.

Sintaxe
=PGTO(TAXA;NPER;VP;VF;TIPO) TAXA a taxa de juros por perodo. NPER o nmero total de pagamentos pelo emprstimo. VP o valor presente o valor total presente de uma srie de pagamentos futuros. VF o valor futuro, ou o saldo de caixa, que voc deseja obter depois do ltimo pagamento. Se VF for omitido, ser considerado 0 (o valor futuro de determinado emprstimo, por exemplo, 0). TIPO - o nmero 0 ou 1 e indica as datas de vencimento. Onde o 0 (zero) indica o vencimento no final do perodo (podendo tambm deixar esta opo vazia). E o 1 indica o vencimento no incio do perodo. Nota: O pagamento retornado por PGTO inclui o principal e os juros e no inclui taxas, pagamentos de reserva ou tarifas, s vezes associados a emprstimos. Certifique-se de que esteja sendo consistente quanto s unidades usadas para especificar taxa e NPER. Se fizer pagamentos mensais por um emprstimo de quatro anos com juros de 12% ao ano, utilize 12%/12 para taxa e 4*12 para NPER. Se fizer pagamentos anuais para o mesmo emprstimo, use 12% para taxa e 4 para NPER.

Exemplo

Material de Aluno - Excel Avanado 2007

35

Uma calculadora custa R$ 175,00 vista. Sua compra pode ser parcelada em cinco vezes, com a primeira parcela paga em um ms, por uma taxa de 9% ao ms. Qual ser o valor de cada prestao? Iremos inserir a funo PGTO dentro da clula B8, sendo assim, deixe-a seleciona e faa a seguinte digitao: =PGTO(B2;B3;-B4;;B6) O nico cuidado que dever tomar no se esquecer de inserir o sinal negativo antes do VP. Ao final, poder notar que o resultado de 44,99. Ou seja, a funo PGTO indica que o valor de cada prestao de R$ 44,99.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo PGTO via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Financeira. No quadro logo abaixo, selecione a funo PGTO. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Material de Aluno - Excel Avanado 2007

36

Os campos Taxa, Nper, Vp, Vf e Tipo so os mesmos mencionados no incio da funo PGTO. Os valores preenchidos na caixa de dilogo ilustrada so os dados do exemplo anterior, onde j temos como prvia o resultado final de 44,99. Vale lembrar novamente que dentro do campo Vp dever inserir o sinal negativo antecedendo a clula. Aps preencher os campos, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

37

TAXA
A funo TAXA calcula o custo do dinheiro no tempo (ou seja, a taxa de juros) por um perodo determinado de investimento ou financiamento.

Sintaxe
=TAXA(NPER;PGTO;VP;VF;TIPO) NPER o nmero total de perodos de pagamento em uma anuidade. PGTO o pagamento feito em cada perodo e no pode mudar durante a vigncia da anuidade. Geralmente, PGTO inclui o principal e os juros e nenhuma outra taxa ou tributo. Se PGTO for omitido, voc dever incluir o argumento VF. VP o valor presente o valor total correspondente ao valor atual de uma srie de pagamentos futuros. VF o valor futuro, ou o saldo de caixa, que voc deseja obter depois do ltimo pagamento. Se VF for omitido, ser considerado 0 (o valor futuro de determinado emprstimo, por exemplo, 0). TIPO - o nmero 0 ou 1 e indica as datas de vencimento. Onde o 0 (zero) indica o vencimento no final do perodo (podendo tambm deixar esta opo vazia). E o 1 indica o vencimento no incio do perodo.

Exemplo 1

Aplica-se R$ 25.000,00 durante 10 meses, onde o resgate de R$ 30.000,00. Qual a taxa de juros desta aplicao? Iremos inserir a funo TAXA dentro da clula B8, sendo assim, deixe-a seleciona e faa a seguinte digitao: =TAXA(B2;;-B4;B5;B6)

Material de Aluno - Excel Avanado 2007

38

O nico cuidado que dever tomar no se esquecer de inserir o sinal negativo antes do VP. Ao final, poder notar que o resultado de 1,8399. Ou seja, a funo TAXA indica que a taxa de juros do investimento e de aproximadamente 1,84% ao ms.

Exemplo 2

Uma TV custa R$ 400,00, quando paga vista. Tenho a opo de compr-la em trs parcelas iguais de R$ 145,51. Qual a taxa de juros mensais cobrada nas prestaes, sabendo-se que a primeira parcela ser paga um ms aps a compra (ou seja, que pagamento postecipado)? Iremos inserir a funo TAXA dentro da clula B8, sendo assim, deixe-a seleciona e faa a seguinte digitao: =TAXA(B2;B3;-B4;;B6) O nico cuidado que dever tomar no se esquecer de inserir o sinal negativo antes do VP. Ao final, poder notar que o resultado de 4,5002. Ou seja, a funo TAXA indica que a taxa de juros ao ms cobrada nas prestaes foi de aproximadamente 4,50%.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo TAXA via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

39

No campo Ou selecione uma categoria selecione a opo Financeira. No quadro logo abaixo, selecione a funo TAXA. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Os campos Nper, Pgto, Vp, Vf e Tipo so os mesmos mencionados no incio da funo TAXA. Os valores preenchidos na caixa de dilogo ilustrada so os dados do Exemplo 2, onde j temos como prvia o resultado final de 4,50%. Vale lembrar novamente que dentro do campo Vp dever inserir o sinal negativo antecedendo a clula. Aps preencher os campos, clique no boto OK para finalizar a funo.

VF

Material de Aluno - Excel Avanado 2007

40

A funo VF projeta o valor futuro de um investimento ou financiamento baseado no valor inicial (VP) ou em pagamentos constantes, ambos a uma taxa de juros fixa.

Sintaxe
=VF(TAXA;NPER;PGTO;VP;TIPO) TAXA - a taxa de juros por perodo. NPER o nmero total de perodos de pagamento em uma anuidade. PGTO o pagamento feito em cada perodo e no pode mudar durante a vigncia da anuidade. Geralmente, PGTO contm o capital e os juros e nenhuma outra tarifa ou taxa. Se PGTO for omitido, voc dever incluir o argumento VP. VP o valor presente ou a soma total correspondente ao valor presente de uma srie de pagamentos futuros. Se VP for omitido, ser considerado 0 (zero) e a incluso do argumento PGTO ser obrigatria. TIPO - o nmero 0 ou 1 e indica as datas de vencimento dos pagamentos. Onde o 0 (zero) indica o vencimento no final do perodo (podendo tambm deixar esta opo vazia). E o 1 indica o vencimento no incio do perodo. Nota: Certifique-se de que esteja sendo consistente quanto s unidades usadas para especificar TAXA e NPER. Se fizer pagamentos mensais de um emprstimo de quatro anos com taxa de juros de 12% ao ano, use 12%/12 para TAXA e 4*12 para NPER. Se voc fizer pagamentos anuais para o mesmo emprstimo, use 12% para TAXA e 4 para NPER. Todos os argumentos, saques, tais como depsitos em poupana, sero representados por nmeros negativos; depsitos recebidos, tais como cheques de dividendos, sero representados por nmeros positivos.

Exemplo 1

Pretende-se fazer uma aplicao de R$ 2.800,00 por trs meses, a uma taxa de 2,5% ao ms. Qual o valor de resgate desta aplicao?

Material de Aluno - Excel Avanado 2007

41

Iremos inserir a funo VF dentro da clula B8, sendo assim, deixe-a seleciona e faa a seguinte digitao: =VF(B2;B3;-B5;B6) O nico cuidado que dever tomar no se esquecer de inserir o sinal negativo antes do VP. Ao final, poder notar que o resultado de 3.015,29. Ou seja, a funo VF indica que o valor de resgate da aplicao de R$ 3.015,29.

Exemplo 2

Pretende-se aplicar/poupar R$ 1.600,00 por ms ao longo de seis meses, a uma taxa de 1,8% ao ms. O primeiro depsito ser feito no ato. Qual ser o valor do resgate? Iremos inserir a funo VF dentro da clula B8, sendo assim, deixe-a seleciona e faa a seguinte digitao: =VF(B2;B3;-B4;;B6) O nico cuidado que dever tomar no se esquecer de inserir o sinal negativo antes do PGTO. Ao final, poder notar que o resultado de 10233,27414. Assim, conclumos que o valor resgatado desta aplicao ser de R$ 10.233,27.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo VF via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

42

No campo Ou selecione uma categoria selecione a opo Financeira. No quadro logo abaixo, selecione a funo VF. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Os campos Taxa, Nper, Pgto, Vp e Tipo so os mesmos mencionados no incio da funo VF. Os valores preenchidos na caixa de dilogo ilustrada so os dados do Exemplo 2, onde j temos como prvia o resultado final de R$ 10.233,27. Vale lembrar novamente que dentro do campo Pgto dever inserir o sinal negativo antecedendo a clula. Aps preencher os campos, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

43

VP
A funo VP calcula o valor presente. Ela utilizada quando desejamos saber quanto necessrio investir hoje para que uma aplicao renda determinado valor ao longo de um perodo qualquer, ou qual deve ser o pagamento inicial em uma srie de prestaes uniformes.

Sintaxe
=VP(TAXA;NPER;PGTO;VF;TIPO) TAXA - a taxa de juros por perodo. Por exemplo, se voc obtiver um emprstimo para um carro com uma taxa de juros de 10% ao ano e fizer pagamentos mensais, a sua taxa de juros mensal ser 10%/12, ou 0,83%. Voc deve inserir 10%/12, ou 0,83%, ou 0,0083, na frmula como taxa. NPER o nmero total de perodos de pagamento de uma anuidade. Por exemplo, se voc obtiver um emprstimo de quatro anos e fizer pagamentos mensais, o emprstimo ter 4*12 (ou 48) perodos. Voc deve inserir 48 na frmula para NPER. PGTO o pagamento feito a cada perodo e no pode mudar durante a vigncia da anuidade. Geralmente, PGTO inclui o principal e os juros, e no h outras tarifas ou taxas. Por exemplo, os pagamentos mensais por um emprstimo para o carro de R$ 10.000 de quatro anos a 12% so R$ 263,33. Voc deve inserir -263,33 na frmula como PGTO. Se PGTO for omitido, voc dever incluir o argumento VF. VF o valor futuro, ou um saldo de caixa, que voc deseja obter depois do ltimo pagamento. Se VF for omitido, ser considerado 0 (o valor futuro de determinado emprstimo, por exemplo, 0). Por exemplo, se quiser economizar R$ 50.000 para pagar um projeto especial em 18 anos, ento R$ 50.000 o valor futuro. Voc pode ento calcular a taxa de juros e determinar quanto dever economizar a cada ms. Se VF for omitido, voc dever incluir o argumento PGTO. TIPO - o nmero 0 ou 1 e indica as datas de vencimento. Onde o 0 (zero) indica o vencimento no final do perodo (podendo tambm deixar esta opo vazia). E o 1 indica o vencimento no incio do perodo. Nota: Certifique-se de que esteja sendo consistente quanto s unidades usadas para especificar taxa e NPER. Se fizer pagamentos mensais de um emprstimo de quatro anos com taxa de juros de 12% ao ano, use 12%/12 para taxa e 4*12 para NPER. Se voc fizer pagamentos anuais para o mesmo emprstimo, use 12% para taxa e 4 para NPER.

Material de Aluno - Excel Avanado 2007

44

Exemplo 1

Uma aplicao com durao de seis meses e taxa de 3% ao ms rendeu um resgate de R$ 30.000,00. Desejamos saber qual foi o valor investido. Iremos inserir a funo VP dentro da clula B8, sendo assim, deixe-a seleciona e faa a seguinte digitao: =VP(B2;B3;;-B5;B6) O nico cuidado que dever tomar no se esquecer de inserir o sinal negativo antes do VF. Ao final, poder notar que o resultado de 25.124,5277. Ou seja, a funo VP indica que o valor aplicado que rende R$ 30.000,00 nas condies descritas R$ 25.124,53.

Exemplo 2

O financiamento de um carro feito em doze parcelas iguais de R$ 1.074,53, a uma taxa de juros de 5% ao ms, sem entrada. Qual o preo vista do veculo? Iremos inserir a funo VP dentro da clula B8, sendo assim, deixe-a seleciona e faa a seguinte digitao:

Material de Aluno - Excel Avanado 2007

45 =VF(B2;B3;-B4;;B6)

O nico cuidado que dever tomar no se esquecer de inserir o sinal negativo antes do PGTO. Ao final, poder notar que o resultado de 9523,829781. De forma, o valor vista do carro ser de R$ 9.523,83.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo VP via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Financeira. No quadro logo abaixo, selecione a funo VP. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Material de Aluno - Excel Avanado 2007

46

Os campos Taxa, Nper, Pgto, Vf e Tipo so os mesmos mencionados no incio da funo VP. Os valores preenchidos na caixa de dilogo ilustrada so os dados do Exemplo 2, onde j temos como prvia o resultado final de R$ 9.523,83. Vale lembrar novamente que dentro do campo Pgto dever inserir o sinal negativo antecedendo a clula. Aps preencher os campos, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

47

FUNES DE ESTATSTICA
CONT.NM
A funo CONT.NM realiza uma contagem especfica, contando apenas as clulas que contenham valores numricos, incluindo frmulas, e desconsiderando as clulas que contenham algum tipo de argumento de texto ou informaes.

Sintaxe
=CONT.NM(INTERVALO) Onde INTERVALO so as clulas que sero contadas.

Exemplo

Ento, de acordo com o modelo da planilha, vamos aplicar a funo CONT.NM na clula

B13, sendo assim, deixe-a seleciona e faa a seguinte digitao:


=CONT.NM(A2:C11) Veja que o resultado obtido 18. Note que realizada a contagem das clulas que contm apenas valores numricos. Observe que as clulas que esto em cinza no foram contadas, pois no possuem valor numrico.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo CONT.NM via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

48

No campo Ou selecione uma categoria selecione a opo Estatstica. No quadro logo abaixo, selecione a funo CONT.NM. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Os campos Valor1, Valor2, so argumentos de 1 a 30 que contm ou se referem a uma variedade de diferentes tipos de dados, mas somente os nmeros so contados. Utilizando os dados da planilha de exemplo iremos preencher apenas o campo Valor1 com o intervalo de A2:C11. Aps preencher o campo, poder observar uma prvia do resultado na parte inferior da janela. Ao final, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

49

CONT.SE
A funo CONT.SE tem como objetivo contar quantas clulas fazem parte de um critrio especificado. Pode-se contar qualquer tipo de clula: data, texto ou valores. Contanto que a condio seja digitada com o mesmo tipo.

Sintaxe
=CONT.SE(INTERVALO;CRITRIO) INTERVALO identifica as clulas cujos valores sero contados, dependendo da condio informada. Pode ser uma faixa de mais de uma linha e/ou mais de uma coluna. CRITRIO uma comparao lgica usando valor do tipo dos valores da faixa de clulas. Pode usar as condies de =, >, <, >=, <= e <>. importante digitar o critrio entre aspas, mas tambm pode ser identificada dentro de uma clula.

Exemplo

Ento, de acordo com o modelo desta planilha, vamos aplicar a funo CONT.SE na clula D8. Saiba que o INTERVALO ser de A3:B14, e a CRITRIO ser >70000. Assim, ser realizada a contagem somente dos valores que obedecem a critrio. Para facilitar, as clulas com valores superiores a 70.000 esto identificados em negrito. Sendo assim, selecione a clula D8 e faa a seguinte digitao: =CONT.SE(A3:B14;>70000) Veja que o resultado obtido 4, justamente a quantidade de clulas com valores numricos destacados em vermelho.

Material de Aluno - Excel Avanado 2007

50

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo CONT.SE via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Estatstica. No quadro logo abaixo, selecione a funo CONT.SE. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Os campos Intervalo e Critrios so os mesmos mencionados no incio da funo CONT.SE. Os valores preenchidos na janela acima so os dados da planilha modelo, onde j temos como prvia o resultado final de 4. Aps preencher o campo, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

51

CONT.VALORES
A funo CONT.VALORES realiza uma contagem de clulas com argumentos, onde considerado qualquer contedo: textos, valores numricos, informaes, frmulas e etc, onde apenas as clulas que estiverem vazias no sero consideradas no momento da contagem.

Sintaxe
= CONT.VALORES(VALOR1;VALOR2;...) VALOR1, VALOR2,... o intervalo de clulas.

Exemplo

Ento, de acordo com o modelo desta planilha, vamos aplicar a funo CONT.VALORES na clula B8. Saiba que o intervalo de clulas ser de A1:B6. Assim, sero contadas todas as clulas do intervalo que contenham algum tipo de argumento, anulando apenas a clula B5, pois ela est vazia e no contada, desta forma ser obtido um resultado de 10 clulas com contedo. Sendo assim, selecione a clula B8 e faa a seguinte digitao: = CONT.VALORES(A1:B6) Veja que o resultado obtido 10, justamente a quantidade de clulas com valores numricos destacados em vermelho.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo CONT.VALORES via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

52

No campo Ou selecione uma categoria selecione a opo Estatstica. No quadro logo abaixo, selecione a funo CONT.VALORES. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Os campos Valor1 e Valor2 so os mesmos mencionados no incio da funo CONT.VALORES. O intervalo de clulas preenchido na janela acima relacionado ao modelo da planilha anterior, onde j temos como prvia o resultado final de 10. Aps preencher o campo, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

53

CONTAR.VAZIO
A funo CONTAR.VAZIO tem como finalidade contar dentro de um intervalo apenas a quantidade de clulas que no tem nenhum tipo de dado inserido, ou seja, as clulas que no possuem: textos, valores numricos e informaes. Nota: As clulas com frmulas que retornem valores vazios tambm so contadas.

Sintaxe
= CONTAR.VAZIO(INTERVALO) INTERVALO o intervalo no qual se deseja contar as clulas em branco.

Exemplo

Ento, de acordo com o modelo desta planilha, vamos aplicar a funo CONTAR.VAZIO na clula B18. Saiba que o intervalo de clulas ser de A4:B16. Assim, ser contato o nmero de vendedores que ainda no fizeram pedido de produtos. Sendo assim, selecione a clula B18 e faa a seguinte digitao: = CONTAR.VAZIO(A4:B16) Veja que o resultado obtido 3, justamente a quantidade de clulas vazias que compem o intervalo de clulas especificado.

Material de Aluno - Excel Avanado 2007

54

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo CONTAR.VAZIO via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Estatstica. No quadro logo abaixo, selecione a funo CONTAR.VAZIO. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

O campo Intervalo o mesmo campo mencionado no incio da funo CONTAR.VAZIO. O intervalo de clulas preenchido na janela acima relacionado ao modelo da planilha anterior, onde j temos como prvia o resultado final de 3. Aps preencher o campo, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

55

FUNES DE PROCURA E REFERNCIA


CORRESP
A funo CORRESP localiza um valor e retorna a posio desse valor na lista procurada. A lista pesquisada pela CORRESP deve conter uma linha ou uma coluna somente. Essa funo utilizada sozinha no tem muita utilidade, porm junto a outras funes de procura ela se torna muito til. Algumas funes at necessitam dela para ganhar agilidade.

Sintaxe
= CORRESP(valor_procurado;matriz_produrado; tipo_correspondncia) valor_procurado o item pesquisado pela funo, podendo ser um nmero, texto ou valor lgico. matriz_procurado o intervalo (somente uma linha ou coluna), onde ser feita a pesquisa. tipo_correspondncia informa se a pesquisa deve ser exata ou por aproximao. Os tipos possveis so: Quando for 1 ser realizado uma busca do valor_procurado, caso no seja encontrado retorna o valor mais prximo do menor. Quando for 0 (zero) ser realizado uma busca exata de valor_procurado. Quando for -1 ser realizado uma busca do valor_procurado, caso no seja encontrado retorna o valor mais prximo maior.

Exemplo 1

Na planilha a seguir a frmula digitada mostra que na clula B4, o resultado ser 2, pois a pesquisa est sendo realizada no intervalo de A1:D1, onde o valor_procurado 25, mas veja que o tipo_correspondncia 1, uma vez que 25 no est no intervalo procurado, com isso retorna o valor mais prximo menor, que no caso o nmero 20, que est na posio 2.

Material de Aluno - Excel Avanado 2007

56

Exemplo 2

Nesta nova planilha h uma lista de nomes, onde cada nome possui um cdigo (na coluna A) e o nmero do departamento do funcionrio (na coluna C). Na clula C21 foi aplicado a funo CORRESP para procurar o nmero do departamento (DEPTO) a partir de um nome especificado (na clula B21). A frmula utilizada foi: =CORRESP(A21;B3:B18;0) Onde A21 contm o nome que queremos buscar. Em seguida temos o intervalo de clulas (B3:B18) onde a funo dever localizar o nome. E por fim, o valor 0 (zero) para que a procura nos traga a busca exato. O resultado 12, pois o nome especificado est nesta posio dentro do intervalo de clulas mencionado.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo CORRESP via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

57

No campo Ou selecione uma categoria selecione a opo Procura e referncia. No quadro logo abaixo, selecione a funo CORRESP. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Os campos Valor_procurado, Matriz_procurado e Tipo_correspondncia, so os mesmos mencionados no incio da funo CORRESP. Os dados inseridos nesta janela correspondem ao ltimo exemplo, onde j temos como prvia o resultado final de 12. Aps preencher o campo, clique no boto OK para finalizar a funo.

NDICE
NDICE uma funo de procura. A grande vantagem desta funo em relao a outras funes de Procura e referncia como a PROCV e PROCH que ela no fica limitada a busca em uma s direo na tabela em relao ao valor procurado, ela permite buscar o item em qualquer direo. Esta funo pode apresentar-se de duas formas diferentes:

- Forma de Matriz

Material de Aluno - Excel Avanado 2007

58

- Forma de Referncia
Ao chamar a funo NDICE pela caixa de dilogo Inserir Funo, voc ter que escolher qual das duas formas ir utilizar:

A diferena basicamente entre as duas formas que na forma MATRIZ voc poder ter somente uma lista de dados e na forma REFERNCIA voc poder ter duas ou mais lista de dados separadamente. Neste texto voc conhecer a funo NDICE utilizando a forma

MATRIZ.

Sintaxe NDICE(Forma MATRIZ)


= NDICE(MATRIZ;NM_LINHA;NM_COLUNA) MATRIZ um intervalo, ou seja, a lista de valores onde ser feita a busca. NM_LINHA seleciona a linha na matriz a partir da qual um valor dever ser retornado. Se NM_LINHA for omitido, NM_COLUNA obrigatrio. NM_COLUNA seleciona a coluna na matriz a partir da qual um valor dever ser retornado. Se NM_COLUNA for omitido, NM_LINHA obrigatrio.

Caso 1: Se os argumentos NM_LINHA e NM_COLUNA forem usados, NDICE retornar


o valor contido na clula que estiver no ponto de interseo entre NM_LINHA e NM_COLUNA.

Caso 2: Se a matriz contiver apenas uma linha ou coluna, o argumento NM_LINHA ou


NM_COLUNA correspondente opcional.

Caso 3: Se a matriz tiver mais de uma linha e mais de uma coluna e apenas NM_LINHA
ou NM_COLUNA for usado, NDICE retornar uma matriz referente linha ou coluna inteira da matriz.

Caso 4: Se voc definir NM_LINHA ou NM_COLUNA como 0 (zero), NDICE retornar a


matriz de valores referente coluna ou linha inteira, respectivamente.

Exemplo

Material de Aluno - Excel Avanado 2007

59

Nesta planilha temos uma simples tabela de preos, onde iremos aplicar a funo NDICE, utilizando o Caso 1 citado, pois iremos trabalhar com a interseo entre a linha e coluna informada na planilha. A clula D14 a que estar recebendo a funo NDICE, sendo assim, selecione-a e digite: =NDICE(C4:D9;D11;D12) O resultado R$ 120,00, pois se d na interseo entre a linha 4 e coluna 2.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo NDICE via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

60

No campo Ou selecione uma categoria selecione a opo Procura e referncia. No quadro logo abaixo, selecione a funo NDICE. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Em seguida ativa a janela Selecionar argumentos, onde devemos deixar seleciona a primeira linha, para assim, executar a funo NDICE via matriz:

Clique no boto OK da janela e veja que surge a outra janela, Argumentos da funo:

Os campos Matriz, Nm_linha e Nm_coluna, so os mesmos mencionados no incio da funo NDICE. Os dados inseridos nesta janela correspondem ao ltimo exemplo, onde j temos como prvia o resultado final de R$ 1.200,00. Aps preencher o campo, clique no boto OK para finalizar a funo.

PROCV
De acordo com a condio a ser empregada numa frmula, e a quantidade de retornos, a funo SE poder ficar muito grande ou at impossvel de ser utilizada. Podemos utilizar 7 funes SE dentro da mesma frmula. A funo PROCV, como no depende de uma condio dentro da frmula, pode ter vrias condies de igualdade ou de faixas de valores para retornar quantos valores quiser. Isso s possvel porque a funo PROCV utiliza uma matriz digitada dentro da prpria planilha para retornar os valores.

Material de Aluno - Excel Avanado 2007

61

A funo PROCV significa PROCURA VERTICAL, onde a clula definida com um valor pesquisar na primeira coluna da matriz uma comparao e, se encontrar, retornar o valor de outra coluna da matriz.

Sintaxe
=PROCV(VALOR_PROCURADO;MATRIZ_TABELA; NM_NDICE_COLUNA;PROCURAR_INTERVALO) Onde: VALOR_PROCURADO texto. MATRIZ_TABELA - a tabela de informaes em que os dados so procurados. Use uma referncia para um intervalo ou nome de intervalo, tal como Banco de dados ou Lista. Se PROCURAR_INTERVALO: for - o valor a ser localizado na primeira coluna da matriz.

VALOR_PROCURADO pode ser um valor, uma referncia ou uma seqncia de caracteres de

VERDADEIRO,

os

valores

na

primeira

coluna

de

MATRIZ_TABELA devero ser colocados em ordem ascendente: ..., -2, -1, 0, 1, 2, ... , A-Z, FALSO, VERDADEIRO; caso contrrio, PROCV pode no retornar o valor correto. Se PROCURAR_INTERVALO for FALSO, MATRIZ_TABELA no precisar ser ordenada. Voc pode colocar os valores em ordem ascendente escolhendo o comando Classificar no menu Dados e selecionando Crescente. Os valores na primeira coluna de MATRIZ_TABELA podem ser texto, nmeros ou valores lgicos. Textos em maisculas e minsculas so equivalentes. NM_NDICE_COLUNA - o nmero da coluna em MATRIZ_TABELA a partir do qual o valor correspondente deve ser retornado. Um NM_NDICE_COLUNA de 1 retornar o valor na primeira coluna em MATRIZ_TABELA; um NM_NDICE_COLUNA de 2 retornar o valor na segunda coluna em MATRIZ_TABELA, e assim por diante. Se NM_NDICE_COLUNA for menor do que 1, PROCV retornar o valor de erro #VALOR!; se NM_NDICE_COLUNA for maior do que o nmero de colunas em MATRIZ_TABELA, PROCV retornar o valor de erro #REF!. PROCURAR_INTERVALO - a preciso da pesquisa, podendo ser exata ou por aproximao do valor desejado. Sendo que:

- Busca exata = 0
- Busca aproximada = 1 Nota: O VALOR_PROCURADO deve estar na primeira coluna ou na primeira linha do intervalo, caso contrrio a pesquisa conter erro. Se PROCV no ela localizar usar VALOR_PROCURADO o maior valor que e for PROCURAR_INTERVALO menor do que ou igual for a

VERDADEIRO,

VALOR_PROCURADO.

Material de Aluno - Excel Avanado 2007

62

Se VALOR_PROCURADO for menor do que o menor valor na primeira coluna de MATRIZ_TABELA, PROCV fornecer o valor de erro #N/D. Se PROCV no localizar VALOR_PROCURADO e PROCURAR_INTERVALO for FALSO, PROCV fornecer o valor #N/D.

Exemplo
Vamos aplicar a funo PROCV na clula C14, onde avaliar a clula C13, e assim ir procurar este valor na primeira coluna do intervalo B3:E11. E ao encontr-lo retornar o valor da coluna 4 (Valor) correspondente a ele.

A ilustrao a seguir exibe o passo a passo de como executada a funo PROCV:

Sendo assim, na clula C14 dever digitar a seguinte frmula: =PROCV(C13;B3:E11;4;0) Observe que:

Material de Aluno - Excel Avanado 2007 VALOR_PROCURADO a clula C13. MATRIZ_TABELA o intervalo de B3:E11.

63

NM_NDICE_COLUNA 4, pois veja que o intervalo comea na coluna B, sendo que os valores a serem retornados esto na coluna E, ou seja, a coluna 4. PROCURAR_INTERVALO 0 (zero), pois queremos o valor exato da pesquisa. O resultado j esperado R$ 13.600,00.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo PROCV via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Procura e referncia. No quadro logo abaixo, selecione a funo PROCV. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. veja que surge a janela Argumentos da funo:

Material de Aluno - Excel Avanado 2007

64

Os

campos

Valor_procurado,

Matriz_tabela,

Nm_indice_coluna

Procurar_intervalo, so os mesmos mencionados no incio da funo PROCV.


Os dados inseridos nesta janela correspondem ao ltimo exemplo, onde j temos como prvia o resultado final de R$ 13.600,00. Aps preencher o campo, clique no boto OK para finalizar a funo.

PROCH
A funo PROCH significa PROCURAR HORIZONTAL. Assim, localiza um valor especfico na linha superior de uma tabela ou matriz de valores e retorna um valor na mesma coluna de uma linha especificada na tabela ou matriz. Use PROCH quando seus valores de comparao estiverem localizados em uma linha ao longo da parte superior de uma tabela de dados e voc quiser observar um nmero especfico de linhas mais abaixo. Use PROCV quando os valores de comparao estiverem em uma coluna esquerda dos dados que voc deseja localizar.

Sintaxe
=PROCV(VALOR_PROCURADO;MATRIZ_TABELA; NM_NDICE_LIN;PROCURAR_INTERVALO) Onde: VALOR_PROCURADO texto. MATRIZ_TABELA - uma tabela de informaes onde os dados devem ser procurados. Use uma referncia para um intervalo ou um nome de intervalo. Os valores na primeira linha de MATRIZ_TABELA podem ser texto, nmeros ou valores lgicos. NM_NDICE_LIN - o nmero da linha em MATRIZ_TABELA de onde o valor correspondente deve ser retirado. Um NM_NDICE_LIN equivalente a 1 retorna o valor da o valor a ser localizado na primeira linha da tabela.

VALOR_PROCURADO pode ser um valor, uma referncia ou uma seqncia de caracteres de

Material de Aluno - Excel Avanado 2007

65

primeira linha na MATRIZ_TABELA, um NM_NDICE_LIN equivalente a 2 retorna o valor da segunda linha na MATRIZ_TABELA, e assim por diante. Se NM_NDICE_LIN for menor do que 1, PROCH retornar o valor de erro #VALOR!; se NM_NDICE_LIN for maior do que o nmero de linhas na MATRIZ_TABELA, PROCH retornar o valor de erro

#REF!.
PROCURAR_INTERVALO - a preciso da pesquisa, podendo ser exata ou por aproximao do valor desejado. Sendo que:

- Busca exata = 0
- Busca aproximada = 1 Nota: Se PROCH no localizar VALOR_PROCURADO, e PROCURAR_INTERVALO for

VERDADEIRO, ela usar o maior valor que menor do que o VALOR_PROCURADO.


Se o VALOR_PROCURADO for menor do que o menor valor na primeira linha de MATRIZ_TABELA, PROCH retornar o valor de erro #N/D.

Exemplo
Vamos aplicar a funo PROCH na clula C12, onde ela ir avaliar a clula C11, e assim procurar este valor no intervalo B2:F9, e ao encontr-lo ir retornar o valor da linha 8 (Total) correspondente a ele.

A ilustrao a seguir exibe o passo a passo de como executada a funo PROCH:

Material de Aluno - Excel Avanado 2007

66

Sendo assim, na clula B12 dever digitar a seguinte frmula: =PROCH(C11;B2:F9;8;0) Observe que: VALOR_PROCURADO a clula C11. MATRIZ_TABELA o intervalo de B2:F9. NM_NDICE_LIN 8, pois o intervalo comea na linha 2, e os valores a serem retornados esto na linha 9 (Total). PROCURAR_INTERVALO 0 (zero), pois queremos o valor exato da pesquisa. O resultado j esperado 27.740.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo PROCH via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

67

No campo Ou selecione uma categoria selecione a opo Procura e referncia. No quadro logo abaixo, selecione a funo PROCH. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. veja que surge a janela Argumentos da funo:

Os

campos

Valor_procurado,

Matriz_tabela,

Nm_indice_lin

Procurar_intervalo, so os mesmos mencionados no incio da funo PROCH.


Os dados inseridos nesta janela correspondem ao ltimo exemplo, onde j temos como prvia o resultado final de 27.740. Aps preencher o campo, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

68

FUNES DE DATA E HORA


HOJE
Pertencente ao conjunto de funes relacionadas a datas, ao usar a funo HOJE esta retorna a data atual, sempre que uma pasta de trabalho aberta ou a clula que contenha a funo recalculada. O resultado desta funo pode ser apresentado de duas maneiras: - No formato data tradicional dd/mm/aaaa; - Como um nmero de srie, que o formato numrico pelo qual o Excel armazena informaes de datas. Por exemplo, o nmero de srie 1 corresponde a data 1/1/1900. Seguindo esta lgica, cada dia que se passar depois desta data ser somado o valor correspondente a este perodo ao nmero de srie. Dessa maneira, a data 22/05/2005 resultar no nmero 38494, o que significa uma data 38493 dias aps 01/01/1900. importante ressaltar que estes diferentes formatos para os resultados de datas ocorrem de acordo com o tipo de formatao que voc atribuir s clulas (Geral, Nmero ou Data).

Sintaxe
=HOJE() Ao contrrio da maioria das funes do Excel, esta funo no requer argumentos, exigindo apenas os parnteses de abertura e fechamento.

Exemplo

No modelo desta planilha iremos calcular o tempo de trabalho, desde a data de contratao at o dia de hoje. Para isto, iremos utilizar a funo HOJE. Na clula C4 dever digitar: =HOJE()-B4 Em seguida, propague esta frmula para as clulas abaixo, tendo como resultado final o modelo a seguir:

Material de Aluno - Excel Avanado 2007

69

Como queramos calcular o tempo de trabalho, ento os dados da coluna C devero estar formatados na categoria Geral.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo HOJE via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Data e hora. No quadro logo abaixo, selecione a funo HOJE. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Por ser uma funo voltil, ela no possui argumentos. Sendo assim, basta dar um clique no boto OK para inserir esta funo na clula selecionada.

Material de Aluno - Excel Avanado 2007

70

AGORA
Funo similar funo HOJE com a diferena de que alm de retornar a data atual tambm retorna e a hora atual. O resultado desta funo poder vir no formato padro de data (dd/mm/aaaa); ou ento vir no formato de um nmero de srie seqencial que como o Excel armazena os dados de data. No caso destes nmeros de srie seqenciais, o Excel assume por definio a data 01/01/1900 como o nmero 1 e a data 01/01/2007 como 39083, pois a data correspondente ao nmero de dias decorridos desde o marco inicial (01/01/1900). Como a funo AGORA tambm trabalha com horas, estas informaes para o formato de nmero de srie seqencial estar posicionado direita da vrgula decimal.

Sintaxe
=AGORA() Da mesma forma que a funo HOJE, esta funo tambm no necessita de argumentos entre os parnteses, bastando digitar a sintaxe acima.

Exemplo

Na clula B4, do modelo da planilha acima, contm a funo AGORA. Onde nesta clula foi digitado apenas: =AGORA()

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo AGORA via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

71

No campo Ou selecione uma categoria selecione a opo Data e hora. No quadro logo abaixo, selecione a funo AGORA. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. Observe que foi ativada a janela Argumentos da funo:

Por ser uma funo voltil, ela no possui argumentos. Sendo assim, basta dar um clique no boto OK para inserir esta funo na clula selecionada.

DIATRABALHO
Por meio dessa funo pode-se calcular datas futuras ou passadas com base em uma quantidade de dias teis desejados. Os dias teis excluem fins de semana e quaisquer datas identificadas como feriados.

Sintaxe
=DIATRABALHO(data_inicial;data_final; feriados) Data_inicial - a data inicial das contagens de dias teis naquele perodo. Dias - o total de dias teis a contar antes ou depois da Data_inicial.

Material de Aluno - Excel Avanado 2007

72

Feriados - uma lista de datas que no devem ser consideradas dias teis pela funo. Nota: Esta funo s estar disponvel se o suplemento do Excel Ferramenta de anlise estiver instalado e ativado, caso contrrio no ser possvel aplicar a funo DIATRABALHO:

Exemplo

A planilha sugerida contm informaes sobre solicitaes de produtos. A coluna Dt. Pedido informa a data que o pedido do produto foi realizado. Na coluna Dias teis e o prazo em dias que o produto ser entregue. Porm devemos considerar os feriados, sendo assim, iremos utilizar a funo DIATRABALHO para encontrarmos a data do ltimo dia til. Ento, selecione a clula D2 e faa a seguinte digitao: =DIATRABALHO(A2;B2;C2) Propague a frmula digitada nas clulas abaixo. Veja que o resultado este:

No se esquea de formatar as clulas que contm datas para o formato dd/mm/aaaa.

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo DIATRABALHO via caixa de dilogo.

Material de Aluno - Excel Avanado 2007

73

No campo Ou selecione uma categoria selecione a opo Data e hora. No quadro logo abaixo, selecione a funo DIATRABALHO. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. veja que surge a janela Argumentos da funo:

Os campos Data_inicial, Dias e Feriados, so os mesmos mencionados no incio da funo DIATRABALHO. Aps preencher os campos, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

74

DIATRABALHOTOTAL
Essa funo calcula o nmero de dias teis inteiros entre datas, excluindo os finais de semana e os feriados que foram definidos pelo usurio.

Sintaxe
=DIATRABALHOTOTAL(data_inicial;data_final; feriados) Data_inicial e Data_final - o perodo que ser utilizado para calcular o total de dias teis. Feriados - um intervalo opcional de uma ou mais datas a excluir de um calendrio de trabalho, como, por exemplo, os feriados nacionais e municipais, e os feriados mveis. Nota: Esta funo s estar disponvel se o suplemento do Excel Ferramenta de anlise estiver instalado e ativado, caso contrrio no ser possvel aplicar a funo

DIATRABALHOTOTAL:

Exemplo

Considerando o modelo desta planilha, devemos calcular a quantidade de dias teis de trabalho. Sendo assim, selecione a clula D2 e faa a seguinte digitao: =DIATRABALHOTOTAL(A2;B2;C2) Propague a frmula digitada nas clulas abaixo. Veja que o resultado este:

No se esquea de formatar as clulas que contm datas para o formato dd/mm/aaaa.

Material de Aluno - Excel Avanado 2007

75

Caixa de dilogo: Inserir Funo


Saiba que os procedimentos a seguir ilustram apenas o preenchimento dos campos da caixa de dilogo Inserir Funo e, em seguida, Argumento da funo para caso prefira utilizar a funo DIATRABALHOTOTAL via caixa de dilogo.

No campo Ou selecione uma categoria selecione a opo Data e hora. No quadro logo abaixo, selecione a funo DIATRABALHOTOTAL. Na parte inferior da caixa poder visualizar uma breve descrio da funcionalidade da funo. Ao final, clique no boto OK. veja que surge a janela Argumentos da funo:

Os campos Data_inicial, Dta_final e Feriados, so os mesmos mencionados no incio da funo DIATRABALHOTOTAL. Aps preencher os campos, clique no boto OK para finalizar a funo.

Material de Aluno - Excel Avanado 2007

76

TRABALHANDO COM LISTAS DE DADOS


Para facilitar o gerenciamento e a anlise de um grupo de dados relacionados, voc pode transformar um intervalo (intervalo: duas ou mais clulas em uma planilha. As clulas de um intervalo podem ser adjacentes ou no adjacentes.) de clulas em uma tabela do Microsoft Office Excel (anteriormente conhecida como Lista do Excel). Em geral, uma tabela contm dados relacionados em uma srie de linhas e colunas de planilha (planilha: o principal documento usado no Excel para armazenar e trabalhar com dados, tambm chamado planilha eletrnica. Uma planilha consiste em clulas organizadas em colunas e linhas; ela sempre armazenada em uma pasta de trabalho.) que foram formatadas como uma tabela. Ao usar os recursos de tabela, voc pode gerenciar os dados nas linhas e colunas da tabela independentemente dos dados em outras linhas e colunas da planilha.

NOTA: T abelas do Excel no devem ser confundidas com as tabelas de dados (tabela de dados: um intervalo de clulas que mostra os resultados da substituio de valores diferentes em uma ou mais frmulas. Existem dois tipos de tabelas de dados: tabelas de uma entrada e tabelas de duas entradas.) que fazem parte de um conjunto de comandos de teste de hipteses. Para obter mais informaes sobre tabelas de dados, consulte Calcular vrios resultados com uma tabela de dados.

Criar Tabela
Voc pode usar uma de duas maneiras para criar uma tabela. possvel inserir uma tabela no estilo de tabela padro ou formatar os dados como uma tabela em um estilo que voc escolher.

Inserir uma Tabela


Em uma planilha, selecione o intervalo de clulas que voc deseja incluir na tabela. As clulas podem estar vazias ou podem conter dados. Na guia Inserir, no grupo Tabelas, clique em Tabela:

Material de Aluno - Excel Avanado 2007

77

Se o intervalo selecionado contiver dados que voc deseja exibir como cabealhos da tabela, marque a caixa de seleo Minha tabela tem cabealhos. Cabealhos de tabela exibiro nomes padro se voc no marcar a caixa de seleo Minha tabela tem cabealhos. possvel alterar os nomes padro digitando o texto desejado. NOTA: Se no quiser exibir cabealhos de tabela, voc poder desativ-los mais tarde.

Dicas
Depois de criar uma tabela, as Ferramentas da Tabela se tornaro disponveis e a guia Design ser exibida. possvel usar as ferramentas na guia Design para personalizar ou editar a tabela. Ao contrrio de listas no Office Excel 2003, uma tabela no tem uma linha especial (marcada com *) para a rpida adio de novas linhas.

Elementos de uma Tabela Linha de cabealho


Por padro, uma tabela tem uma linha de cabealho. Cada coluna de tabela possui a filtragem habilitada na linha de cabealho, para que voc possa filtrar ou classificar os dados de tabela rapidamente.

Material de Aluno - Excel Avanado 2007

78

Linhas de faixa
Por padro, o sombreamento alternativo, ou faixa, aplicado s linhas em uma tabela para diferenciar melhor os dados.

Colunas calculadas
Ao inserir uma frmula em uma clula em uma coluna de tabela, voc pode criar uma coluna calculada na qual essa frmula instantaneamente aplicada a todas as outras clulas nessa coluna de tabela.

Linha de total
Voc pode adicionar uma linha de total sua tabela, que fornece acesso a funes de resumo (como a funo MDIA, CONT.NM ou SOMA). Uma lista suspensa (caixa de listagem suspensa: um controle em um menu, barra de ferramentas ou caixa de dilogo que exibe uma lista de opes quando voc clica na pequena seta ao lado da caixa de listagem.) exibida em cada clula de linha de total, para que voc possa calcular rapidamente os totais desejados.

Material de Aluno - Excel Avanado 2007

79

Ala de dimensionamento
Uma ala de dimensionamento no canto inferior direito da tabela permite arrastar a tabela para o tamanho que se quiser.

Formatar Dados como uma Tabela


Na planilha, selecione um intervalo de clulas vazias ou de clulas que contm os dados que voc deseja formatar rapidamente como uma tabela. Na guia Incio, no grupo Estilo, clique em Formatar como Tabela:

Material de Aluno - Excel Avanado 2007

80

NOTA: Quando voc usa a opo Formatar como Tabela, o Excel insere automaticamente uma tabela. Em Clara, Mdia ou Escura, clique no estilo que tabela que deseja usar. NOTA: Os estilos de tabela personalizados estaro disponveis em Personalizado depois que voc criar um ou mais deles.

Converter uma Tabela em Intervalo de Dados


Clique em qualquer lugar da tabela. Na guia Design, no grupo Ferramentas, clique em Converter em Intervalo:

NOTA: Recursos de tabela no estaro mais disponveis depois que voc converter a tabela de volta a um intervalo. Por exemplo, os cabealhos de linha no incluem mais as setas de classificao e filtro, e as referncias estruturadas (referncias que usam nomes de tabelas) que foram usadas em frmulas se transformam em referncias de clula comuns.

Dicas
Tambm possvel clicar com o boto direito do mouse na tabela, apontar para Tabela e clicar em Converter em Intervalo. Logo aps a criao de uma tabela, tambm possvel clicar em Desfazer na Barra de

Ferramentas de Acesso Rpido para converter essa tabela novamente em um intervalo.

Excluir Tabela
Na planilha, selecione uma tabela e pressione DELETE.

Material de Aluno - Excel Avanado 2007

81

EXPORTAR E IMPORTAR DADOS


Exportar Dados
Para exportar dados do Excel para um arquivo de texto, use o comando Salvar como. H dois formatos de arquivo de texto usados com freqncia:

Exportar no Formato TXT


Arquivos de texto delimitados (.txt), nos quais o caractere TAB (cdigo de caractere ASCII 009) geralmente separa cada campo de texto:

Para exportar neste formato, certifique-se que o seu arquivo do Excel est aberto na tela. Em seguida, execute as instrues a seguir:

Clique no Boto Office

, clique na opo Salvar como.

Observe que surge na tela a caixa de dilogo Salvar como. Clique no campo Tipo para exibir a lista de formatos de arquivo. Localize e clique na opo Texto (separado por tabulaes) (*.txt) :

Material de Aluno - Excel Avanado 2007

82

Se desejar, altere o nome do arquivo e depois clique no boto Salvar. Arquivos de texto com valores separados por vrgulas (.csv), nos quais o caractere ponto e vrgula (;) geralmente separa cada campo de texto:

Voc pode alterar o caractere separador que usado nos dois arquivos de texto, delimitado e .csv. Isto poder ser necessrio para verificar se a operao de importao ou exportao est funcionando da maneira desejada. Para exportar neste formato, certifique-se que o seu arquivo do Excel est aberto na tela. Em seguida, execute as instrues a seguir:

Clique no Boto Office

, clique na opo Salvar como.

Observe que surge na tela a caixa de dilogo Salvar como. Clique no campo Tipo para exibir a lista de formatos de arquivo. Localize e clique na opo CSV (separado por vrgulas) (*.csv):

Se desejar, altere o nome do arquivo e depois clique no boto Salvar. Observaes Voc pode exportar at 1.048.576 linhas e 16.384 colunas.

Material de Aluno - Excel Avanado 2007

83

Importar Dados
Existem situaes onde os dados que voc precisa analisar no esto no formato de uma planilha do Excel. Por exemplo, estes dados podem estar em um arquivo do tipo texto, no formato de texto delimitado ou separado por vrgula, ou podem estar em uma tabela do Microsoft Access. Nestas situaes voc deseja importar estes dados para dentro de uma planilha do Excel, para poder utilizar as funcionalidades de anlise de dados do Excel. Voc pode importar at 1.048.576 linhas e 16.384 colunas.

Importar um arquivo de texto conectando-o


Voc pode importar dados de um arquivo de texto em uma planilha existente como um intervalo de dados externo (intervalo de dados externos: um intervalo de dados aberto em uma planilha, mas originado fora do Excel, como um banco de dados ou arquivo de texto. No Excel, possvel formatar os dados ou us-los em clculos, da mesma forma que voc faria com outros dados). Clique na clula onde voc deseja pr os dados do arquivo de texto. Na guia Dados, no grupo Obter Dados Externos, clique em De Texto:

Feito isso, surgir a seguinte caixa de dilogo:

Material de Aluno - Excel Avanado 2007

84

Em um computador que esteja executando o Windows Vista: Na Barra de endereo da caixa de dilogo, localize e clique duas vezes no arquivo de texto que voc deseja importar. Em um computador que esteja executando o Microsoft Windows XP Na lista Examinar, localize e clique duas vezes no arquivo de texto que deseja importar.

Na primeira etapa do assistente voc deve informar o formato dos dados. No nosso exemplo a opo Delimitado est selecionada. Nesta etapa voc tambm pode definir em qual linha deseja iniciar a importao, por padro a importao inicia a partir da primeira linha.

Na segunda etapa do assistente voc deve informar qual o caractere utilizado como separador de campo. No nosso exemplo, est sendo utilizada a tabulao. Aps marcar a Tabulao observe que o Excel adiciona linhas divisrias entre os campos. Nessa etapa, tambm possvel alterar a forma como delimitadores consecutivos, como aspas consecutivas, so manipulados.

Material de Aluno - Excel Avanado 2007

85

Ser exibida a ltima etapa do assistente de importao. Nesta etapa voc pode definir o tipo de dado para cada campo que est sendo importado. Voc tambm tem a opo de no importar determinados campos. Para definir o tipo de dados de um determinado campo, clique no cabealho do campo para selecionar toda a coluna. Em seguida clique no tipo desejado (Geral, Texto ou Data). Se no quiser importar uma determinada coluna, basta marc-la e depois clicar em No importar coluna (ignorar). O boto Avanado permite que voc defina qual o smbolo de separador decimal, que por padro a vrgula e o smbolo de milhar, que por padro o ponto. Estas opes so teis quando voc estiver importando dados que esto no formato fora do padro, como por exemplo, o padro americano que usa o ponto como separador decimal e a vrgula como separador de milhar. Quando terminar as etapas do assistente, clique em Concluir para concluir a operao de importao.

Em seguida surge uma janela para que voc defina onde deseja colocar os dados, na planilha ativa (existente) ou em uma nova planilha. Nesta mesma janela encontramos o boto Propriedades. Ao ativ-lo, surge a seguinte caixa de dilogo:

Material de Aluno - Excel Avanado 2007

86

Nesta caixa de dilogo temos opes de atualizao, formatao e layout para os dados importados. Faa as alteraes que desejar, em seguida, clique em OK para retornar a janela Importar dados. Faa a sua escolha em inserir os dados na planilha existente ou em uma nova planilha. E pronto, seus dados sero importados no Excel.

Se o Excel no converter uma coluna de dados no formato desejado, voc poder converter os dados depois que eles forem importados.

Material de Aluno - Excel Avanado 2007

87

Importar banco de dados


A partir do Excel tambm possvel acessar dados que esto em outros formatos de arquivos que no no formato de arquivo de texto. possvel acessar dados diretamente de um banco de dados do Microsoft Access, do SQL Server ou, at mesmo, dados que esto residentes em um computador de grande porte Mainframe. Vamos, novamente, utilizar um exemplo prtico de importao de um banco de dados do Access. Clique na clula onde voc deseja pr os dados do arquivo de texto. Na guia Dados, no grupo Obter Dados Externos, clique em Do Access:

Feito isso, surgir a seguinte caixa de dilogo:

Localize e clique duas vezes sobre o arquivo para ser carregado. Em seguida, surgir a seguinte janela:

Material de Aluno - Excel Avanado 2007

88

Esta janela exibe todas as consultas e tabelas de seu arquivo do Access. Selecione o objeto que deseja importar e clique no boto OK. Feito isso, voc estar na ltima etapa onde dever escolher como deseja dispor seus dados:

Voc poder optar em importar os dados para que sejam apresentados como uma tabela, como um relatrio de tabela dinmica, e at mesmo como tabela dinmica e grfico dinmico. Alm disso, escolher se deseja que os dados sejam colocamos na planilha ativa ou em uma nova. Nesta mesma janela encontramos o boto Propriedades. Ao ativ-lo, surge a seguinte caixa de dilogo:

Material de Aluno - Excel Avanado 2007

89

Nesta caixa de dilogo temos opes de atualizao, formatao e informaes do arquivo (na guia Definio). Faa as alteraes que desejar, em seguida, clique em OK para retornar a janela Importar Dados. Defina qual disposio voc deseja para os seus dados, e escolha em inserir os dados na planilha existente ou em uma nova planilha. Ao final, clique no boto OK e veja o resultado (caso tenha optado em importar como Tabela):

Material de Aluno - Excel Avanado 2007

90

NOTA: Para importar um banco de dados do SQL Server, recorra a guia Dados, porm no grupo Obter Dados Externos, ative a opo De Outras Fontes. Feito isso, ser exibida uma lista de opes onde o SQL Server estar disponvel:

Material de Aluno - Excel Avanado 2007

91

ANLISE, CENRIOS E CONSOLIDAO DE DADOS


Anlise de Dados
Se for necessrio criar anlises estatsticas ou de engenharia complexas, possvel salvar etapas e tempo usando as Ferramentas de Anlise. Voc fornece os dados e parmetros para cada anlise, e a ferramenta utiliza as funes estatsticas ou de engenharia macro apropriadas para calcular e exibir os resultados em uma tabela de sada. Algumas ferramentas geram grficos alm das tabelas de sada. As Ferramentas de Anlise incluem as ferramentas descritas abaixo. Para acessar essas ferramentas, clique em Anlise de Dados, no grupo Anlise, na guia Dados.

Se o comando Anlise de Dados no estiver disponvel, carregue o programa suplementar Ferramentas de Anlise:

Ao ativar a ferramenta Anlise de Dados, surge a seguinte janela:

Material de Aluno - Excel Avanado 2007

92

NOTA: As funes de anlise de dados podem ser usadas apenas em uma planilha de cada vez. Quando voc efetua a anlise de dados em planilhas agrupadas, os resultados aparecero na primeira planilha e tabelas formatadas vazias aparecero nas planilhas restantes. Para executar uma anlise de dados no restante das planilhas, recalcule a ferramenta de anlise para cada planilha. Vamos agora dar uma breve descrio sobre as ferramentas de anlise:

Anova
As ferramentas de anlise Anova fornecem diferentes tipos de anlise de varincia. A ferramenta a ser usada depender do nmero de fatores e de amostras que voc tem das populaes que deseja testar.

Anova: fator nico


Esta ferramenta executa uma anlise de varincia simples dos dados de duas ou mais amostras. A anlise testa a hiptese de que cada amostra tirada da mesma distribuio de probabilidade de base contra a hiptese alternativa de que as distribuies de probabilidades de base no so as mesmas para todas as amostras. No caso de apenas duas amostras, a funo de planilha TESTET pode ser usada. Com mais de duas amostras, no h generalizao conveniente de TESTET, e o modelo Anova Fator nico pode ser chamado.

Anova: fator duplo com repetio


Esta ferramenta de anlise til quando os dados podem ser classificados com base em duas dimenses diferentes. Por exemplo, em um experimento para medir a altura das plantas, estas podem receber diferentes marcas de fertilizantes (por exemplo, A, B, C) e tambm ser mantidas em temperaturas diferentes (por exemplo, baixa, alta). Para cada um dos seis pares possveis de {fertilizante, temperatura}, obtido um nmero igual de observaes da altura das plantas. Usando esta ferramenta Anova, podemos testar:

Material de Aluno - Excel Avanado 2007

93

Se as alturas das plantas no caso das diferentes marcas de fertilizantes so tiradas da mesma populao de base. As temperaturas so ignoradas para essa anlise. Se as alturas das plantas no caso dos diferentes nveis de temperatura so tiradas da mesma populao de base. As marcas de fertilizantes so ignoradas para essa anlise. Se, tendo observado os efeitos das diferenas entre as marcas de fertilizantes encontradas na etapa 1 e as diferenas nas temperaturas encontradas na etapa 2, as seis amostras que representam todos os pares de valores de {fertilizante, temperatura} so tirados da mesma populao. A hiptese alternativa de que existem efeitos causados por pares {fertilizante, temperatura} especficos, alm das diferenas baseadas somente no fertilizante ou somente na temperatura.

Anova: fator duplo sem repetio


Esta ferramenta de anlise til quando os dados so classificados em duas dimenses diferentes como no caso do Fator Duplo com Repetio. Entretanto, para essa ferramenta, assumimos a existncia de apenas uma nica observao para cada par (por exemplo, cada par de {fertilizante, temperatura} do exemplo acima).

Correlao
As funes de planilha CORREL e PEARSON calculam o coeficiente de correlao entre duas variveis de medida quando as medidas em cada varivel so observadas para cada um dos N assuntos. (Qualquer falta de observao de algum assunto far com que ele seja ignorado na anlise.) A ferramenta de anlise Correlao especialmente til quando h mais de duas variveis de medida para cada um dos N assuntos. Ela fornece uma tabela de sada, uma matriz de correlao, que mostra o valor de CORREL (ou PEARSON) aplicado a cada um dos possveis pares de variveis de medida.

Material de Aluno - Excel Avanado 2007

94

O coeficiente de correlao, assim como a covarincia, mede at que ponto duas variveis de medida variam juntas. Diferente da covarincia, o coeficiente de correlao dimensionado de modo que seu valor seja independente das unidades de expresso das duas variveis de medida. (Por exemplo, se as duas variveis de medida forem peso e altura, o valor do coeficiente de correlao permanecer inalterado se o peso for convertido de libras em quilogramas.) O valor de qualquer coeficiente de correlao deve estar entre 1 e +1 inclusive. Voc pode usar a ferramenta de anlise de correlao para examinar cada par de variveis de medida a fim de determinar se as duas variveis de medida tendem a se mover juntas isto , se os valores altos de uma varivel tendem a ser associados aos valores altos da outra (correlao positiva), se os valores baixos de uma varivel tendem a ser associados aos valores altos da outra (correlao negativa) ou se os valores das duas variveis tendem a no estar relacionados (correlao prxima de zero).

Covarincia
As ferramentas Correlao e Covarincia podem ser usadas na mesma configurao quando voc possui N variveis de medida diferentes observadas em um conjunto de indivduos. Cada uma dessas ferramentas fornece uma tabela de sada, uma matriz, que mostra o coeficiente de correlao ou a covarincia, respectivamente, entre cada par de variveis de medida. A diferena que os coeficientes de correlao devem estar entre -1 e +1 inclusive, e as covarincias correspondentes no so dimensionadas. Tanto o coeficiente de correlao quanto a covarincia medem at que ponto duas variveis variam juntas. A ferramenta Covarincia calcula o valor da funo de planilha COVAR para cada par de variveis de medida. (O uso direto de COVAR, em vez da ferramenta Covarincia, uma alternativa razovel quando h apenas duas variveis de medida, ou seja, N=2.) A entrada na diagonal da tabela de sada da ferramenta Covarincia, linha i e coluna i, representa a covarincia da varivel de medida i em relao a si mesma. Essa apenas a varincia de populao dessa varivel, conforme o clculo da funo de planilha VARP. Voc pode usar a ferramenta Covarincia para examinar cada par de variveis de medida a fim de determinar se as duas variveis de medida tendem a se mover juntas isto , se os valores altos de uma varivel tendem a ser associados aos valores altos da outra (covarincia positiva), se os valores baixos de uma varivel tendem a ser associados aos valores altos da outra (covarincia negativa) ou se os valores das duas variveis tendem a no estar relacionados (covarincia prxima de zero).

Material de Aluno - Excel Avanado 2007

95

Estatstica descritiva
A ferramenta de anlise Estatstica Descritiva gera um relatrio de estatsticas univariveis dos dados no intervalo de entrada, fornecendo informaes sobre a tendncia e a variabilidade centrais dos dados.

Ajuste exponencial
A ferramenta de anlise Ajuste Exponencial prev um valor com base na previso do perodo anterior, ajustado para o erro nessa previso anterior. A ferramenta usa a constante de ajuste a, cuja magnitude determina com que intensidade as previses reagem aos erros na previso anterior. NOTA: Valores de 0,2 a 0,3 so constantes de ajuste razoveis. Estes valores indicam que a previso atual deve ser ajustada 20 a 30% pelo erro da previso anterior. Constantes maiores produzem uma resposta mais rpida, mas podem produzir projees errticas. Constantes menores podem resultar em longos atrasos para os valores de previso.

Teste-F: duas amostras para varincias


A ferramenta de anlise Teste-F com duas amostras para varincias executa um testeF com amostra dupla para comparar duas varincias de populao. Por exemplo, voc pode usar a ferramenta Teste-F em amostras dos tempos em uma competio de natao para cada uma de duas equipes. A ferramenta fornece o resultado de um teste da hiptese nula de que essas duas amostras so provenientes de distribuies com varincias iguais contra a alternativa de que as varincias no so iguais nas distribuies de base. A ferramenta calcula o valor f de uma estatstica F (ou proporo F). Um valor f prximo de 1 fornece evidncias de que as varincias na populao de base so iguais. Na tabela de sada, se f < 1 P(F <= f) uni-caudal fornecer a probabilidade de observar um valor da estatstica F menor que f quando as varincias de populao forem iguais, e F Crtico uni caudal fornecer o valor crtico menor que 1 para o nvel de significncia escolhido, Alfa. Se f > 1, P(F <= f) uni-caudal fornecer a probabilidade de observar um valor da estatstica F maior que f quando as varincias de populao forem iguais, e F Crtico uni caudal fornecer o valor crtico maior que 1 para Alfa.

Anlise de Fourier
A ferramenta Anlise de Fourier resolve problemas em sistemas lineares e analisa dados peridicos usando o mtodo FFT (Transformao de Fourier Rpida) para transformar os

Material de Aluno - Excel Avanado 2007

96

dados. Esta ferramenta tambm efetua transformaes inversas em que o inverso dos dados transformados retorna os dados originais.

Histograma
A ferramenta de anlise Histograma calcula freqncias individuais e cumulativas de um intervalo de dados e de vnculos de dados em clulas. Esta ferramenta gera dados para o nmero de ocorrncias de um valor em um conjunto de dados. Por exemplo, em uma turma de 20 alunos, voc pode definir a distribuio dos resultados em categorias de notas em letras. Uma tabela do histograma apresenta os limites de notas em letras e o nmero de pontos entre o limite mais baixo e o limite atual. O resultado nico mais freqente o modo dos dados.

Mdia mvel
A ferramenta de anlise Mdia Mvel projeta valores no perodo de previso, com base no valor da mdia da varivel em um nmero especfico de perodos precedentes. Uma mdia mvel fornece informaes de tendncia que uma mdia simples de todos os dados histricos no revela. Use esta ferramenta para prever vendas, dados em inventrio ou outras tendncias. Cada valor de previso baseia-se na seguinte frmula:

em que: N o nmero de perodos anteriores para incluir na mdia mvel Aj o valor real no perodo de tempo j Fj o valor previsto no perodo de tempo j

Material de Aluno - Excel Avanado 2007

97

Gerao de nmero aleatrio


A ferramenta de anlise Gerao de Nmeros Aleatrios preenche um intervalo com nmeros aleatrios independentes tirados de uma dentre vrias distribuies. Voc pode usar esta ferramenta para caracterizar indivduos em uma populao com uma distribuio de probabilidade. Por exemplo, voc pode usar uma distribuio normal para caracterizar a populao de alturas dos indivduos ou pode usar uma distribuio de Bernoulli de dois resultados possveis para caracterizar a populao de resultados de "cara ou coroa".

Ordem e percentil
A ferramenta de anlise Ordem e Percentil cria uma tabela que contm a posio ordinal e percentual de cada valor em um conjunto de dados. Voc pode analisar a posio relativa dos valores em um conjunto de dados. Essa ferramenta usa as funes de planilha ORDEM e ORDEM.PORCENTUAL, e no leva em considerao valores vinculados. Se voc desejar levar em considerao esses valores, use a funo de planilha ORDEM junto com o fator de correo sugerido no arquivo de ajuda dessa funo.

Regresso
A ferramenta de anlise Regresso executa uma anlise de regresso linear usando o mtodo de "quadrados mnimos" para ajustar uma linha em um conjunto de observaes. Voc pode analisar como uma nica varivel dependente afetada pelos valores de uma ou mais variveis independentes. Por exemplo, voc pode analisar como o desempenho de um atleta afetado por fatores como idade, altura e peso. Voc pode ratear pores na medida do desempenho para cada um desses trs fatores, com base em um conjunto de dados de desempenho e, em seguida, usar os resultados para prever o desempenho de um atleta novo ainda no testado. A ferramenta Regresso usa a funo de planilha PROJ.LIN.

Amostragem
A ferramenta de anlise Amostragem cria uma amostra de uma populao tratando o intervalo de entrada como uma populao. Quando a populao for grande demais para processar ou criar um grfico, voc pode usar uma amostra representativa. Tambm possvel criar uma amostra que contm apenas os valores de determinada parte de um ciclo se voc achar que os dados de entrada so peridicos. Por exemplo, se o intervalo de entrada contiver nmeros de vendas trimestrais, a amostragem com uma taxa peridica de 4 coloca os valores do mesmo trimestre no intervalo de sada.

Material de Aluno - Excel Avanado 2007

98

Teste-T:
As ferramentas de anlise Teste-T com Amostra Dupla testam a igualdade das mdias de populao de base em cada amostra. As trs ferramentas empregam diferentes suposies: de que as varincias de populao so iguais, de que as varincias de populao no so iguais e de que as duas amostras representam observaes dos mesmos assuntos antes e depois do tratamento. No caso das trs ferramentas abaixo, um valor da estatstica t, t, calculado e mostrado como "t Stat nas tabelas de sada. Dependendo dos dados, esse valor, t, poder ser negativo ou no. Considerando mdias de populao de base iguais, se t < 0, P(T <= t) uni-caudal fornecer a probabilidade de um valor da estatstica t ser observado como mais negativo que t. Se t >=0, P(T <= t) uni -caudal fornecer a probabilidade de um valor da estatstica t ser observado como mais positivo que t. t Crtico uni -caudal fornecer o valor de corte para que a probabilidade de um valor da estatstica t maior ou igual a t Crtico uni-caudal ser observado seja Alfa. P(T <= t) bicaudal fornece a probabilidade de um valor da estatstica t ser observado como maior em valor absoluto do que t. P Crtico bicaudal fornece o valor de corte para que a probabilidade de uma estatstica t observada, maior em valor absoluto do que P Crtico bicaudal, seja Alfa.

Teste-T: duas amostras em par para mdias


Voc pode usar um teste em par quando houver um emparelhamento natural de observaes nas amostras, como no caso em que um grupo de amostras testado duas vezes antes e depois de um experimento. Esta ferramenta de anlise e sua frmula executam um teste-t de estudantes com duas amostras em par para determinar se as observaes feitas antes e aps um tratamento tm probabilidade de serem provenientes de distribuies com mdias de populao iguais. Esta forma de Teste-t no presume que as varincias das duas populaes sejam iguais. NOTA: Entre os resultados gerados por esta ferramenta est a varincia agrupada, uma medida acumulada da distribuio dos dados na mdia, derivada da seguinte frmula.

Material de Aluno - Excel Avanado 2007

99

Teste-t: duas amostras presumindo varincias equivalentes


Esta ferramenta de anlise executa um teste-t de estudantes com duas amostras. Essa forma de Teste-t presume que os dois conjuntos de dados so provenientes de distribuies com as mesmas varincias. Ela chamada de teste-t homoscedstico. Voc pode usar esse teste para determinar se existe alguma probabilidade de as duas amostras serem provenientes de distribuies com mdias de populao iguais.

Teste-t: duas amostras presumindo varincias diferentes


Esta ferramenta de anlise executa um teste-t de estudantes com duas amostras. Essa forma de Teste-t presume que os dois conjuntos de dados so provenientes de distribuies com varincias diferentes. Ela chamada de teste-t heteroscedstico. Da mesma forma que no caso de varincias iguais acima, voc pode usar esse teste-t para determinar se existe alguma probabilidade de as duas amostras serem provenientes de distribuies com mdias de populao iguais. Use esse teste quando houver assuntos distintos nas duas amostras. Use o teste em par, descrito abaixo, quando houver um nico conjunto de assuntos e as duas amostras representarem medidas de cada assunto antes e depois de um tratamento. A frmula a seguir usada para determinar o valor estatstico t.

A frmula a seguir usada para calcular os graus de liberdade, df. Geralmente, como o clculo no resulta em um nmero inteiro, o valor de df arredondado para o nmero inteiro mais prximo para obter um valor crtico da tabela t. A funo de planilha do Excel, TESTET, usa o valor de df calculado sem arredondamento, pois possvel calcular um valor para TESTET com um df no inteiro. Devido a essas diferentes abordagens para determinar os graus de liberdade, os resultados de TESTET e dessa ferramenta de Teste-t sero diferentes no caso de Varincias Diferentes.

Material de Aluno - Excel Avanado 2007

100

Teste-Z: duas amostras para mdias


A ferramenta de anlise Teste-Z: duas amostras para mdias executa um teste-z com amostra dupla para mdias com varincias conhecidas. Essa ferramenta usada para testar a hiptese nula de que no h diferena entre as mdias de duas populaes contra a hiptese alternativa unilateral ou bilateral. Se as varincias no forem conhecidas, a funo de planilha TESTEZ dever ser usada. Ao utilizar a ferramenta Teste-z, o usurio dever tomar cuidado para entender a sada. P(Z <= z) uni-caudal realmente P(Z >= ABS(z)), a probabilidade de um valor de z mais distante de 0 na mesma direo que o valor de z observado quando no h diferena entre as mdias de populao. P(Z <= z) bicaudal realmente P(Z >= ABS(z) ou Z <= ABS(z)), a probabilidade de um valor de z mais distante de 0, em qualquer direo em relao ao valor de z observado quando no h diferena entre as mdias de populao. O resultado bicaudal simplesmente o resultado uni-caudal multiplicado por 2. A ferramenta Teste-z tambm pode ser usada para o caso em que a hiptese nula for de que existe um valor especfico diferente de zero para a diferena entre as mdias das duas populaes. Por exemplo, voc pode usar esse teste para determinar as diferenas entre o desempenho de dois modelos de carro.

Cenrios
Por definio, o teste de hipteses no uma cincia exata. Todos os modelos de teste de hipteses fazem suposies e premissas com base em eventos esperados que associados a um modelo, chamamos de Cenrio. Ou seja, cenrio uma viso geral de valores, simulando um acontecimento, como por exemplo, para se prever uma situao oramentria ou se criar uma anlise de investimento futuro. Como a maioria das planilhas de teste de hipteses pode receber uma ampla variedade de valores de entrada, acabamos por ter um grande nmero de cenrios a examinar. Em vez de passar pela entediante tarefa de inserir todos esses valores nas clulas apropriadas, o Excel tem um recurso chamado Gerenciador de Cenrios que pode tratar o processo para voc. Considere a planilha a seguir:

Material de Aluno - Excel Avanado 2007

101

uma tabela que indica, graficamente a previso do crescimento do lucro em funo da variao do faturamento e das despesas. Os ndices de crescimento so zero, ou seja, inicialmente no prev nenhum crescimento tanto para o faturamento quanto para as despesas. Vamos supor que num quadro favorvel, podemos projetar um aumento do faturamento da ordem de 10% a cada trimestre. Paralelamente, ainda com otimismo, vamos prever que conseguiremos diminuir as despesas em 3% por trimestre. Altere de 0% para 10% a taxa de crescimento em F3 (no se esquea de digitar o sinal % e de dar ENTER). Altere de 0% para -3% a taxa de despesas em F4 (no se esquea do sinal negativo). Observe o resultado do grfico. Como o faturamento aumenta e as despesas diminuem, o lucro aumenta mais ainda. Poderamos renomear a planilha, concebendo um nome significativo para esta situao, como por exemplo, Cenrio OTIMISTA, j que as taxas projetadas so otimistas, porm faremos uso do Gerenciador de Cenrios para este fim e manteremos a planilha com o nome atual.

Material de Aluno - Excel Avanado 2007

102

Por hora, vamos continuar com simulaes. Vamos agora, supor um quadro pessimista, projetando uma diminuio de 5% do faturamento a cada trimestre, e um aumento de 6% das despesas tambm a cada trimestre. Altere de 10% para -5% a taxa de crescimento em F3 (no se esquea de digitar o sinal % e de dar ENTER). Altere de -3% para 6% a taxa de despesas em F4 (no se esquea do sinal negativo). Observe o resultado do grfico. Com estas alteraes, o faturamento diminui e as despesas aumentam, resultando em um lucro menor. Esta projeo bem pessimista: diminuio de faturamento e aumento de despesas. Volte para 0% as taxas de faturamento e de despesas. Observe o resultado do grfico. Nesta situao, as barras ficam do mesmo tamanho nos quatro trimestres. Vamos ento, definir estas situaes como Cenrios. Antes de criar um cenrio preciso decidir que clulas no nosso modelo sero as clulas de entrada (usaremos o caso as clulas F3 e F4). Essas sero as variveis de planilha as clulas que, quando voc as altera, os resultados do modelo mudam (so chamadas pelo Excel de clulas variveis). Podemos ter at 32 clulas variveis em um cenrio. Clique na guia Dados, da Faixa de Opes. Localize o grupo Ferramentas de Dados, clique no boto Teste de Hipteses, em seguida, clique em Gerenciador de Cenrios:

Veja que surge a seguinte janela:

Material de Aluno - Excel Avanado 2007

103

Clique no boto Adicionar e veja que surge a caixa de dilogo Adicionar cenrio:

No campo Nome do cenrio voc sugere o nome do cenrio que est criando. Clique no campo Nome do cenrio e digite, por exemplo, Estvel. Faremos as configuraes para a situao atual. Clique duas vezes no campo Clulas variveis Selecione o intervalo de clulas de F3 a F4, pois ambas contm variveis de faturamento e despesa. Clique no boto OK. Veja que surge a caixa de dilogo Valores de cenrio:

Material de Aluno - Excel Avanado 2007

104

Certifique-se que os dois campos desta caixa de dilogo esto preenchidos com o valor 0 (zero). Clique no boto OK. Clique no boto Adicionar, para adicionar mais um cenrio. Clique no campo Nome do cenrio e digite, por exemplo, Otimista. Certifique-se que as clulas variveis esto configuradas para o intervalo de F3:F4. Clique no boto OK. Veja que surge a caixa de dilogo Valores de cenrio. Altere os valores das clulas variveis $F$3 para 10% e de $F$4 para -3% (no esquea as porcentagens). Clique no boto OK. Vamos visualizar o cenrio criado: Certifique-se que o cenrio selecionado o Otimista. Clique no boto Mostrar da parte inferior da caixa de dilogo Gerenciador de cenrios. Observe que os valores da planilha foram alterados. Ateno! O grfico permanece inalterado. Ele s ser atualizado a partir do momento em que clicarmos no boto Fechar da caixa de dilogo Gerenciador de Cenrios. Infelizmente este um pequeno bug do Excel que j existia em verses anteriores do programa. Clique no boto Fechar da parte inferior da caixa de dilogo. Observe agora a mudana no grfico.

Gerando Relatrio
possvel gerar um relatrio consolidado, com clculos para todos os cenrios possveis. O relatrio ser criado em uma nova planilha, onde so efetuados uma srie de clculos com base nos valores para cada um dos cenrios existentes. Clique na guia Dados, da Faixa de Opes.

Material de Aluno - Excel Avanado 2007

105

Localize o grupo Ferramentas de Dados, clique no boto Teste de Hipteses, em seguida, clique em Gerenciador de Cenrios:

Observe que surge a caixa de dilogo Gerenciador de cenrios que exibe os cenrios criados na planilha:

Clique no boto Resumir e veja que surge a seguinte janela:

Nas opes do Tipo de relatrio voc poder escolher em criar um resumo do cenrio, ou um relatrio de tabela dinmica do cenrio.

Material de Aluno - Excel Avanado 2007

106

Resumo do cenrio: Cria um relatrio que lista os seus cenrios com seus valores de entrada e clulas de resultado. Utilize este tipo de relatrio apenas quando o seu modelo tiver um conjunto de clulas variveis fornecido por um nico usurio. Relatrio de tabela dinmica do cenrio: Cria um relatrio que fornece uma anlise hipottica das variveis dos seus cenrios. Utilize este tipo de relatrio quando o seu modelo tiver vrios conjuntos de clulas variveis fornecidos por mais de um usurio. Escolha uma das opes, no resultado a seguir ser com base no Resumo do cenrio. No campo Clulas de resultado, selecione o intervalo de clulas de A8 E10. Clique no boto OK e repare que foi inserida uma nova planilha com o resumo dos cenrios:

Consolidao de Dados
O recurso Consolidao de dados permite que faamos clculos consolidados a partir de mltiplas planilhas, mltiplas fontes externas de dados ou uma mescla entre planilhas do Excel e fontes externas. Vamos considerar o seguinte exemplo: Voc recebe, mensalmente, uma planilha com os consolidados de vendas por regio/produto. Ao final do ano voc precisa criar uma planilha com o total anual de vendas. Vamos supor que os dados mensais estejam em uma planilha com o nome do ms. Vamos supor que na clula E3, de cada planilha, tenhamos o total de

Material de Aluno - Excel Avanado 2007

107

vendas do produto X para a regio Sul. Na clula E3 da planilha dos totais anuais, voc teria que utilizar a seguinte frmula: =Jan!E3+Fev!E3+Mar!E3+Abr!E3+Mai!E3+Jun!E3+Jul!E3+Ago!E3+Set!E3+Out!E3+Nov!E3+D ez!E3 Agora imagine o trabalho para criar todas as frmulas necessrias para o total anual, especialmente se a planilha for complexa, com diferentes clculos. Com o recurso de consolidao podemos fazer com que o Excel crie todas as frmulas necessrias, automaticamente. Um detalhe importante: Para utilizarmos o recurso de consolidao, todas as planilhas a serem consolidadas devem ter a mesma estrutura, ou seja, o mesmo nmero de linhas e colunas, com os dados nas mesmas posies. Considere o exemplo das trs planilhas a seguir:

1 - Planilha com dados de Janeiro

2 - Planilha com dados de Fevereiro

Material de Aluno - Excel Avanado 2007

108

3 - Planilha com dados de Maro

As planilhas apresentam os totais de vendas por Regio/Produto, para os meses de Janeiro, Fevereiro e Maro. Na planilha Trim1 queremos consolidar os dados para o primeiro trimestre, ou seja, a soma das vendas contidas nas planilhas Jan, Fev e Mar. Uma das maneiras seria criar as frmulas manualmente, conforme descrito anteriormente. Tambm podemos utilizar o recurso de consolidao de dados, o que simplificar bastante o nosso trabalho Existem duas maneiras diferentes de fazermos a consolidao de dados: Por posio Por categoria Consolidao de dados por posio Ao utilizar a consolidao por posio, o Excel utilizar uma referncia esttica s clulas das planilhas, isto , o Excel faz referncia sempre as mesmas clulas que foram utilizadas quando o comando de consolidao foi utilizado. Com isso as planilhas onde esto os dados no podem ser modificadas, pois se alterarmos as posies das clulas nas planilhas de dados, as referncias na planilha de consolidao continuaro apontando para os endereos antigos, o que ir gerar resultados incorretos. Os rtulos e demais informaes das planilhas de dados no so includos na planilha de consolidao. Por exemplo, os rtulos da linha 4 e da coluna A, das planilhas do exemplo anterior, no sero includos na planilha de consolidao. Os rtulos tero que ser digitados manualmente na planilha de consolidao. A consolidao por posio somente indicada para fontes de dados que tem estruturas idnticas e quando os usurios no alteram a localizao dos dados, dentro das respectivas fontes. Consolidao de dados por categoria Ao utilizar a consolidao por categoria, o Excel utilizar referncias aos rtulos dos dados, ao invs de referncia esttica s clulas das planilhas, isto , o Excel tentar localizar os dados,

Material de Aluno - Excel Avanado 2007

109

em cada planilha de dados, com base em rtulos na planilha de consolidao, independente da posio e/ou do nmero de linhas. Com isso as planilhas onde esto os dados podem ser modificadas, desde que no sejam alterados os rtulos, que so as referncias para a planilha de consolidao. Os rtulos e demais informaes das planilhas de dados so includos na planilha de consolidao. Por exemplo, os rtulos da linha 4 e da coluna A, das planilhas do exemplo anterior, sero includos na planilha de consolidao. Com a consolidao por categoria possvel aplicar filtros na planilha de consolidao. Para isso acrescentamos apenas os rtulos dos dados que queremos que sejam exibidos na planilha consolidada. Funes de clculo disponveis para a consolidao de dados Ao criarmos uma planilha consolidada podemos definir se queremos que seja efetuada uma soma, uma mdia e assim por diante. Esto disponveis as seguintes funes de clculo: FUNO Soma Contagem PARA RESUMIR A soma dos valores. Esta a funo padro para os dados numricos. O nmero de itens. A funo de resumo, Contagem, funciona de modo idntico ao da funo de planilha, ContValores. Contagem a funo padro para os dados de origem diferentes de nmeros. A mdia dos valores. O maior valor. O menor valor. O produto dos valores. O nmero de linhas que contm dados numricos. A funo de resumo Cont.Nm funciona de modo idntico funo de planilha CONT.NM. DesvPad Uma estimativa do desvio padro de uma populao, onde a amostra so todos os dados que sero resumidos. O desvio padro de uma populao, onde a populao so todos os dados que sero resumidos. Uma estimativa da varincia de uma populao, onde a amostra so todos os dados que sero resumidos. A varincia de uma populao, onde a populao so todos os dados quer sero resumidos.

Mdia Mximo Mnimo Mult Cont.Nm

DesvPadp

Var

Varp

Material de Aluno - Excel Avanado 2007

110

Temos dados de vendas por produto para Janeiro, Fevereiro e Maro. Na planilha Trim1 queremos que o Excel faa a consolidao dos dados de vendas por produto para o primeiro trimestre.

Ative a planilha Trim1, pois nela ser feita a consolidao de dados. Clique na clula B4 para indicar o local onde iniciaro os dados consolidados. Clique na guia Dados, da Faixa de Opes. Localize o grupo Ferramentas de Dados, clique no boto Consolidar:

Observe que surge a caixa de dilogo Consolidar:

Agora temos que informar ao Excel, as faixas onde esto os dados a serem consolidados. Clique no campo Referncia e selecione o intervalo de clulas de B4 a F8 da planilha Jan. Observe que o campo foi preenchido com Jan!$B$4:$F$8.

Material de Aluno - Excel Avanado 2007

111

Clique no boto Adicionar para que o intervalo de clulas selecionadas seja includo na lista de consolidao. Clique no campo Referncia e selecione o intervalo de clulas de B4 a F8 da planilha Fev. Observe que o campo foi preenchido com Fev!$B$4:$F$8. Clique no boto Adicionar para que o intervalo de clulas selecionadas seja includo na lista de consolidao. Clique no campo Referncia e selecione o intervalo de clulas de B4 a F8 da planilha Mar. Observe que o campo foi preenchido com Mar!$B$4:$F$8. Clique no boto Adicionar para que o intervalo de clulas selecionadas seja includo na lista de consolidao.

Certifique-se de que esteja selecionada a funo Soma. Como estamos consolidando por posio, desmarque as opes Linha superior e Coluna esquerda. Marque a opo Criar vnculos com os dados de origem. Marcar essa opo faz com que o Excel atualize automaticamente os dados da rea de consolidao quando os dados so alterados em qualquer uma das reas de origem. Clique em OK. Rapidamente o Excel calcula os totais consolidados para o primeiro trimestre, sem que tenhamos que ter digitado uma nica frmula:

Material de Aluno - Excel Avanado 2007

112

Consolidao por Categoria


Vamos utilizar os mesmos dados do exemplo anterior, porm faremos uma consolidao por categoria. A nica diferena que, os rtulos da primeira linha e da primeira coluna tambm faro parte da faixa a ser selecionada para a consolidao. Com isso os rtulos sero copiados para a planilha Trim1. A vantagem desse mtodo que, mesmo que os dados sejam deslocados de posio, em uma ou mais planilhas, o Excel consegue manter a referncia, com base nos rtulos. No podem haver rtulos repetidos. Observe que na planilha Trim1 no tem rtulos, os quais sero copiados diretamente das planilhas Jan, Fev e Mar:

Clique na clula A3 para indicar o local onde iniciaro os dados consolidados, incluindo os rtulos. Clique na guia Dados, da Faixa de Opes. Localize o grupo Ferramentas de Dados, clique no boto Consolidar:

Material de Aluno - Excel Avanado 2007

113

Observe que surge a caixa de dilogo Consolidar:

Agora temos que informar ao Excel, as faixas onde esto os dados a serem consolidados. Clique no campo Referncia e selecione o intervalo de clulas de A3 a F8 da planilha Jan. Observe que o campo foi preenchido com Jan!$A$3:$F$8. Clique no boto Adicionar para que o intervalo de clulas selecionadas seja includo na lista de consolidao. Clique no campo Referncia e selecione o intervalo de clulas de A3 a F8 da planilha Fev. Observe que o campo foi preenchido com Fev!$A$3:$F$8. Clique no boto Adicionar para que o intervalo de clulas selecionadas seja includo na lista de consolidao. Clique no campo Referncia e selecione o intervalo de clulas de A3 a F8 da planilha Mar. Observe que o campo foi preenchido com Mar!$A$3:$F$8. Clique no boto Adicionar para que o intervalo de clulas selecionadas seja includo na lista de consolidao.

Material de Aluno - Excel Avanado 2007

114

Certifique-se de que esteja selecionada a funo Soma. Como estamos consolidando por categoria, marque as opes Linha superior e Coluna esquerda. Marque a opo Criar vnculos com os dados de origem. Marcar essa opo faz com que o Excel atualize automaticamente os dados da rea de consolidao quando os dados so alterados em qualquer uma das reas de origem. Clique em OK. Rapidamente o Excel calcula os totais consolidados para o primeiro trimestre, sem que tenhamos que ter digitado uma nica frmula:

Observe que ao lado de cada regio exibido um sinal de +. Se voc clicar nesse sinal de + sero exibidos os registros individuais, de cada planilha, que formam o total consolidado da regio sul, como o exemplo a seguir:

Material de Aluno - Excel Avanado 2007

115

O sinal de + se transforma em um sinal de -. Ao clicar no sinal de os detalhes so ocultados.

Material de Aluno - Excel Avanado 2007

116

INTRODUO AS MACROS E A PROGRAMAO VBA


Existem situaes onde no conseguimos resolver o problema proposto, simplesmente utilizando os comandos e frmulas do Excel. Nessas situaes temos que fazer o uso de recursos como Macros e Programao. Uma macro uma seqncia de comandos e funes armazenados em um mdulo do Visual Basic for Applications - VBA e pode ser executada sempre que voc precisar executar a tarefa. Quando voc grava uma macro, o Excel armazena informaes sobre cada etapa realizada medida que voc executa uma seqncia de comandos. Em seguida, voc executa a macro para repetir, ou "reproduzir", os comandos. Por exemplo, vamos supor que, seguidamente, voc precisa formatar uma clula com Negrito, cor de fonte Vermelha, Itlico, Fonte Verdana de Tamanho 13 com quebra automtica de linha. Ao invs de ter que executar todos os comandos de formatao em cada clula, voc pode criar uma Macro que aplica todos os comandos de formatao. Aps criada a Macro, cada vez que voc tiver que aplicar o conjunto de comandos de formatao, basta executar a Macro, o que normalmente feito atravs da associao de uma combinao de teclas com a Macro, como por exemplo Ctrl+L. No nosso exemplo, cada vez que voc quisesse formatar uma clula com os formatos descritos, bastaria clicar na clula e pressionar Ctrl+L. Bem mais fcil do que aplicar cada comando individualmente. Voc pode Gravar uma macro para realizar uma tarefa em uma etapa: Antes de gravar uma macro, planeje as etapas e os comandos que voc deseja que a macro execute. Se cometer um erro durante a gravao da macro, as correes feitas tambm so gravadas. Ao gravar macros, o VBA armazena cada uma em um novo mdulo anexado a uma pasta de trabalho. Como Tornar uma macro fcil de ser executada: Voc pode executar uma macro escolhendo-a de uma lista na caixa de dilogo Macro. Para que uma macro seja executada sempre que voc clicar em um boto especfico ou pressionar determinada combinao de teclas, voc pode atribuir a macro a um boto da barra de ferramentas, um atalho no teclado ou um objeto grfico em uma planilha. Segurana da macro: O Excel fornece proteo contra vrus que podem ser transmitidos atravs das macros. Se voc compartilha macros com outros usurios, voc pode certific-las com uma assinatura digital de forma que os outros usurios possam verificar que as macros so de origem confivel. Sempre que voc abrir uma pasta de trabalho que contenha macros, poder verificar a origem das macros antes de ativ-las. Aprenda sobre como evitar vrus de macro.

Material de Aluno - Excel Avanado 2007

117

As macros e a segurana do Excel


A possibilidade de criar e executar cdigos de programa dentro do Excel pelo VBA foi explorada como brecha de segurana pelos hackers, os famosos piratas da informtica, para inserir cdigos ocultos ou mascarados com a finalidade de acessar e manipular informaes contidas no apenas em planilhas eletrnicas, mas tambm em qualquer pasta do computador. De fato, com muita percia e profundos conhecimentos em programao e funcionamento do computador, um hacker pode utilizar o Visual Basic for application para gerar um pequeno vrus, graas ao qual obtm acesso aos dados no computador. Por este motivo, a partir da verso 2003, a Microsoft adotou em todos os aplicativos do pacote Office, um sistema de segurana que bloqueia, por padro, a inicializao automtica de macros e programas VBA, alertando o usurio sempre que um desses recursos tenta executar qualquer tipo de operao, seja no arquivo aberto ou em qualquer outro local do computador. A adoo desse sistema de segurana, porm, faz com que nem mesmo o usurio consiga executar as macros e os cdigos VBA por ele gerados, o que impossibilita testar seu funcionamento. Assim, para que possamos realizar nossos procedimentos, ser necessrio alterar as configuraes de segurana acessando a Central de Confiabilidade do Excel 2007.

Clique no Boto Office

, clique em Opes do Excel.

Na parte esquerda da caixa de dilogo que surge, clique na categoria Central de Confiabilidade. Observe que na parte direita da caixa surge suas propriedades. Clique no boto Configuraes da Central de Confiabilidade. Veja que surge a seguinte caixa de dilogo:

Material de Aluno - Excel Avanado 2007

118

Repare na parte esquerda da nova caixa de dilogo temos a opo Configuraes de Macro. Clique em Configuraes de Macro e veja que temos as seguintes opes:

Vamos comentar as opes do quadro Configuraes de Macro: Desabilitar todas as macros sem notificao: ao ativar esta opo, todas as macros estaro bloqueadas sem que nenhuma mensagem de alerta seja exibida ao usurio; Desabilitar todas as macros com notificao: ao ativar esta opo, todas as macros sero bloqueadas e o usurio ser notificado sempre que ocorrer o bloqueio; Desabilitar todas as macros, exceto as digitalmente assinadas: ao ativar esta opo, o Excel liberar somente a execuo de macros e programas VBA providos de assinaturas digitais, usadas para confirmar a origem e a integridade de um cdigo de editor de software; Habilitar todas as macros (no recomendado; cdigos possivelmente perigosos podem ser executados): ao ativar esta opo, o Excel executar qualquer macro e/ou programa VBA anexado ao arquivo em uso. Trata-se de uma opo perigosa quando no se sabe a origem do documento, portanto recomendamos mant-la desativada ao abrir documentos por e-mail ou descarregados pela internet. Para que voc possa trabalhar com macros e programao VBA a partir deste momento, marque a opo Habilitar todas as macros (no recomendado; cdigos possivelmente perigosos podem ser executados).

Exemplo
Gravaremos uma macro que insere em uma clula o valor da soma das suas duas clulas imediatamente superiores: por exemplo, quando a macro for aplicada clula A4, ela atribuir a esta clula o valor A2 + A3.

Material de Aluno - Excel Avanado 2007

119

Comece inserindo os valores 0 (zero) em A1 e 1 em A2. Selecione ento a clula A3. Clique na guia Desenvolvedor > Gravar Macro:

Feito isso, voc ver uma janela para a definio do nome da macro:

Na janela acima, voc poder definir o nome da macro (alfanumrico, sem espaos ou caracteres especiais), sua tecla de atalho (no nosso exemplo, Ctrl+Shift+F), algum texto descrevendo a macro e os locais possveis para seu armazenamento: Esta pasta de trabalho: a macro ser salva na prpria planilha; Nova pasta de trabalho: uma nova planilha ser criada apenas para a gravao da macro; Pasta de trabalho pessoal de macros: a macro estar disponvel em qualquer planilha aberta no computador do criador da macro. A partir do momento em que voc clicar no boto OK, a gravao da macro comea. uma boa idia pensar com cuidado nos passos que voc deseja realizar, uma vez que mesmo erros sero gravados! Tendo isto em mente, siga exatamente os passos abaixo:

Material de Aluno - Excel Avanado 2007 Se o boto

120 (do grupo Cdigo, da guia Desenvolvedor)

estiver desativado, clique no boto para ativ-lo. A gravao da macro comea com a clula A3 selecionada. Digite =SOMA( Selecione as clulas A1 e A2, digite ), e pressione o Enter para concluir a frmula. Clique no boto (do grupo Cdigo, da guia Desenvolvedor).

Aps realizar os passos acima, a situao da planilha deve ser a seguinte:

Suas aes foram realizadas normalmente, mas agora voc pode selecionar a clula A4 e pressionar Ctrl+Shift+F para executar as aes que gravou: o novo resultado a soma das clulas A2 e A3. Selecione as clulas seguintes e execute novamente a macro; voc obter a lista abaixo:

Estes so os primeiros termos da seqencia de Fibonacci, relacionada a vrios fenmenos em matemtica aplicada, crescimento populacional e popularizada no livro "O Cdigo Da Vinci". At agora utilizamos apenas a tecla de atalho Ctrl+Shift+F para executar a macro. Veremos agora que por meio de um boto (das ferramentas dos controles formulrio) as macros podem tambm serem executadas.

Material de Aluno - Excel Avanado 2007

121

Clique no boto Inserir, do grupo Controles, e escolha a ferramenta Boto (Controle de Formulrio):

Desenhe o boto em qualquer regio livre da planilha. Surgir na tela a seguinte janela:

Nesta janela podemos visualizar todas as macros disponveis neste arquivo. Selecione a macro que acabou de criar (exemplo, Macro1), e clique no boto OK. Selecione o texto do boto Boto 1 e digite Fibonacci. Clique em qualquer ponto livre da planilha para remover a seleo do boto. Clique na clula vazia, logo abaixo do ltimo valor gerado na planilha (no nosso caso, na clula A13). Clique no boto e veja que a seqencia de Fibonacci gerada automaticamente.

Material de Aluno - Excel Avanado 2007

122

Modos de Gravao
Ao criar uma macro gravada no Excel, as aes que voc executa podem ser registradas de forma absoluta ou relativa. No modo de gravao relativa, as clulas que voc seleciona so registradas a partir de sua posio relativa clula selecionada no incio da gravao da macro. Elas so indicadas pela notao R[x]C[y], onde R[x] indica a distncia entre as linhas (em ingls, rows) das clulas, e C[y], de suas colunas (em ingls, columns). Por exemplo, a referncia R[-2]C[1] indica uma clula que est duas linhas acima (-2) e uma coluna direita (+1) da clula selecionada. J no modo de gravao absoluta, a posio exata das clulas selecionadas no decorrer da gravao guardada. Elas esto associadas notao A1. Ao elaborar uma macro, voc dever escolher o modo de gravao mais til antes de executar suas aes: ao gravar uma macro que far referncia a uma clula especfica de sua planilha, utilize gravao absoluta; caso contrrio, use a gravao relativa.

Gravao Absoluta

Gravaremos uma pequena macro que desloca todo o contedo de uma planilha uma linha para baixo, e insere um cabealho no topo da planilha. No faz sentido inserir o cabealho em lugar algum alm da linha 1, ento utilizaremos o modo de gravao

absoluta.
Crie uma nova macro, cujo nome pode ser Cabealho e sua tecla de atalho Ctrl+Sfhit+C. Para que a macro seja executada sempre na primeira linha da planilha, devemos estar em modo de gravao absoluta: caso o boto Usar Referncias Relativas esteja ativado, desative-o.

Material de Aluno - Excel Avanado 2007

123

Em seguida, realizaremos os procedimentos que a macro dever executar. Selecione a linha 1, e insira uma nova linha. Formate as clulas de A1 a C1 (tomando como base o modelo de planilha sugerido) para que fiquem mescladas, em negrito, com tamanho de fonte 14 e cor da fonte em vermelho, e com cor de preenchimento em azul escuro. Aps aplicar a formatao e escrever o texto desejado na clula A1, encerre a gravao da macro. Ao execut-la novamente (via tecla de atalho, ou criando um boto e atribuindo a nova macro), suas aes sero realizadas na primeira linha, independentemente de qual era a clula ativa quando a macro foi executada.

Gravao Relativa

Neste exemplo, usaremos o modo de referncia relativa para gravar uma macro que aplica certa formatao a uma clula selecionada. Como a clula em que as aes da macro so realizadas deve ser escolhida pelo usurio, a macro ser gravada no modo de referncia relativa. Neste modo, a clula ativa no incio da gravao usada como base, e todas as aes realizadas em outras clulas so registradas de acordo com suas distncias relativas clula ativa. Por exemplo, se no incio de uma macro a clula C3 est selecionada e uma ao realizada em D5, a ao salva como ocorrendo a duas linhas e uma coluna da clula ativa; caso a macro seja executada posteriormente com a clula A1 selecionada, a ao ser realizada em B3, de forma que a distncia relativa entre as clulas ser mantida. Crie uma nova macro, cujo nome pode ser Pintar e sua tecla de atalho Ctrl+Sfhit+P. Para que a gravao seja relativa, ative o boto Usar Referncias Relativas.

Material de Aluno - Excel Avanado 2007

124

Em seguida, realizaremos os procedimentos que a macro dever executar. Selecione uma clula vazia. Aplique uma cor de preenchimento com a cor Amarelo claro. Aplique um preenchimento do tipo padro com os parmetros Diagonal Listrado Fina, com a cor Azul plido. Encerre ento a gravao. Se gravada corretamente, sua macro deve pintar qualquer clula selecionada de acordo com a formatao definida anteriormente.

Salvar arquivo que contm macros


O salvamento de pastas de trabalho que contm macros requer alguns cuidados especiais, para que assim, consiga resgat-lo.

Clique no Boto Office

, posicione o mouse na opo Salvar como, clique em

Pasta de Trabalho Habilitada para Macro do Excel (na parte direita do menu):

Material de Aluno - Excel Avanado 2007

125

Veja que desta forma surge na tela a caixa de dilogo Salvar como, onde o campo Tipo j est preenchido com o formato .xlsm. Defina um nome para o arquivo e um diretrio em que deseja armazen-lo. Clique no boto Salvar da caixa de dilogo. Saiba que o formato .xlsm oferece suporte para gravao de pastas de trabalho com macros e/ou aplicativos VBA.

VBA - Conceito
As Macros so uma excelente soluo quando queremos automatizar uma tarefa que realizada atravs de uma srie de cliques de mouse ou digitaes no teclado. Porm existem situaes mais complexas, que envolvem clculos ou uma lgica mais apurada, onde no possvel encontrar a soluo do problema, simplesmente usando os comandos ou frmulas prontas do Excel. Nessas situaes temos que fazer uso de programao. Um programa (ou mdulo como chamado no Excel) uma seqncia de comandos VBA, onde cada comando executa um passo especfico, necessrio resoluo do problema. Hoje como nunca, estamos vivendo difuso em massa do uso dos computadores para as mais diversas tarefas, que vo desde o entretenimento at a elaborao de sistemas de gesto de dados. De fato, em sua origem, o computador foi criado para executar com maior rapidez aes relacionadas ao trabalho, tais como digitao de documentos, armazenamento e busca de dados e realizao de clculos extremamente complexos em poucos segundos. Todavia, em plena era digital ainda acontece de termos que fazer inmeras vezes a mesma coisa (digitar o mesmo documento, estruturar a mesma planilha, etc). Para resolver o problema da execuo repetitiva de tarefas rotineiras, muitos aplicativos, entre os quais o Excel, incorporaram com o tempo ferramentas e recursos que tornaram possvel automatizar determinadas sequncias de comandos, simplificando de modo substancial o trabalho do operador de um microcomputador. No Excel, por exemplo, recorrente termos que executar, em planilhas diferentes, o mesmo tipo de operao, como, por exemplo, uma filtragem avanada que requer a definio de vrios parmetros ou uma somatria de dados que correspondam a determinado critrio. Assim, possvel criar um mini -programa que faa todas essas tarefas automaticamente sempre que executado a partir de um atalho do teclado ou um boto especfico. nisso que consiste o VBA, acrnimo de Visual Basic for Applications: um ambiente de desenvolvimento onde possvel escrever, via cdigo de programao, aplicativos que sero

Material de Aluno - Excel Avanado 2007

126

executados exclusivamente dentro do ambiente de trabalho do Excel (ou at mesmo em outros programas do pacote Office). Na verdade o VBA nada mais que uma verso especial derivada do Microsoft Visual Basic, popular linguagem de programao amplamente utilizada para a criao de softwares desenvolvida e distribuda pela Microsoft e parte integrante do pacote Microsoft Visual Studio. Criada a partir do aperfeioamento da linguagem BASIC, o Visual Basic (ou simplesmente VB) dirigido por eventos desencadeados a partir das aes do usurio e possui um ambiente de desenvolvimento integrado (IDE Integrated Development Environment) totalmente grfico, o que torna muito mais simples a construo da interface das aplicaes (GUI Graphical User Interface, que d origem ao nome Visual). Em suas primeiras verses, o Visual Basic no permitia acesso a banco de dados, sendo, portanto, voltado apenas para a criao de pequenos aplicativos de execuo local; mas, devido ao sucesso entre as empresas que faziam uso de componentes adicionais fabricados por terceiros para acesso a dados, a linguagem logo adotou tecnologias como DAO (Data Access Object, um padro usado em engenharia de software), RDO (Remote Data Object) e ADO (ActiveX Data Objects, um mecanismo criado pela prpria Microsoft para a troca de informaes entre bases de dados), permitindo fcil acesso a fontes de dados externas, caracterstica esta que no VBA possibilita a obteno de dados provindos de bases criadas em outros aplicativos, tais como o Access, por exemplo. interessante ressaltar que o Visual Basic e o VBA utilizam o mesmo motor de linguagem, isto , a mesma estrutura de sintaxe, o mesmo ambiente de edio e, na grande maioria dos casos, as mesmas ferramentas para o trabalho.

Por que utilizar?


O VBA nos oferece possibilidades de controle e personalizao para criar aplicativos que vo alm das aes de macro. O VBA uma linguagem de programao interna do Microsoft Excel (na prtica a linguagem de programao para todos os aplicativos do Office: Access, Word, Excel e Power Point). Usamos o VBA pelo mesmo motivo que utilizamos macros - para automatizar tarefas e rotinas repetitivas, envolvendo os diversos elementos do banco de dados (tabelas, consultas, formulrios, relatrios, folhas de dados, macros e mdulos). No entanto, o VBA oferece maior poder e controle mais detalhado do que as aes de macro. Na prtica as aes de macro duplicam as operaes que podemos realizar manualmente, usando menus e teclas de atalho. O VBA vai alm da simples automao de seqncias de aes. Ele oferece um conjunto de ferramentas que lhe permite criar aplicaes personalizadas com base nos elementos do Excel e nos objetos de planilha do Excel. Por exemplo, podemos criar uma rotina em VBA em uma planilha do Excel. Esta rotina pode acessar dados em ums segunda planilha que est na rede, por exemplo. A mesma rotina

Material de Aluno - Excel Avanado 2007

127

alm de acessar os dados pode fazer clculos, consolidaes, gerar os resultados no formato de uma planilha do Excel e salvar a planilha na rede. Este apenas um pequeno exemplo do que pode ser feito como o VBA.

Vantagens do VBA
O VBA apresenta, em relao as macros, as seguintes vantagens: Acessando dados de uma ou mais planilhas: Com aes de macros estamos limitados a operar com os registro ou com o conjunto de registros atualmente sendo exibido na pasta de trabalho atual O VBA permite trabalhar com qualquer conjunto de dados, quer seja da pasta de trabalho atual, quer seja de outra pasta de trabalho na rede ou com outros formatos de dados, como por exemplo de arquivos .txt ou bancos de dados do Microsoft Access. Manipulao de objetos: O VBA oferece mtodos de criao e modificao dos objetos de uma planilha no Excel (assunto que ser abordado nas lies do Mdulo 6). Chamamos de objeto qualquer elemento do Microsoft Excel, por exemplo: uma planilha, uma faixa de clulas, um grfico, etc. Criao de funes definidas pelo usurio: Este um dos maiores benefcios do VBA. Podemos criar funes que executam clculos repetitivos. Por exemplo, vrios planilhas podem conter um campo CPF ou CNPJ. Poderamos criar, em cada planilha, o cdigo necessrio para a validao do DV do CPF ou CNPJ. Porm este procedimento no o mais indicado, pois alm da duplicao do cdigo necessrio a validao, teramos dificuldades para fazer atualizaes neste cdigo, pois cada alterao necessria ter que ser feita em vrios locais. O ideal criarmos uma funo para validao do DV (uma funo deve ser criada dentro de um mdulo. Trataremos disso mais adiante.). Em cada planilha, onde for necessria, chamamos a funo, passando o valor do CPF como parmetro. A funo calcula o DV e retorna o resultado para a planilha. Desta maneira precisamos criar uma nica funo. Quando forem necessrias alteraes, basta alterar a funo (em um nico local, ou seja, no mdulo onde a funo foi criada) e todos os formulrios passaro a utilizar a verso atualizada da funo. Definio de condies e controle de fluxo: O VBA oferece uma variedade de comandos e estruturas para a realizao de testes condicionais e para a repetio de um conjunto de comandos. Aprenderemos a utilizar todas as estruturas de controle de fluxo e testes condicionais, mais adiante. Realizao de clculos complexos e soluo de problemas que envolvem uma lgica complexa: Com macros impossvel a realizao de clculos mais complexos, simplesmente atravs da automao de comandos de teclado e mouse. Tambm no

Material de Aluno - Excel Avanado 2007

128

possvel a resoluo de problemas que envolvem uma lgica complexa, como por exemplo, clculo do imposto de renda, recolhimentos de tributos, etc.

Editor do Visual Basic


O Excel fornece um ambiente de programao bastante poderoso, com uma srie de recursos que facilitam a criao de cdigo VBA. Se no tivssemos disponvel um Ambiente de Programao, teramos que lembrar da sintaxe de todos os comandos, dos mtodos e propriedades dos objetos. Convenhamos que isso praticamente impossvel, pois com o VBA temos acesso a milhares de objetos ( isso mesmo: milhares de objetos, comandos e funes). Cada objeto pode ter dezenas de propriedades, mtodos e colees. O ambiente de Desenvolvimento fornece uma srie de facilidades para a criao de cdigo VBA. Por exemplo, ao digitar o nome de um objeto e um ponto ser aberta, automaticamente, uma lista com todos os mtodos e propriedades deste objeto. Ao invs de lembrar do nome dos mtodos/propriedades, basta selecion-los em uma lista. Se selecionarmos um mtodo, ao digitarmos o parnteses de abertura, ser exibida uma lista com os argumentos esperados pelo mtodo, bem como o tipo (texto, nmero, data, etc) de cada argumento. Se digitarmos um comando incorretamente, o Ambiente de Desenvolvimento emite uma mensagem e coloca em destaque o comando que foi digitado incorretamente. Estas so apenas algumas das facilidades fornecidas pelo Ambiente de Desenvolvimento do VBA. Para conhecermos melhor o referido ambiente, vamos a um exemplo prtico. Considere que voc criou gravou uma macro e agora deseja visualizar o Editor do Visual Basic. Ento siga os procedimentos a seguir: Clique na guia Desenvolvedor, da Faixa de Opes

Clique no boto

, do grupo Cdigo.

Veja que surge uma outra janela:

Material de Aluno - Excel Avanado 2007

129

Esta a janela do Editor do Visual Basic. No lado esquerdo da tela temos dois painis: Painel Projeto: Nele so exibidos os vrios elementos que fazem parte da Pasta de trabalho atual. Aqui so exibidas as planilhas e mdulos da pasta de trabalho (arquivo .xls) carregado no Excel. Ao criarmos uma macro podemos cri-la em uma determinada planilha. Os mdulos so utilizados para criar funes e procedimentos que podem ser chamados em todas as planilhas da pasta de trabalho atual.

Painel Propriedades: Ele exibe as propriedades do elemento selecionado no painel Projeto. Por exemplo, ao selecionar Plan1, no painel Projeto, o painel Propriedades exibe as propriedades de Plan1, conforme indicado na figura a seguir:

Material de Aluno - Excel Avanado 2007

130

Para sair do Editor do VBA e retornar ao espao de trabalho do Excel, basta acionar o menu Arquivo e escolher a opo Fechar e voltar para Microsoft Excel.

Programao VBA
O Visual Basic for Applications (VBA) a linguagem de programao dos aplicativos do pacote Office da Microsoft. A diferena bsica entre o Visual Basic for Applications (VBA) e o Visual Basic (VB) que os elementos de um programa no VB so armazenados em arquivos distintos e permite a criao de arquivo executvel (EXE). J no VBA os elementos ficam dentro do documento dos aplicativos Office e no possvel gerar um executvel. Para aproveitar as vantagens que o VBA pode proporcionar ao Excel preciso conhecer os seus recursos e a sua forma de programao.

Variveis
Uma varivel um espao na memria do computador reservado para armazenar um ou mais valores, e como o valor armazenado pode variar, a medida que o cdigo VBA executado, estas estruturas so chamadas de variveis. Cada varivel referenciada por um nome que deve iniciar com uma letra e possui at 255 caracteres.

Tipos de Variveis
As variveis armazenam valores que ocupam espao na memria do computador. Cada tipo de varivel possui um tamanho predefinido que ser o tamanho do espao utilizado pela varivel. Assim, para que uma varivel no ocupe espao a mais que o necessrio, preciso definir o tipo de varivel. Acompanhe a seguir os tipos de variveis:

Material de Aluno - Excel Avanado 2007

131

Tipo Boolean Byte Currency Date Decimal

Tamanho 2 bytes 1 byte 8 bytes 8 bytes 12 bytes

Valor True ou False De 0 a 255 De -922.377.203.685.477,5808 at 922.337.203.685.477,5807 De 01/01/100 a 31/12/9999 O maior valor possvel +/79.288.162.514.264.337.593.543.950.335 Com 28 casas decimais, o maior valor +/- 7,922816251426433759354395 0335 e o menor valor, diferente de zero, +/0,0000000000000000000 000000001

Definido pelo usurio Double

Depende da definio 8 bytes

Depende do tipo de dados

De -1,79769313486232E308 a -4,940656 45841247E-324 para valores negativos e de 4,94065645841247E-324 a 1,7876931 3486232E-308 para valores positivos

Integer Long Object Single

2 bytes 4 bytes 4 bytes 4 bytes

De -32.768 a 32.767 De -2.147.483.648 a 2.147.483.647 Referncia ao objeto De -3,402823E38 a -1,401298E-45 para valores negativos e de 1,401298 E-45 a 3,402823E38 para valores positivos

String Variant numrica

10 bytes 16 bytes

De 1 a 2 bilhes de caracteres De -1,797693134862315E308 a -4,94066 E-324 para valores negativos e de 4,9406 6E-324 a 1,797693134862315E308 para valores positivos

Variant Texto

22 bytes

De 0 a 2 bilhes de caracteres

A varivel no aceita valores que nos sejam do tipo especificado. Assim, se for atribudo um valor incompatvel para a varivel ocorrer um erro em tempo de execuo facilitando a correo do cdigo.

Material de Aluno - Excel Avanado 2007

132

Declarando Varivel
Declarar uma varivel significa reservar espao na memria do computador para armazenar o seu contedo. O tamanho do espao reservado depende do tipo de varivel criada. No VBA, no obrigatrio a declarao de variveis. No entanto, recomendvel declarar todas as variveis, para evitar o uso desnecessrio de espao na memria e para que o cdigo fique mais claro e de fcil compreenso. O comando utilizado para declarar uma varivel o Dim. Veja a seguir a sintaxe desse comando: Dim Nome_da_varivel As Tipo_da_varivel Assim, para declarar uma varivel com o nome Taxa e do tipo Double, necessrio o seguinte cdigo: Dim Taxa As Double O comando Dim tambm permite que seja declarada mais de uma varivel na mesma linha de cdigo. Para isso, preciso separa as variveis com vrgula, conforme mostra o exemplo a seguir: Dim Taxa, Valor, Total As Double Dim Qde As Integer, Nome As String Se o tipo de varivel no for indicado na declarao, ela assume o tipo Variant, o que significa que a varivel pode conter qualquer tipo de valor. As variveis a seguir so do tipo Variant: Dim Nome Dim Telefone Dim Idade Se por um lado essa prtica possa parecer interessante, por outro ela altamente desaconselhvel, pois se o tipo no for declarado, no h garantia de consistncia de dados, podendo um campo numrico receber um texto e nenhum erro seria exibido. Aps declarar a varivel ela j pode receber o valor que ser atribudo a ela. Para isso, digite o nome da varivel, em seguida, o sinal de igualdade (=) e na frente o valor. Veja o exemplo a seguir: Taxa = 0,3 Outra maneira de utilizar variveis cri-las na memria no momento da sua utilizao. Esse tipo de varivel no declarada com o comando Dim. As variveis no declaradas tambm so do tipo Variant e aceitam qualquer tipo de dados. Veja a seguir um exemplo de variveis no declaradas:

Material de Aluno - Excel Avanado 2007 Sub Soma() A = Range(B1) B = Range(B2) C = A+B MsgBox A varivel C vale: & C End Sub

133

Note que as variveis A, B e C foram utilizadas normalmente mesmo no sendo declaradas. Para fazer com que toda varivel seja declarada antes de ser utilizada, siga os seguintes passos. Na janela do mdulo clique antes de todos os procedimentos. Digite a seguinte instruo: Option Explicit Pressione a tecla ENTER Essa instruo exibe que todas as variveis dentro do mdulo sejam declaradas antes de serem utilizadas. Caso exista variveis que no foram declaradas, ser gerado um erro de compilao e a execuo dos comandos suspensa. Para verificar o funcionamento da instruo Option Explicit faa o seguinte teste: Crie um mdulo no VBE (menu Inserir > Mdulo). Digite o seguinte cdigo: Option Explicit Sub Soma() A = Range(B1) B = Range(B2) C = A+B MsgBox A varivel C vale: & C End Sub Clique em qualquer linha do procedimento Soma() e, em seguida, clique no boto Executar Sub/UserForm (F5) .

Veja que ser exibida uma mensagem de erro. Este erro acontece porque tentamos utilizar as variveis A, B e C que no declaradas.

Abrangncia de uma varivel


A abrangncia de uma varivel o domnio dentro do qual ela pode ser utilizada e depende da maneira como ela foi declarada. Se a varivel for declarada dentro de um procedimento ela s poder ser utilizada dentro dele. Observe o exemplo a seguir:

Material de Aluno - Excel Avanado 2007 Sub Calcula() Dim Juro, Valor, Total As Double Juro = Range(B1) Valor = Range(B2) Total = Valor + Juro + Valor Range(B3) = Total End Sub

134

As variveis Juro, Valor e Total s podem ser utilizadas dentro do procedimento Calcula(). Se outro procedimento utilizar a varivel Juro, por exemplo, sem declarar ou atribuir valor ela, essa varivel estar vazia. Para que uma varivel possa ser utilizada por mais de um procedimento dentro de um mdulo ela precisa ser declarada na seo de declarao do mdulo utilizando a palavra-chave Private. A seo de declarao a primeira linha do mdulo.

Note que ao declarar a varivel Juro na seo de declarao no preciso declar-la no procedimento Calcula(). Ao declarar a varivel como Private ela poder ser utilizada por qualquer procedimento do mdulo. No entanto, para que uma varivel seja utilizada por vrios mdulos de um projeto, ela deve ser declarada como Public.

Operadores
Para realizarmos clculos e comparaes entre variveis no VBA, necessrio utilizar operadores. O VBA possui quatro tipos de operadores: aritmticos, de comparao, lgicos e concatenao.

Material de Aluno - Excel Avanado 2007

135

Operadores Aritmticos
Os operadores aritmticos so utilizados nos clculos matemticos. Veja a seguir a relao de operadores que podemos utilizar: Operador + * / \ ^ Mod Descrio Adio Subtrao Multiplicao Diviso Diviso inteira Exponenciao Retorno do resto da diviso

Operadores de Comparao
Os operadores de comparao so utilizados para comparar valores de duas expresses. O resultado da comparao True, se for verdadeira, ou False, se for falsa. Veja a seguir a lista de operadores de comparao: Operador = > < <> >= <= Is Descrio Igual a Maior que Menor que Diferente de Maior ou igual Menor ou igual . Compara duas variveis de referncia a objetos Like Como. Compara sequncia

de caracteres

Material de Aluno - Excel Avanado 2007

136

Operadores Lgicos
Esse tipo de operador utilizado em operaes lgicas. Acompanhe na tabela a seguir a lista de operadores lgicos: Operador And Descrio E. Acrescenta condies a um teste lgico. Retorna True se todas as condies forem verdadeiras e, no caso contrrio, retorna False Ou. Acrescenta condies a um teste lgico. Retorna True se pelo menos uma das condies for verdadeira e False caso todas forem falsas Gera uma negao lgica Realiza uma equivalncia lgica. Retorna True se as duas expresses forem verdadeiras ou falsas, caso contrrio, retorna False Realiza uma implicao lgica Realiza uma excluso lgica. Retorna True se apenas uma expresso for verdadeira, caso contrrio, retorna False

Or

Not Eqv

Imp Xor

Operadores de Concatenao
Os operadores de concatenao so utilizados para juntar textos. Veja a seguir a lista de operadores disponveis: Operador & + Descrio Concatena textos Concatena textos

Material de Aluno - Excel Avanado 2007

137

Estruturas Condicionais
As estruturas condicionais so utilizadas quando um bloco de aes deve ser executado somente se uma determina condio for satisfeita. Veremos a seguir duas estruturas condicionais: If e Case Select.

If... Then... Else


A estrutura If utilizada para executar uma instruo dependendo do resultado de uma expresso. Veja a sintaxe a seguir: If Condio Then Grupo_de_instrues_If Else Grupo_de_instrues_Else End If Onde: Condio expresso que retorna um valor True ou False. Grupo_de_instrues_If uma ou mais instrues executadas se a Condio for True. Grupo_de_instrues_Else uma ou mais instrues executadas se a Condio for False. A instruo End If dispensvel se a estrutura If puder ser definida em uma nica linha. Veja a sintaxe a seguir: If Condio Then Instruo Se houver mais de uma condio a ser analisada utiliza-se a instruo ElseIf. Veja a sintaxe: If condio Then Grupo_de_instrues_If ElseIf condio Then Grupo_de_instrues_If Else Grupo_de_instrues_Else End If Para ilustrar o funcionamento dessa estrutura acompanhe o exemplo a seguir: Sub Exemplo() Nota = Range(A1) If Nota < 7 Then

Material de Aluno - Excel Avanado 2007 Range(B1) = Reprovado ElseIf Nota < 10 Then Range(B1) = Aprovado Else

138

Range(B1) = Aprovado com mrito End If End Sub Nesse procedimento a estrutra If... then... Else foi utilizada para decidir a situao do aluno de acordo com o valor da nota. Assim, se o valor atribudo varivel Nota for menor que sete, a clula B1 recebe a palavra Reprovado, se o valor da nota for maior que sete e menor que dez a clula B1 recebe a palavra Aprovado e se o valor da nota for igual a dez a clula B1 recebe Aprovado com mrito.

Select Case
Quando precisamos realizar uma srie de testes, mais eficiente utilizarmos uma nica estrutura Select...Case, do que utilizarmos uma srie de testes utilizando a estrutura If...Then...ElseIf. O funcionamento da estrutura Select...Case, bastante intuitivo. Considere o exemplo a seguir: Dim x x=10 Select Case x Case 2 MsgBox X Case 4 MsgBox X Case 6 MsgBox X Case 8 MsgBox X Case 10 MsgBox X Case Else MsgBox X End Select

vale 2 ! vale 4 ! vale 6 ! vale 8 ! vale 10 ! no um nmero par, menor do que 12

A estrutura Select Case x, vai testar o valor de x. Em cada um dos Case, o valor de x est sendo testado. Quando for encontrado um valor coincidente com o de x, os comandos abaixo deste Case sero executados. No nosso exemplo, o comando MsgBox X vale 10 !, abaixo de Case 10, ser executado. O comando abaixo do Case Else somente ser executado, se todos os testes anteriores falharem. O uso da estrutura Select...Case, torna o cdigo mais eficiente e de mais fcil leitura.

Material de Aluno - Excel Avanado 2007

139

Estruturas de Repetio
As estruturas de repetio ou laos, so utilizadas quando um grupo de instrues precisa ser executado um nmero especfico de vezes, ou at que uma determinada condio torne-se verdadeira ou falsa. Veremos a seguir as estruturas de repetio que podem ser utilizadas no VBA para incrementar a realizao de tarefas no Excel.

Do... Lopp
Esta estrutura pode ser utilizada para repetir um trecho de cdigo, enquanto uma determinada condio for verdadeira, ou at que uma determinada condio torne-se verdadeira. Podemos utilizar dois operadores condicionais diferentes: While ou Until. Os operadores While ou Until, podem ser utilizados de duas maneiras diferentes: No incio do lao, ou no final do lao. Com isso temos quatro situaes distintas, vamos analisar cada uma delas, a partir de agora. Do While... Lopp Neste caso, estamos utilizando o operador condicional While, no incio do lao. O formato geral, neste caso o seguinte: Do While condio/teste Comando1 Comando2 ... Comandon Loop Nesta estrutura, enquanto a condio for verdadeira, o cdigo dentro do lao executado. Quando a condio tornar-se falsa, o primeiro comando aps o final do lao, ser executado. Neste caso, se a condio for falsa j na primeira vez, o lao no ser executado nenhuma vez. NOTA: O Cdigo dentro do lao deve ser capaz de alterar a condio para que essa se torne Falsa, pois caso contrrio a condio ser sempre verdadeira, e os comandos dentro do lao ficaro em execuo, infinitamente, ou at o programa travar. A criao de laos infinitos, devido a erros de programao, uma causa comum de erros e travamentos. Considere o exemplo a seguir: Dim x x=10 Contador=1 Soma=0 ' Faz a soma dos 10 primeiros nmeros maiores do que zero Do While Contador <= x

Material de Aluno - Excel Avanado 2007 Soma = Soma + Contador Contador = Contador + 1 Loop MsgBox Valor da Soma = & Soma

140

Observe que dentro do lao, vamos Incrementando o valor da varivel Contador, uma unidade para cada passagem do lao. Com isso, quando o valor de Contador, atingir 11, o teste do incio do lao torna-se falso, e o lao encerrado. Do... Loop While Neste caso, deslocamos o teste de condio para o final do lao. Com o teste no final do lao, o cdigo dentro do lao, ser executado, pelo menos uma vez, pois o teste somente feito no final, e continuar sendo executado, enquanto a condio for verdadeira. O formato geral, neste caso o seguinte: Do Comando1 Comando2 ... Comandon Loop While condio/teste Nesta estrutura, enquanto a condio for verdadeira, o cdigo dentro do lao executado. Quando a condio tornar-se falsa, o primeiro comando aps o final do lao, ser executado. Neste caso, se a condio for falsa j na primeira vez, o lao ser executado uma nica vez. NOTA: O Cdigo dentro do lao deve ser capaz de alterar a condio para Falso, quando for necessrio, pois caso contrrio a condio ser sempre verdadeira, e os comandos dentro do lao ficaro em execuo, infinitamente, ou at o programa travar. A criao de laos infinitos, devido a erros de programao, uma causa comum de erros e travamentos. Considere o exemplo a seguir: Dim x x=10 Contador=1 Soma=0 Faz a soma dos 10 primeiros nmeros maiores do que zero Do Soma = Soma + Contador Contador = Contador + 1 Loop While Contador <= x MsgBox Valor da Soma = & Soma Vamos modificar um pouco o nosso exemplo. Considere o exemplo mostrado a seguir: Dim x x=10

Material de Aluno - Excel Avanado 2007

141

Contador=11 Soma=0 O lao ser executado uma nica vez, pois a condio Contador < x falsa. Do Soma = Soma + Contador Contador = Contador + 1 Loop While Contador <= x MsgBox Valor da Soma = & Soma Qual o valor ser exibido para a varivel Soma ? Muito simples. A condio Contador < x falsa, pois x=10 e Contador=12 (Lembre que o Contador foi incrementado de uma unidade dentro do lao, antes do teste ser realizado). Neste caso, o lao ser executado uma nica vez, pois o teste de condio est no final do lao. Quando o lao executado, atribudo o valor 11 para a varivel Soma. Com isso, o valor exibido para a varivel Soma, ser 11. Do Until... Loop Neste caso, estamos utilizando o operador condicional Until, no incio do lao. O formato geral, neste caso o seguinte: Do Until condio Comando1 Comando2 ... Comandon Loop Nesta estrutura, enquanto a condio for falsa, o cdigo dentro do lao executado. Quando a condio tornar-se verdadeira, o primeiro comando aps o final do lao, ser executado. Neste caso, se a condio for verdadeira, j na primeira vez, o lao no ser executado nenhuma vez. NOTA: O Cdigo dentro do lao deve ser capaz de tornar a condio Verdadeira, quando for necessrio, pois caso contrrio a condio ser sempre Falsa, e os comandos dentro do lao ficaro em execuo, infinitamente, ou at o programa travar. A criao de laos infinitos, devido a erros de programao, uma causa comum de erros e travamentos. Considere o exemplo a seguir: Dim x x=10 Contador=1 Soma=0 Faz a soma dos 10 primeiros nmeros maiores do que zero Do Until Contador > x Soma = Soma + Contador Contador = Contador + 1 Loop

Material de Aluno - Excel Avanado 2007 MsgBox Valor da Soma = & Soma

142

Observe que dentro do lao, vamos Incrementando o valor da varivel Contador, uma unidade para cada passagem do lao. Com isso, quando o valor de Contador, atingir 11, o teste do incio do lao torna-se Verdadeiro, e o lao encerrado. Do... Lopp Until Neste caso, deslocamos o teste de condio para o final do lao. Com o teste no final do lao, o cdigo dentro do lao, ser executado, pelo menos uma vez, pois o teste somente feito no final, e continuar sendo executado, enquanto a condio for Falsa. O formato geral, neste caso o seguinte: Do Comando1 Comando2 ... Comandon Loop Until condio Nesta estrutura, enquanto a condio for Falsa, o cdigo dentro do lao executado. Quando a condio tornar-se Verdadeira, o primeiro comando aps o final do lao, ser executado. Neste caso, se a condio for Verdadeira, j na primeira vez, o lao ser executado uma nica vez. NOTA: O Cdigo dentro do lao deve ser capaz de tornar a condio Verdadeira, quando for necessrio, pois caso contrrio a condio ser sempre Falsa, e os comandos dentro do lao ficaro em execuo, infinitamente, ou at o programa travar. A criao de laos infinitos, devido a erros de programao, uma causa comum de erros e travamentos. Considere o exemplo a seguir: Dim x x=10 Contador=1 Soma=0 Faz a soma dos 10 primeiros nmeros maiores do que zero Do Soma = Soma + Contador Contador = Contador + 1 Loop Until Contador > x MsgBox Valor da Soma = & Soma Vamos modificar um pouco o nosso exemplo. Considere o exemplo a seguir: Dim x x=10 Contador=11 Soma=0 O lao ser executado uma nica vez, pois a condio Contador >= x verdadeira. Do

Material de Aluno - Excel Avanado 2007 Soma = Soma + Contador Contador = Contador + 1 Loop Until Contador >= x MsgBox Valor da Soma = & Soma

143

Qual o valor ser exibido para a varivel Soma ? Muito simples. A condio Contador>= x falsa, pois x=10 e Contador=12 (Lembre que o Contador foi incrementado de uma unidade, na linha 11, na primeira passagem do lao). Neste caso, o lao ser executado uma nica vez, pois o teste de condio est no final do lao. Quando o lao executado, atribudo o valor 11 para a varivel Soma. Com isso, o valor exibido para a varivel Soma, ser 11.

For... Next
Utilizamos o lao For...Next, para repetir um segmento de cdigo, um nmero determinado de vezes. Utilizamos esta estrutura, quando j sabemos o nmero de vezes que uma determinada seo de cdigo deve ser repetida. Neste tipo de estrutura, normalmente, utilizamos uma varivel como contador. Este contador varia de um valor inicial at um valor final. O Formato geral desta estrutura o seguinte: For contador = inicio to fim incremento Comando1 Comando2 ... Comandon Next No incio a varivel contador tem o valor definido. Em cada passagem do lao, a varivel contador incrementada pelo valor definido em incremento. Caso no seja definido o incremento, ser utilizado o padro 1. Considere o exemplo a seguir: Dim x x=10 Soma=0 Faz a soma dos 10 primeiros nmeros maiores do que zero For i=1 to x Soma = Soma +i Next MsgBox Valor da Soma = & Soma Neste exemplo, a varivel i inicia com o valor 1. Em cada passo, o valor de i acrescentado varivel Soma. Como o incremento no foi definido, ser utilizado o padro que 1. Com isso, ao final do lao For...Next, a varivel Soma, ter armazenado o valor da soma dos 10 primeiros nmeros inteiros. Poderamos utilizar um valor de incremento diferente de 1, para, por exemplo, obter a soma somente dos nmeros mpares menores do que 10:

Material de Aluno - Excel Avanado 2007

144

Dim x x=10 Soma=0 'Faz a soma dos 10 primeiros nmeros mpares For i=1 to x Step 2 Soma = Soma +i Next MsgBox Valor da Soma = & Soma

Material de Aluno - Excel Avanado 2007

145

VBA O MODELO DE OBJETOS DO EXCEL


Na maioria das vezes, o modelo de objeto diretamente emula a interface do usurio. Por exemplo, o objeto Application representa o aplicativo inteiro, e cada objeto Workbook contm uma coleo de objetos Worksheet. A partir da, a abstrao principal que representa as clulas o objeto Range, que permite que voc trabalhe com clulas individuais ou grupos de clulas. Podemos dividir o modelo de objetos do Excel da seguinte forma: Objeto do aplicativo (Application) Objeto pasta de trabalho (Workbook) Objeto de Planilha (Worksheet) Objeto intervalo (Range) A Biblioteca de objetos do Excel oferece ao VBA a possibilidade de interagir com seus recursos. Ao afirmarmos isto, fica claro que tais objetos so disponibilizados no apenas ao ambiente de desenvolvimento, mas tambm, e mais importante, ao usurio que dele faz uso. Em outras palavras, para poder escrever seus prprios cdigos em VBA, voc dever conhecer os objetos do Excel com os quais operar, e assim explorar de modo completo e aprofundado este recurso. Saiba que cada biblioteca possui dezenas/centenas de objetos, cada objeto com inmeros mtodos, propriedades e colees. Com a utilizao dos objetos disponibilizados pelo Office, podemos criar solues bastante sofisticadas. A melhor maneira de compreender como o VBA dialoga com os objetos do Excel , de incio, gravar macros simples utilizando a ferramenta de gravao de macros e, em seguida, visualizar o cdigo gerado automaticamente pelo VBA. Lembre-se: uma macro nada mais do que uma sequncia de aes agravada pelo usurio, a qual passa a constituir um pequeno programa cujo cdigo gerado pelo prprio VBA que pode executado inmeras vezes a partir de um nico comando associado a uma combinao de teclas de atalho ou a um boto inserido nas barras de ferramentas do aplicativo. de extrema importncia ressaltar que, por executar cdigos de programa dentro do Excel, macros e aplicativos VBA podem representar uma grave ameaa para os usurios, pois podem conter cdigos maliciosos criados para corromper ou, pior, roubar informaes preciosas contidas em suas planilhas. Considere a seguinte ilustrao:

Material de Aluno - Excel Avanado 2007

146

Os diversos objetos disponveis esto agrupados em Bibliotecas. Uma Biblioteca um conjunto de objetos que so utilizados para uma determinada funo/atividade. Por exemplo, todos os objetos para acesso a dados so agrupados em uma biblioteca chamada DAO - Data Access Objects. Existe uma outra biblioteca para acesso a dados, conhecida como ADO - Activex Data Objects. Existe uma biblioteca com os diversos objetos do Excel e assim por diante. Existem dezenas de bibliotecas disponveis. Isso demonstra bem o poder da utilizao do VBA em conjunto com os Objetos/Bibliotecas disponveis. Em cada Biblioteca esto disponveis dezenas/centenas de objetos. Cada objeto utilizado para um conjunto de aes especfico. Por exemplo: O objeto RecordSet utilizado para acessar dados de uma tabela. Uma vez criado um objeto RecordSet, podemos realizar uma srie de operaes sobre os diversos registros da tabela. Cada objeto possui um conjunto de mtodos, propriedades e colees. Um mtodo realiza uma operao especfica, como por exemplo o mtodo Open, do objeto RecordSet. Este mtodo utilizado para estabelecer a conexo entre um objeto RecordSet e um determinado conjunto de Registros. No cdigo VBA, utilizamos a seguinte sintaxe:

Material de Aluno - Excel Avanado 2007

147

NomeDoObjeto.NomeDoMtodo(par1, par2, ..., parn) Por exemplo, para utilizar o mtodo Open, de um objeto RecordSet chamado rs, utilizaramos a seguinte sintaxe: rs.Open("Pedidos") Uma propriedade descreve uma caracterstica do objeto. Por exemplo, temos uma propriedade chamada RecordCount que informa quantos registros existem no objeto RecordSet. Por exemplo, para atribuir a varivel quantos, o nmero de registros de um objeto RecordSet chamado rs, utilizaramos o seguinte comando: quantos = rs.RecordCount Uma coleo um conjunto de elementos do mesmo tipo. Por exemplo, todo banco de dados do Microsoft Access, possui uma coleo chamada Forms. Atravs desta coleo podemos ter acesso a todos os Formulrios do banco de dados. Toda planilha do Excel tem uma coleo chamada Worksheets. Atravs dessa coleo temos acesso a todas as planilhas de um arquivo do Excel. Podemos percorrer todos os elementos de uma coleo, utilizando a estrutura de Controle For...Each, que ser tratada no prximo tpico. A Estrutura For...Each A estrutura For...Each utilizada para "percorrer" todos os elementos de uma coleo. Por exemplo, se quisermos percorrer todos os elementos da coleo Forms de um banco de dados, exibindo o nome de cada formulrio, devemos utilizar a estrutura For/Each, para percorrer todos os elementos da coleo Forms, exibindo o nome de cada um dos elementos. Uma viso geral da Biblioteca de Objetos do Excel:

Material de Aluno - Excel Avanado 2007

148

NOTA: Quando trabalhamos com o VBA, temos que utilizar os nomes dos comandos, objetos, funes, mtodos e propriedades em ingls. No existe traduo. Por exemplo, se ao invs de Left, usarmos Esquerda para o nome da funo, ser gerado um erro, informando que no existe a funo Esquerda. Observe que uma biblioteca de objetos forma uma espcie de hierarquia de objetos. Por exemplo, um objeto Worksheet somente existe dentro do contexto de um objeto Application. J o prprio objeto Worksheet pode possuir outros objetos, cada objeto com os seus mtodos e propriedades, conforme indicado na figura a seguir:

Material de Aluno - Excel Avanado 2007

149

Veja que um nico objeto da hierarquia de objetos Worksheet, composto de dezenas de outros objetos, mtodos, propriedades e colees. esse grande nmero de objetos que possibilita o acesso a todo e qualquer elemento de uma planilha do Excel, atravs da programao VBA.

Material de Aluno - Excel Avanado 2007

150

FORMULRIOS PERSONALIZADOS
Os formulrios criados no Editor do Visual Basic (VBE) so mais complexos e podem executar vrios tipos de tarefas. Nesse tipo de formulrio os campos so conectados base de dados por meio de cdigo.

Formulrio para Cadastrar Dados


Vamos criar um formulrio para cadastrar os dados dos clientes de uma empresa. Antes de iniciar a criao do formulrio preciso criar a planilha que armazenar dos dados cadastrados pelo formulrio, renome-la com o nome Clientes, e salv-la com o nome Dados. Essa planilha deve conter as seguintes informaes:

Criando uma Aplicao no VBA


As aplicaes no VBA devem passar pelos seguintes passos: Criao da interface. Configurao das propriedades dos controles. Desenvolvimento do cdigo. A criao da interface consiste em criar e organizar os controles que iro compor o formulrio. Cada controle possui vrias propriedades que depois de configuradas permitem que os controles executem seu papel. O desenvolvimento do cdigo para uma aplicao VBA necessrio quando apenas configurar as propriedades dos controles no suficiente para que a aplicao realize as aes necessrias.

Criando a Interface

Material de Aluno - Excel Avanado 2007

151

O UserForm o formulrio do VBA onde sero colocados os controles. A Caixa de ferramentas exibida junto com o UserForm na janela do Microsoft Visual Basic contm os controles disponveis para criar o formulrio. Veja a seguir como criar o UserForm: Abra o Editor do Visual Basic. Na janela do VBE, clique no menu Inserir e, em seguida, clique em UserForm:

Um UserForm em branco aparece na tela juntamente com a Caixa de ferramentas. Ao criar um UserForm, o mesmo inserido com um tamanho padro, no entanto, ele pode ser redimensionado por meio das alas localizadas nas bordas do objeto. NOTA: Se a Caixa de ferramentas no estiver visvel, clique no menu Exibir e, em seguida, em Caixa de ferramentas. Aps criar o UserForm importante alterar algumas propriedades antes de seguir o processo de criao do formulrio. Siga os passos a seguir: Selecione o UserForm. No painel Propriedades, clique na propriedade Name e digite o frmClientes. No painel Propriedades, clique na propriedade Caption e digite Cadastro de Clientes para que seja o ttulo do formulrio e pressione a tecla ENTER.

Material de Aluno - Excel Avanado 2007

152

A propriedade Name do UserForm e dos demais controles define o nome atribudo ao objeto. Esse nome deve ser significativo para que por meio dele seja possvel identificar o tipo do objeto e o seu papel no projeto. Por isso, foi utilizado o nome frmClientes: frm indica que o objeto um UserForm e Clientes especifica que o formulrio ser utilizado para cadastrar os dados dos clientes. Acompanhe a seguir como inserir controles no formulrio: Selecione o UserForm. Na Caixa de ferramentas selecione o controle desejado e, em seguida, posicione o cursor do mouse sobre o UserForm. Clique e arraste o cursor do mouse para criar o controle. Agora insira os controles para criar o formulrio de cadastro de clientes como mostra o modelo a seguir:

Clique na ferramenta Quadro

e crie o controle acima da caixa de combinao. dentro dele.

Mantendo o quadro selecionado, insira dois botes de opo No final, o formulrio dever ficar com a seguinte aparncia:

Material de Aluno - Excel Avanado 2007

153

Se for preciso mover ou excluir mais de um controle ao mesmo tempo necessrio selecion-los com a seta. Para selecionar controles aleatrios, pressione a tecla Ctrl enquanto seleciona os objetos do formulrio. Se for necessrio selecionar um intervalo de controles, pressione a tecla Ctrl e selecione o primeiro objeto, em seguida, pressione a tecla Shift e selecione o ltimo controle. Todos os controles que estiverem entre o primeiro e o ltimo sero selecionados. Vamos agora configurar os controles. Nomear o UserForm e os controles de forma padronizada importante para que eles possam ser identificados pelo nome facilitando a criao e manuteno do cdigo. A nomenclatura utilizada definida por cada desenvolvedor, mas comumente utiliza-se nas trs primeiras letras uma sigla que identifica o tipo de objeto, como por exemplo, bco que indica que o objeto um Boto de comando e, em seguida, o nome que identifica sua funo, como por exemplo, Salvar. Veja a seguir a definio das siglas dos controles que sero utilizados:

Controle
Barra de rolagem (ScrollBar) Boto de ativao (ToggleButton) Boto de comando (CommandButton) Boto de opo (OptionButton) Boto de rotao (SpinButton) Caixa de combinao (ComboBox) Caixa de listagem (ListBox)

Sigla
bar bat bco bop bro cbo cxl

Material de Aluno - Excel Avanado 2007

154

Caixa de seleo (CheckBox) Caixa de texto (TextBox) Imagem (Image) Multi-pginas (MultiPage) Quadro (Frame) RefEdit (RefEdit) Rtulo (Label) TabStrip (TabStrip)

cxs cxt img mpa qua ref rot tab

Se os controles forem nomeados como cxtNome, cxtEndereo e cxcEstado possvel saber o tipo de controle e que ele se refere, ao contrrio dos nomes padres criados pelo VBA como TextBox1, TextBox2 e ComboBox1. Alm da propriedade Name h outras que devem ser definidas para configurar os controles. Todas as propriedades ficam localizadas no painel Propriedades e ao selecionar um controle o painel exibe as propriedades referentes a esse controle. Para alterar a propriedade de um controle, siga os seguintes passos: Selecione o controle que ser configurado. No painel Propriedades, clique na propriedade que deseja alterar. No campo direita da propriedade, digite ou escolha uma nova opo. Pressione a tecla ENTER para aplicar a alterao. Veja a seguir as propriedades que devem ser alteradas para cada controle do formulrio de cadastro de clientes: Controle Label1 Label2 Label3 Label4 TextBox1 Name rotNome rotTelefone rotEmail rotEstado cxtNome Caption Nome: Telefone: E-mail: Estado: Accelerator N T E S -

Material de Aluno - Excel Avanado 2007 TextBox2 TextBox3 CheckBox1 ComboBox1 Frame1 OptionButton1 OptionButton2 CommandButton1 CommandButton2 CommandButton3 cxtTelefone cxtEmail cxsMalaDireta cboEstado quaTipoPessoa bopPessoaFisica bopPessoaJuridica bcoCadastrar bcoLimpar bcoFechar

155 Mandar mala direta Tipo de Pessoa Fsica Jurdica Cadastrar Limpar Fechar M I J -

Alm dessas defina a propriedade Value do controle bopPessoaFisica como True para que fique selecionado por padro. Altere tambm a propriedade Style do controle cboEstado para 2 frmStyleDropDownList, assim no ser possvel digitar dentro do campo. Aps essas configuraes o formulrio dever ficar da seguinte maneira:

A propriedade Caption define o texto que ficar visvel no controle. A propriedade Accelerator definida a letra que ser utilizada como tecla de acelerao para o controle, ou seja, a tecla de atalho em juno com a tecla Alt. Criando o Cdigo Nessa fase criaremos o cdigo que far com que os dados digitados no formulrio sejam salvos na planilha Clientes. O cdigo gerado para o evento dos controles criado dentro da janela de cdigo do prprio formulrio. Para abrir essa janela siga os passos abaixo:

Material de Aluno - Excel Avanado 2007 Selecione o UserForm.

156

Clique no menu Exibir e, em seguida, na opo Cdigo (F7). A janela do cdigo exibida:

O cdigo exibido no ser utilizado no nosso projeto, ento, selecione e pressione a tecla Deleten para apag-la.

Observe que na barra de ttulo da janela do cdigo exibido o nome do formulrio frmClientes, indicando que esse cdigo pertence a ele. O primeiro cdigo que vamos criar um procedimento que insere as siglas dos estados brasileiros nas caixa de combinao cboEstado. Para isso, digite o seguinte cdigo: Sub CarregarCaixa() Dim Estado(26) As String Estado(0) = AC Estado(1) = AL Estado(2) = AM Estado(3) = AP Estado(4) = BA Estado(5) = CE Estado(6) = DF Estado(7) = ES Estado(8) = GO Estado(9) = MA Estado(10) = MG Estado(11) = MS Estado(12) = MT Estado(13) = PA Estado(14) = PB Estado(15) = PE Estado(16) = PI Estado(17) = PR Estado(18) = RJ Estado(19) = RN Estado(20) = RO Estado(21) = RR

Material de Aluno - Excel Avanado 2007 Estado(22) = RS Estado(23) = SC Estado(24) = SE Estado(25) = SP Estado(26) = TO cboEstado.List = Estado() End Sub

157

Esse cdigo deve ser executado sempre que o formulrio for iniciado para que o controle cboEstado receba a lista de siglas. Ento, criaremos uma referncia desse procedimento no evento Initialize que executado ao abrir o formulrio. Acompanhe os passos a seguir: Na janela do cdigo, clique na lista de objetos posicionada no canto superior esquerdo da pgina e escolha UserForm. Na lista de eventos localizada no canto direito escolha Initialize para exibir o seguinte cdigo: Private Sub UserForm_Initialize() End Sub CarregarCaixa Apague o cdigo do evento Click que foi gerado automaticamente. Insira a seguinte linha de cdigo:

Ao iniciar o formulrio preciso selecionar a planilha que ser utilizada para cadastrar as informaes e a prxima clula em branco para receber os dados. O cdigo para selecionar a planilha e a clula : Seleciona a planilha Sheets(Clientes).Select Localiza a prxima clula vazia Range(A1048576).End(xlUp).Offset(1,0).Select O evento Initialize ficar da seguinte maneira: Private Sub UserForm_Initialize() CarregarCaixa Seleciona a planilha Sheets(Clientes).Select Localiza a prxima clula vazia Range(A1048576).End(xlUp).Offset(1,0).Select End Sub O prximo passo criar o cdigo para os botes. Para isso, clique duas vezes sobre o boto Fechar e insira o cdigo Unload Me dentro do procedimento. O mtodo Unload faz o formulrio fechar e a palavra Me indica que para fechar o formulrio em que foi criado o cdigo. O procedimento ficar da seguinte maneira:

Material de Aluno - Excel Avanado 2007 Private Sub bcoFechar_Click() Unload Me End Sub

158

Clique duas vezes sobre o boto Limpar e dentro do procedimento exibido insira as linhas como mostra o cdigo a seguir: Private Sub bcoLimpar_Click() cxtNome = cxtTelefone = cxtEmail = End Sub Observe que os campos de textos do formulrio recebem um espao em branco () o que faz com que eles sejam limpos. Para concluir criaremos o cdigo para o boto Cadastrar que far com que as informaes digitadas e escolhidas no formulrio sejam gravadas na planilha Clientes. O cdigo desse boto deve conter instrues que verificam a consistncia dos dados, gravam os dados e localizam a prxima clula vazia para gravar novos dados. Para iniciar a programao, clique duas vezes sobre o boto Cadastrar para exibir o procedimento: Private Sub bcoCadastrar_Click() End Sub Entre essas duas linhas vamos criar primeiro o cdigo para fazer a consistncia de dados, ou seja, verificar se os campos de textos esto preenchidos e se o estado foi escolhido. Insira o seguinte cdigo: Consistncia dos dados If Me.cxtNome.Value = Then MsgBox Preencha o campo Nome, vbExclamation, Aviso Me.cxtNome.SetFocus Exit Sub ElseIf Me.cxtTelefone.Value = Then MsgBox Preencha o campo Telefone, vbExclamation, Aviso Me.cxtTelefone.SetFocus Exit Sub ElseIf Me.cxtEmail.Value = Then MsgBox Preencha o campo E-mail, vbExclamation, Aviso Me.cxtEmail.SetFocus Exit Sub ElseIf Me.cboEstado.Value = Then MsgBox Escolha o Estado, vbExclamation, Aviso Me.cboEstado.SetFocus Exit Sub End If Nesse cdigo cada estrutura If e ElseIf verifica se o campo est vazio. Caso esteja, exibida uma caixa de dilogo com umamensagem de aviso e o restante do cdigo no executado, pois o comando Exit Sub fora a sada do procedimento.

Material de Aluno - Excel Avanado 2007

159

Se todos os campos estiverem preenchidos, as informaes devem ser gravadas. Veja a seguir o cdigo para gravar os dados. Grava os dados ActiveCell.Value = Me.cxtNome.Value ActiveCell.Offset(0,1).Value = Me.cxtTelefone.Value ActiveCell.Offset(0,2).Value = Me.cxtEmail.Value ActiveCell.Offset(0,3).Value = Me.cboEstado.Value If bopPessoaFisica.Value = True Then ActiveCell.Offset(0,4).Value = Fsica Else: ActiveCell.Offset(0,4).Value = Jurdica End If If cxsMalaDireta.Value = True Then ActiveCell.Offset(0,5).Value = Sim Else: ActiveCell.Offset(0,5).Value = No End If Observe que a clula ativa, que primeira da linha, recebe o valor do campo cxtNome. Em seguida, a prxima clula ativa passa a ser a clula direita da clula atual, ou seja, ActiveCell.Offset(0,1), que receber o valor do campo cxtTelefone. O nmero zero indica que a clula est na mesma linha e o segundo indica a movimentao da clula com relao coluna. Assim, se a clula ativa for definida por ActiveCell.Offset(-1,1), significa que ela estar na linha cima da clula ativa e uma posio direita, e se for definida por ActiveCell.Offset(1,2), significa que ela estar na linha abaixo da clula ativa atual e duas posies a direita. Para cadastrar o tipo de pessoa foi necessrio utilizar a estrutura de condio If para verificar qual das duas opes est selecionada. Assim, se o boto de opo bopPessoaFisica estiver selecionado, ou seja, a propriedade Value estiver como True, ento a clula ActiveCell.Offset(0,4) recebe a palavra Fsica, caso contrrio, ela recebe a palavra Jurdica. O uso dessa condio foi possvel porque apenas um dos dois botes de opo foi selecionado, ento se a propriedade Value do boto de opo bopPessoaFisica estiver como True, significa que a propriedade Value do boto de opo bopPessoaJuridica est como False e vice versa. Por fim, h o cdigo da caixa de seleo cxsMalaDireta. Essa caixa de seleo indica se o cliente v ai ou no receber a mala direta. Nesse caso, foi utilizada a estrutura de condio If onde feito o seguinte teste: se a propriedade Value da caixa de seleo cxsMalaDireta estiver como True, ou seja, estiver selecionada, a clula ActiveCell.Offset(0,5) recebe a palavra Sim, caso contrrio, recebe a palavra No. Antes de finalizar o cdigo do boto Cadastrar preciso que seja encontrada a prxima clula em branco para que ao cadastrar outro cliente os novos dados

Material de Aluno - Excel Avanado 2007

160

no sobreponham os antigos. Para isso, insira a seguinte linha no final do cdigo: Range(A1048576).End(xlUp).Offset(1,0).Select O cdigo completo do boto Cadastrar ficar da seguinte maneira: Private Sub bcoCadastrar_Click() Consistncia dos dados If Me.cxtNome.Value = Then MsgBox Preencha o campo Nome, vbExclamation, Aviso Me.cxtNome.SetFocus Exit Sub ElseIf Me.cxtTelefone.Value = Then MsgBox Preencha o campo Telefone, vbExclamation, Aviso Me.cxtTelefone.SetFocus Exit Sub ElseIf Me.cxtEmail.Value = Then MsgBox Preencha o campo E-mail, vbExclamation, Aviso Me.cxtEmail.SetFocus Exit Sub ElseIf Me.cboEstado.Value = Then MsgBox Escolha o Estado, vbExclamation, Aviso Me.cboEstado.SetFocus Exit Sub End If Grava os dados ActiveCell.Value = Me.cxtNome.Value ActiveCell.Offset(0,1).Value = Me.cxtTelefone.Value ActiveCell.Offset(0,2).Value = Me.cxtEmail.Value ActiveCell.Offset(0,3).Value = Me.cboEstado.Value If bopPessoaFisica.Value = True Then ActiveCell.Offset(0,4).Value = Fsica Else: ActiveCell.Offset(0,4).Value = Jurdica End If If cxsMalaDireta.Value = True Then ActiveCell.Offset(0,5).Value = Sim Else: ActiveCell.Offset(0,5).Value = No End If Localiza a prxima clula vazia Range(A1048576).End(xlUp).Offset(1,0).Select End Sub Executando o Formulrio Aps criar a interface e o cdigo do formulrio possvel execut-lo acionando o boto Executar Sub/UserForm (F5) da barra padro do VBE.

Entretanto, para que o usurio possa utilizar o formulrio diretamente do Excel, vamos criar um boto em uma planilha para acionar o formulrio. Antes de criar o boto, vamos criar a macro que ser atribuda a ele: Cerifique-se que est no VBE. Clique no menu Inserir > Mdulo.

Material de Aluno - Excel Avanado 2007 Digite o seguinte cdigo:

161

Sub ExibirFrmClientes() frmClientes.Show End Sub Salve o projeto.

Acompanhe a seguir como criar um boto para abrir o formulrio: No Excel, insira uma planilha e renomei-a como Menu. Nessa planilha, insira um boto, e na caixa de dilogo Atribuir macro, escolha a macro ExibirFrmClientes. Altere o rtulo do boto para Cadastrar Clientes. Antes de executar o formulrio, selecione a primeira clula vazia da planilha Clientes para que os dados sejam cadastrados nas clulas corretas. Veja como executar e cadastrar os dados: Pressione o boto Cadastrar Clientes na planilha Menu. O formulrio Cadastrar Clientes exibido na tela. Preencha os campos e, em seguida, clique no boto Cadastrar do formulrio. Veja o exemplo a seguir:

Veja que as informaes so inseridas na planilha Clientes:

Para inserir outro cliente, clique no boto Limpar e digite as novas informaes, ou clique no boto Fechar para sair do formulrio.

Material de Aluno - Excel Avanado 2007

162

APLICATIVOS
Os recursos do Excel 2007 permitem a construo de aplicativos na planilha eletrnica para automatizar o trabalho do usurio.

Criando Aplicativos
Para ilustra a utilizao dos recursos do Excel, vamos criar um aplicativo em VBA para cadastrar dados em uma agenda eletrnica.

Criando o Banco de Dados


Os dados cadastrados pelo aplicativo precisam ser salvos em um banco de dados para que possam ser consultados sempre que for preciso. O banco de dados do nosso aplicativo ser a prpria planilha do Excel. Veja a seguir como criar as planilhas: Crie uma nova pasta de trabalho. Renomeie a primeira para Menu e a segunda para Agenda. Salve o arquivo como tipo habilitada para macros e com o nome Aplicativo Agenda. A planilha Agenda desempenhar o papel de uma tabela do banco de dados, assim iremos nos referir a ela como tabela Agenda. Essa tabela vai armazenar as informaes dos campos utilizados pelo aplicativo, por isso preciso definir quais informaes sero cadastradas na agenda. Veja a seguir os campos da tabela Agenda:

Coluna A Nome Coluna B Endereo Coluna C Bairro Coluna D Estado

Material de Aluno - Excel Avanado 2007 Coluna E Cidade Coluna F Cep Coluna G Residencial Coluna H Celular Coluna I Comercial Coluna J Anotaes

163

Para facilitar a criao do aplicativo principalmente o desenvolvimento do cdigo, nomeie as clulas da planilha Agenda que armazenaro as informaes. Veja como nomear um intervalo de clulas: Selecione o intervalo de clulas que deseja nomear. Clique na caixa de Nome na extremidade esquerda da barra de frmulas. Digite o nome para o intervalo selecionado. Pressione a tecla ENTER. Agora nomeie os seguintes intervalos com os respectivos nomes: Coluna A2:A200 B2:B200 C2:C200 D2:D200 E2:E200 F2:F200 G2:G200 H2:H200 I2:I200 J2:J200 Nome Nome Endereo Bairro Estado Cidade Cep Residencial Celular Comercial Anotaes

Um banco de dados feito em uma planilha do Excel pode conter at 1.048.576 registros, porque esta a quantidade de linhas que uma planilha possui, e at 16.384 campos, porque a quantidade de colunas de uma planilha.

Criando a Interface dos Formulrios


Aps estruturar a planilha que funcionar como banco de dados, crie os formulrios que sero a interface para o cadastro e consulta da agenda. Veja a seguir como criar o formulrio de cadastro:

Material de Aluno - Excel Avanado 2007 Abra o VBE. Clique no menu Inserir > UserForm.

164

Um formulrio em branco aparece na tela juntamente com a Caixa de ferramentas. Com o UserForm selecionado, clique na propriedade Name (do painel Propriedades) e digite frmCadastro. Ainda no painel Propriedades, clique na propriedade Captio, digite Agenda

Telefnica como novo ttulo do formulrio e pressione a tecla ENTER.

Redimensione o tamanho do formulrio por meio das alas localizadas nas bordas do objeto para que fique do tamanho desejado. Aps criar o formulrio, vamos inserir os controles. Selecione o UserForm. Em seguida, insira os seguintes controles: Controle Rtulo (Label) Quadro (Frame) Caixa de texto Caixa de combinao Boto de comando (CommandButton) Quantidade 10 4 9 1 3

Organize os controles de modo que fiquem como a imagem a seguir:

Material de Aluno - Excel Avanado 2007

165

Lembre-se que os controles que esto dentro de um quadro devem ser inseridos com o controle Quadro selecionado. Veja como criar o formulrio de consulta: Clique no menu Inserir > UserForm. Um novo formulrio em branco aparecer na tela. Com o UserForm selecionado, clique na propriedade Name e digite frmConsulta. Altere o Caption do novo formulrio para Agenda Telefnica para que se torne o seu ttulo e, em seguida, pressione a tecla ENTER. Ajuste o tamanho do formulrio por meio das alas localizadas nas bordas do objeto para que fique do tamanho desejado. Selecione o formulrio frmConsulta. Em seguida, insira os seguintes controles: Controle Rtulo (Label) Quantidade 12

Material de Aluno - Excel Avanado 2007 Quadro (Frame) Caixa de texto Caixa de combinao Boto de comando (SpinButton)

166 1 11 1 1

Organize os controles de modo que fiquem como a imagem a seguir:

Configurando as Propriedades dos Controles


Para alterar a propriedade de um controle preciso selecion-lo e no painel Propriedades alterar a propriedade desejada. Veja a seguir as propriedades que devem ser alteradas para cada controle do formulrio de cadastro da agenda:

Material de Aluno - Excel Avanado 2007

167

Controle Label1 Label2 Label3 Label4 Label5 Label6 Label7 Label8 Label9 Label10 Frame1 Frame2 Frame3 Frame4 TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 TextBox6 TextBox7 TextBox8 TextBox9 Caixa de combinao CommandButton1 CommandButton2 CommandButton3

Name rotTitulo rotNome rotEndereo rotBairro rotEstado rotCidade rotCep rotResidencial rotCelular rotComercial quaContato quaEndereo quaTelefones quaAnotaes cxtNome cxtEndereo cxtBairro cxtCidade cxtCep cxtResidencial cxtCelular cxtComercial cxtAnotaes cboEstado bcoCadastrar bcoCancelar bcoFechar

Caption Ttulo: Nome: Endereo: Bairro Estado: Cidade: CEP: Residencial: Celular: Comercial: Contato Endereo Telefones Anotaes Cadastrar Limpar Fechar

Accelerator N R B E D P S L M C A F

Material de Aluno - Excel Avanado 2007

168

Acompanhe agora as propriedades que devem ser alteradas para cada controle do formulrio de consulta da agenda: Controle Label1 Label2 Label3 Label4 Label5 Label6 Label7 Label8 Label9 Label10 Label11 Label12 Frame1 TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 TextBox6 TextBox7 TextBox8 TextBox9 TextBox10 SpinButton1 CommandButton1 Name rotTitulo rotNome rotEndereo rotBairro rotEstado rotCidade rotCep rotResidencial rotCelular rotComercial rotAnotaes rtoContRegistro quaResultado cxtPesquisa cxtNome cxtEndereo cxtBairro cxtCidade cxtCep cxtResidencial cxtCelular cxtComercial cxtAnotaes broMoveRegistros bcoCadastrar Caption Ttulo: Nome: Endereo: Bairro Estado: Cidade: CEP: Residencial: Celular: Comercial: Anotaes: Resultado Cadastrar

Material de Aluno - Excel Avanado 2007

169

O tamanho dos controles pode ser definido nas propriedades Height (altura) e Width (largura).

Desenvolvimento do Cdigo
Aps criar a interface e configurar os controles, crie o cdigo que ser responsvel por registrar as informaes na planilha e localizar uma informao cadastrada. Veja a seguir a criao do cdigo para o cadastro: Selecione o formulrio frmCadastro. Clique no menu Exibir > Cdigo (F7). A janela do cdigo exibida com um cdigo padro. Apague esse cdigo, pois ele no ser utilizado no nosso projeto. Digite o seguinte cdigo: Private Sub UserForm_Initialize() 'Executa o procedimento CarregarCaixa 'Ativa a planilha Sheets("Agenda").Activate 'Localiza a prxima clula vazia Range("A1048576").End(xlUp).Offset(1, 0).Select End Sub Sub CarregarCaixa() Dim Estado(26) As String Estado(0) = "AC" Estado(1) = "AL" Estado(2) = "AM" Estado(3) = "AP" Estado(4) = "BA" Estado(5) = "CE" Estado(6) = "DF" Estado(7) = "ES" Estado(8) = "GO" Estado(9) = "MA" Estado(10) = "MG" Estado(11) = "MS" Estado(12) = "MT" Estado(13) = "PA" Estado(14) = "PB" Estado(15) = "PE" Estado(16) = "PI" Estado(17) = "PR" Estado(18) = "RJ" Estado(19) = "RN" Estado(20) = "RO" Estado(21) = "RR" Estado(22) = "RS" Estado(23) = "SC"

Material de Aluno - Excel Avanado 2007 Estado(24) = "SE" Estado(25) = "SP" Estado(26) = "TO" cboEstado.List = Estado() End Sub

170

Volte ao formulrio frmCadastro, clique duas vezes no boto Cadastrar e no procedimento criado, digite o cdigo a seguir: Private Sub bcoCadastrar_Click() 'Consistncia dos dados If Me.cxtNome.Value = "" Then MsgBox "Preencha o campo Nome", vbExclamation, "Aviso" Me.cxtNome.SetFocus Exit Sub ElseIf cxtResidencial.Value = "" Then MsgBox "Preencha o campo telefone residencial", vbExclamation, "Aviso" Me.cxtResidencial.SetFocus Exit Sub End If ActiveCell.Value = Me.cxtNome.Value ActiveCell.Offset(0, 1).Value = Me.cxtEndereo.Value ActiveCell.Offset(0, 2).Value = Me.cxtBairro.Value ActiveCell.Offset(0, 3).Value = Me.cboEstado.Value ActiveCell.Offset(0, 4).Value = Me.cxtCidade.Value ActiveCell.Offset(0, 5).Value = Me.cxtCep.Value ActiveCell.Offset(0, 6).Value = Me.cxtResidencial.Value ActiveCell.Offset(0, 7).Value = Me.cxtCelular.Value ActiveCell.Offset(0, 8).Value = Me.cxtComercial.Value ActiveCell.Offset(0, 9).Value = Me.cxtAnotaes.Value MsgBox "Os dados foram cadastrados com sucesso", vbExclamation, "Aviso" 'Limpa os dados dos campos cxtNome.Text = "" cxtEndereo.Text = "" cxtBairro.Text = "" cboEstado.Text = "" cxtCidade.Text = "" cxtCep.Text = "" cxtResidencial.Text = "" cxtCelular.Text = "" cxtComercial.Text = "" cxtAnotaes.Text = "" 'Localiza a prxima clula vazia Range("A1048576").End(xlUp).Offset(1, 0).Select End Sub Volte novamente ao formulrio frmCadastro, clique duas vezes no boto Fechar e no procedimento criado, digite o cdigo a seguir: Private Sub bcoFechar_Click() Unload Me End Sub Salve, pressione a tecla F5 e teste o cadastro de informaes na agenda.

Material de Aluno - Excel Avanado 2007

171

O procedimento UserForm_Initialize() executado automaticamente sempre que o formulrio iniciado. por isso que dentro desse procedimento contm o comando que chama o procedimento CarregarCaixa() para que o controle Caixa de combinao seja carregado com as siglas dos estados brasileiros logo que o formulrio aberto. Alm disso, no procedimento UserForm_Initialize() h os comandos que ativam a planilha utilizada como banco de dados e localizam nessa planilha a prxima clula vazia para cadastrar informaes. Os demais procedimentos so executados quando o usurio aciona o boto Cadastrar e Fechar. Acompanhe agora como criar o cdigo para a consulta: Selecione o formulrio frmConsulta. Clique no menu Exibir > Cdigo (F7). A janela do cdigo exibida com um cdigo padro. Apague esse cdigo, pois ele no ser utilizado em nosso projeto. Digite o seguinte cdigo: Private Sub UserForm_Initialize() 'Desabilita o controle Boto de rotao broMoveRegistros.Enabled = False 'Limpa o contator de registros rotContRegistro.Caption = "" 'Ativa a planilha Sheets("Agenda").Activate End Sub Volte ao formulrio frmConsulta, clique duas vezes no boto Pesquisar e no procedimento criado, digite o seguinte cdigo: Private Sub bcoPesquisar_Click() If Me.cxtPesquisa.Text = "" Then MsgBox "Digite um valor para a pesquisa!" Else Call ProcuraRegistros(Me.cxtPesquisa.Text) End If End Sub Logo abaixo digite o procedimento ProcuraRegistros() que far a busca na planilha: Private Sub ProcuraRegistros(ByVal TermoPesquisado As String) Dim Busca As Range Dim Primeira_Ocorrencia, Resultados As String Set Busca = Sheets(2).Cells.Find(What:=TermoPesquisado, After:=Range("A1"), LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) 'Se a varivel Busca no for vazia If Not Busca Is Nothing Then

Material de Aluno - Excel Avanado 2007 Primeira_Ocorrencia = Busca.Address 'Lista o primeiro resultado na varivel Resultados = Busca.Row

172

'Esse loop pesquisa as prximas ocorrncias para o termo pesquisado Do Set Busca = Sheets(2).Cells.FindNext(After:=Busca) 'Condio para no listar o primeiro resultado, pois j foi listado acima If Not Busca.Address Like Primeira_Ocorrencia Then Resultados = Resultados & ";" & Busca.Row End If Loop Until Busca.Address Like Primeira_Ocorrencia matrizResultados = Split(Resultados, ";") 'Atualiza o boto de rotao broMoveRegistros.Max = UBound(matrizResultados) 'Habilita o boto de rotao broMoveRegistros.Enabled = True 'Atualiza o contador de registros rotContRegistro.Caption = "1 de " & UBound(matrizResultados) + 1 'Os campos recebem o contedo encontrado cxtNome.Text = Sheets(2).Cells(matrizResultados(0), 1).Value cxtEndereo.Text = Sheets(2).Cells(matrizResultados(0), 2).Value cxtBairro.Text = Sheets(2).Cells(matrizResultados(0), 3).Value cxtEstado.Text = Sheets(2).Cells(matrizResultados(0), 4).Value cxtCidade.Text = Sheets(2).Cells(matrizResultados(0), 5).Value cxtCep.Text = Sheets(2).Cells(matrizResultados(0), 6).Value cxtResidencial.Text = Sheets(2).Cells(matrizResultados(0), 7).Value cxtCelular.Text = Sheets(2).Cells(matrizResultados(0), 8).Value cxtComercial.Text = Sheets(2).Cells(matrizResultados(0), 9).Value cxtAnotaes.Text = Sheets(2).Cells(matrizResultados(0), 10).Value 'Se no for encontrado nenhum registro Else 'Desabilita o boto de rotao broMoveRegistros.Enabled = False 'Zera o contador de registros rotContRegistro.Caption = "" 'Limpa os campos do formulrio cxtNome.Text = "" cxtEndereo.Text = "" cxtBairro.Text = "" cxtEstado.Text = "" cxtCidade.Text = "" cxtCep.Text = "" cxtResidencial.Text = "" cxtCelular.Text = "" cxtComercial.Text = "" cxtAnotaes.Text = "" MsgBox "Nenhum resultado para '" & TermoPesquisado & "' foi encontrado." End If End Sub

Material de Aluno - Excel Avanado 2007 Volte ao formulrio frmConsulta, clique

173 duas vezes no boto de rotao

broMoveRegistros e no procedimento criado, digite o cdigo a seguir: Private Sub broMoveRegistros_Change() Dim Linha As Long Dim TotalOcorrencias As Long TotalOcorrencias = broMoveRegistros.Max + 1 Linha = MatrizResultados(broMoveRegistros.Value) rotContRegistro.Caption = broMoveRegistros.Value + 1 & " de " & TotalOcorrencias cxtNome.Text = Sheets(2).Cells(Linha, 1).Value cxtEndereo.Text = Sheets(2).Cells(Linha, 2).Value cxtBairro.Text = Sheets(2).Cells(Linha, 3).Value cxtEstado.Text = Sheets(2).Cells(Linha, 4).Value cxtCidade.Text = Sheets(2).Cells(Linha, 5).Value cxtCep.Text = Sheets(2).Cells(Linha, 6).Value cxtResidencial.Text = Sheets(2).Cells(Linha, 7).Value cxtCelular.Text = Sheets(2).Cells(Linha, 8).Value cxtComercial.Text = Sheets(2).Cells(Linha, 9).Value cxtAnotaes.Text = Sheets(2).Cells(Linha, 10).Value End Sub Na rea de declarao no incio da janela do cdigo, declare as variveis globais: Public MatrizResultados As Variant Public TotalOcorrencias As Long Salve e pressione a tecla F5 para testar a busca. Ao abrir o formulrio de consulta os comandos inseridos no procedimento

UserForm_Initialize() deixam o formulrio pronto para a pesquisa, desabilitando o boto de rotao, limpando o contador de registros, j que ainda no existem registros para serem visualizados, e ativando a planilha que contm os registros. Com o formulrio aberto, digite o termo que ser pesquisado no campo cxtPesquisa e clique no boto Pesquisar. Com essa ao, o procedimento bcoPesquisar_Click() acionado e nele verificado se o campo cxtPesquisa est preenchido. Se estiver vazio exibida uma mensagem de aviso, caso contrrio, o procedimento ProcuraRegistros() ativado. O procedimento ProcuraRegistros() recebe por parmetro o termo digitado na caixa cxtPesquisa que ser utilizado para comparar com os registros da planilha Agenda utilizando o mtodo Find. Esse mtodo procura a informao no intervalo especificado e retorna para a varivel Busca, um objeto Range que representa a clula da planilha onde a informao foi localizada. Veja a sintaxe do mtodo Find. Expresso.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

Material de Aluno - Excel Avanado 2007 Onde:

174

Expresso uma varivel que representa um objeto Range. Veja seus parmetros: Nome What After Uso Obrigatrio Opcional Descrio a informao que ser procurada. Pode ser uma seqncia de caracteres ou qualquer tipo de dados do Microsoft Excel. a clula depois da qual voc deseja que a pesquisa comece. Corresponde posio da clula ativa quando uma pesquisa feita a partir da interface do usurio. Observe que After precisa ser uma nica clula no intervalo. Lembre-se de que a pesquisa comea depois desta clula; a clula especificada s ser pesquisada depois que o mtodo der a volta e chegar at ela. Se voc no especificar este argumento, a pesquisa comear depois da clula no canto superior esquerdo do intervalo. o tipo de informao. Pode ser uma desatas constants: XlLookAt: xlWhole ou xlPart. Pode ser uma destas constantes XlSearchOrder: xlByRows ou xlByColumns. a direo da pesquisa. Pode ser True para que a pesquisa diferencie maisculas de minsculas. O valor padro False. usado somente se voc tiver selecionado ou instalado suporte a idiomas de byte duplo. True para que caracteres de dois bytes coincidam somente com caracteres de dois bytes. False para que caracteres de dois bytes coincidam com seus equivalentes de um byte. o formato da pesquisa.

LookIn LookAt SearchOrder SearchDirection MatchCase MatchByte

Opcional Opcional Opcional Opcional Opcional Opcional

SearchFormat

Opcional

Se nenhum registro for encontrado o mtodo retorna Nothing. Ento, a estrutura condicional If verifica se a varivel Busca Nothing, ou seja, o termo procurado foi encontrado. Se for verdade uma nova pesquisa feita com o mtodo FindNext para localizar novas condicionais e exibir o resultado encontrado. Se for falso a execuo passa para a instruo Else, os campos so limpos e uma mensagem exibida. Quando a pesquisa retorna mais de um resultado, o boto de rotao broMoveRegistros fica habilitado, e ao clicar nas setas possvel navegar pelos registros. O procedimento que executa essa ao o broMoveRegistros_Change().

Material de Aluno - Excel Avanado 2007

175

Criando a Interface na Planilha


Antes de iniciar a criao da interface inicial da agenda na planilha, criaremos dois mdulos no VBE. Siga os procedimentos a seguir: Na janela do VBE, clique no menu Inserir > Mdulo. Na jenal do Mdulo1, digite o seguinte cdigo: Sub AbrirCadastro() frmCadastro.Show End Sub Abaixo desse cdigo, digite o seguinte: Sub AbrirConsulta() frmConsulta.Show End Sub Aps criar os mdulos possvel criar na planilha os botes que daro acesso aos formulrios, para isso siga os seguintes passos: Na janela do Excel, selecione a planilha Menu. Clique na guia Desenvolvedor e, no grupo Controles, clique no boto Inserir. Nas opes Controles de Formulrio, clique no controle Boto:

Clique e arraste o mouse na planilha para criar o boto. A caixa de dilogo Atribuir macro ser exibida, onde voc dever selecionar a macro AbrirCadastro, e depois clique no boto OK. Altere o rtulo do boto para Cadastrar. Insira mais um boto, e atribua a macro AbrirConsulta, depois altere seu rdulo para Consultar. Oculte a planilha Agenda para que o usurio no tenha acesso aos dados da mesma. Clique nos botes para testar o cadastro e a consulta de dados da agenda. De preferncia dos botes ficarem posicionados conforme o modelo a seguir:

Material de Aluno - Excel Avanado 2007

176

Para formatar a planilha Menu, siga os procedimentos a seguir: Clique na guia Layout da Pgina e desmarque a opo Exibir da rea Linhas de Grade. Insira um WordArt no topo da planilha e digite como contedo Agenda Telefnica. Selecione a linha 6 e execute as seguintes formataes: o o Mescle as clulas e escolha o alinhamento esquerda. Aplique uma cor de fundo e digite a frmula =HOJE(), se necessrio, altere a cor da fonte. o Clique com o boto direito do mouse sobre a linha e escolha a opo Formatar clulas. o Na caixa de dilogo, escolha a categoria Personalizado e no campo Tipo digite dd de mmmm de aaaa. o o Clique em OK. Selecione as linhas 7 a 17 e aplique uma cor de fundo.

Clique na guia Layout da Pgina e desmarque a opo Exibir da rea Ttulos. Aps formatar a aparncia da planilha, insira um cdigo no Mdulo1 para ser executado quando o arquivo for aberto. Acompanhe os passos a seguir: Sub Auto_Open() With Application 'Oculta a barra de frmulas .DisplayFormulaBar = False 'Oculta a barra de status .DisplayStatusBar = False 'Oculta as barras de rolagem .DisplayScrollBars = False End With 'Define a rea de rolagem da planilha Sheets("Menu").ScrollArea = "A1" End Sub

Material de Aluno - Excel Avanado 2007 Salve o projeto.

177

Esse cdigo executado automaticamente ao abrir o arquivo e define algumas configuraes na janela do Excel. Dentro da instruo With definido que a barra de frmulas, a barra de status e as barras de rolagem sero ocultadas quando o arquivo da agenda for aberto no Excel. Em seguida, a instruo Sheets(Menu).ScrollArea = A1 mantm fixa a posio da planilha, evitando que o usurio navegue nas clulas da planilha. Ao fechar o arquivo do aplicativo, as configuraes padres do Excel devem ser restabelecidas. Para isso, criaremos uma macro que ser executada ao fechar o arquivo. Na janela Microsoft Visual Basic, abra o cdigo do Mdulo1. Abaixo do procedimento Auto_Open(), digite o seguinte cdigo: Sub Auto_Close() With Application 'Exibe a barra de frmulas .DisplayFormulaBar = True 'Exibe a barra de status .DisplayStatusBar = True 'Exibe as barras de rolagem .DisplayScrollBars = True End With ThisWorkbook.Close True End Sub Salve o projeto. O procedimento Auto_Close() executado automaticamente ao fechar o arquivo e exibe novamente na tela do Excel a barra de frmulas, de status, de rolagem e salva o arquivo. Agora salve e feche o arquivo e, em seguida, abra-o novamente. O arquivo dever ter a seguinte aparncia ao abrir:

Proteo do Cdigo
Para evitar que pessoas mal intencionadas tenham acesso ao cdigo do projeto possvel criar uma senha no VBE para restringir o acesso aos arquivos. Acompanhe a seguir como proteger o cdigo do projeto no VBE. Abra a janela do Microsoft Visual Basic. Clique no menu Ferramentas > Propriedades de VBAProject. Observe que surge a seguinte caixa de dilogo:

Material de Aluno - Excel Avanado 2007

178

Clique na guia Proteo da caixa de dilogo. Marque a opo Bloquear projeto para exibio:

Em seguida, digite uma senha no campo Senha e tambm no campo Confirmar senha. Clique no boto OK. Salve e feche o projeto. Para verificar o funcionamento da proteo, abra o arquivo novamente e na janela do VBE, tente abrir os arquivos do painel Projetos. Note que aparecer uma janela solicitando uma senha. Para remover a proteo, execute os passos a seguir: Abra a janela do Microsoft Visual Basic. Clique no menu Ferramentas > Propriedades de VBAProject. Na guia Proteo da caixa de dilogo, desmarque a opo Bloquear projeto para exibio, e apague o contedo dos campos Senha e Confirmar senha. Clique no boto OK.