Você está na página 1de 290

MDULO 1

Lio 01 Introduo e Contedo do Mdulo I


Lio 02 Importao de Dados - Parte 1
Lio 03 Importao de Dados - Parte 2
Lio 04 Importao de Dados - Parte 3
Lio 05 Ordenando Listas - Parte 1
Lio 06 Ordenando Listas - Parte 2
Lio 07 Criando Listas de Ordenao Personalizadas
Lio 08 Filtrando Dados em Uma Lista - Introduo e Conceito
Lio 09 Filtrando Dados - O Comando AutoFiltro - Parte 1
Lio 10 Filtrando Dados - O Comando AutoFiltro - Parte 2
Lio 11 Filtrando Dados - O Comando AutoFiltro - Parte 3
Lio 12 Localizando Registros Individuais
Lio 13 Operadores Lgicos: A Diferena Entre "E" e "OU"
Lio 14 Definindo e Utilizando Faixas de Critrios - Introduo
Lio 15 O Primeiro Exemplo Utilizando Faixas de Critrios
Lio 16 Usando Critrios de Texto
Lio 17 Usando Critrios Calculados
Lio 18 Usando Subtotais Para Anlise de Dados
Lio 01: Introduo e contedo do Mdulo 1
Neste Mdulo aprenderemos a trabalhar com uma lista de dados no Excel. Uma lista de dados pode ser uma planilha criada diretamente
no Excel ou dados que foram obtidos a partir de uma fonte externa, tal como uma tabela de um banco de dados do Microsoft Access ou
dados de um arquivo do tipo texto.
Uma lista contm dados relacionados a um determinado assunto. Por exemplo, voc poderia ter uma lista com dados sobre os
funcionrios da sua empresa ou com a lista dos pedidos efetuados em um determinado perodo. Uma lista como se fosse uma tabela de
um banco de dados, onde cada coluna representa um campo da tabela e cada linha um registro.
Nota : Para detalhes sobre tabelas, campos e registros, consulte os endereos indicados na seo "pr-requisitos para o curso".
Na Figura 1.1, obtida a partir da Ajuda do Excel, est indicada a estrutura de uma lista:
Figura 1.1 - Estrutura de uma lista no Excel.
Considere os seguintes detalhes sobre listas:
Cada coluna na lista representa um campo.
Os rtulos de cada coluna, representam os nomes dos campos.
Cada linha representa um registro.
A lista no deve conter linhas ou colunas em branco.
Use somente uma lista em cada planilha. O ideal que no exista nenhuma outra informao na planilha, a no ser os dados da
lista. Algumas funes de planilha, tais como a filtragem, podem no funcionar corretamente se houver outros dados alm dos
dados da prpria lista.
Cada coluna deve conter dados do mesmo tipo: texto, nmero, data, etc. No "misture" dados de diferentes tipos, na mesma
coluna.
Caso voc tenha outros dados, alm da lista, mantenha a lista "separada" dos demais dados. Para isso mantenha, pelo menos,
uma linha e uma coluna em branco, entre a lista e os demais dados.
Nota: Os dados utilizados nos exemplos deste mdulo, foram importados a partir da tabela Pedidos, do banco de dados northwind.mdb,
o qual instalado durante a instalao do Microsoft Office. Veremos mais detalhes sobre a importao de dados nas prximas lies
deste mdulo.
No exemplo da Figura 1.2 uma lista, na qual so listados os diversos pedidos para uma determinada empresa. Observe que a primeira
linha contm os nomes dos campos. Cada coluna representa um campo. A primeira coluna o Nmero do Pedido, a segundo o Cdigo do
Cliente, a terceira a data do Pedido e assim por diante. Cada linha representa um registro completo. Por exemplo, a segunda linha
contm todas as informaes (com exceo dos itens do pedido) sobre o cabealho do pedido 10248.
Figura 1.2 - Uma lista de Pedidos.
Neste Mdulo aprenderemos a fazer as seguintes operaes com Listas de dados no Excel:
Importando de dados - Parte 1
Importando de dados - Parte 2
Importao de dados - Parte 3
Ordenando Listas - Parte 1
Ordenando Listas - Parte 2
Criando Listas de ordenao personalizadas
Filtrando dados em uma Lista - Introduo e conceitos
Filtrando dados - o comando AutoFiltro - Parte 1
Filtrando dados - o comando AutoFiltro - Parte 2
Filtrando dados - o comando AutoFiltro - Parte 3
Localizando registros individuais: Dados -> Formulrio
Operadores de filtragem: A diferena entre "E" e "OU"
Definindo e usando faixas de critrios - Exemplo 1
Mais exemplos usando faixas de critrios.
Exerccios com faixas de critrios.
Usando Critrios de Texto.
Usando Critrios Calculados.
Usando Subtotais para anlise de dados.
Resumo do Mdulo 1.
Estas operaes so especialmente teis quando queremos ter diferentes vises dos dados de uma lista. Por exemplo, voc pode querer
pesquisar apenas os pedidos para o Brasil, no ano de 1996; ou todos os pedidos para o Brasil e tambm para os EUA que ocorreram em
um determinado perodo e assim por diante.
Tambm aprenderemos a utilizar, em detalhes, o comando AutoFiltro, o qual muito til quando queremos efetuar consultas rpidas nos
dados, de tal forma que podemos alterar os critrios de pesquisa de uma maneira fcil e rpida. No Curso Bsico de Excel , aprendemos
as funes bsicas do comando AutoFiltro, agora vamos detalhar um pouco mais este comando.
Na seqncia aprenderemos a usar os operadores "E" e "OU" para trabalhar com mltiplos critrios. Tambm veremos como usar faixas
de clulas para tornar a definio de critrios mais dinmica, o que facilita a alterao do valor de um ou mais critrios.
Para encerrar o mdulo, trataremos sobre o uso de Critrios calculados e sobre a criao de Subtotais para a anlise de dados. Veremos
apenas uma introduo sobre o uso de Subtotais. Este assunto ser detalhado no Mdulo 4 - Anlise, Cenrios e Consolidao de Dados.
Lio 02: Importao de dados - arte 1
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. Este justamente o assunto desta e das prximas duas lies: !"ortao de #ados no
$%&el'
Nesta lio vamos tratar sobre a importao de dados a partir de arquivos do tipo texto. Existem dois formatos padro quando se trata
de arquivos do tipo texto. Antes de aprendermos a fazer a importao para o Excel, vamos apresentar os dois formatos de texto mais
comumente utilizados.
Arquivos de texto no formato tamanho fixo:
Na Figura 1.3 temos um exemplo de arquivo de texto, onde os dados esto no formato tamanho fixo.
Figura 1.3 - O Formato Tamanho Fixo.
Neste formato cada campo comea em uma determinada coluna e termina em uma posio fixa. Por exemplo o Nmero do Pedido
comea na posio 1 e termina na posio 5, o campo Cdigo do Cliente comea na posio 12 e termina na posio 17. Observe que
existe espao em branco entre as posies 6 e 11. O mais comum que no exista este espao em branco entre os campos. Cada linha
do arquivo forma um registro completo.
(r)ui*os de te%to no +or!ato &o! se"arador de &a!"os:
Na Figura 1.4 temos um exemplo de arquivo de texto, onde os dados esto no formato com separador de campos.
Figura 1.4 - O Formato com separador de campos.
Neste formato cada linha contm um registro completo, porm os campos so separados por um determinado "separador", que no
exemplo da Figura 1.4 o ponto-e-vrgula (;). Cada linha contm um registro completo. Podemos ter diferentes separadores, sendo que
um dos mais comuns a vrgula. Arquivos cujo separador a vrgula podem ter uma extenso .csv - Comma Separated Value (Valores
separados por vrgula). Arquivos .csv podem ser abertos diretamente pelo Excel (basta dar um clique duplo no arquivo que este ser
aberto diretamente no Excel.
O formato com separador de campos mais facilmente reconhecido pelo Excel e menos propenso a gerar erros durante a importao.
Sempre que possvel, procure obter os dados neste formato, ao invs do formato de tamanho fixo.
!"ortando dados de u! ar)ui*o de te%to , - &o!ando #ados ,. -bter dados e%ternos''':
Vamos aprender a fazer a importao de dados para o Excel, a partir de um arquivo do tipo Texto. Aprenderemos a fazer a importao
atravs de um exemplo prtico. Vamos criar uma nova planilha, salv-la na pasta C:\ExcelAvanado e importar dados para dentro desta
planilha.
$%er&/&io 01 : Criar uma nova planilha, salv-la na pasta C:\ExcelAvanado com o nome de Exemplo 01.xls. Importar para esta planilha,
os dados do arquivo PedidosDelimitado.txt. Para fazer o exerccio proposto siga os seguintes passos:
1. Abra o Excel.
2. Ser criada uma nova planilha com o nome de Pasta 1.
3. Selecione o comando Arquivo -> Salvar como...
4. Navegue at a pasta ExcelAvanado e para nome do arquivo digite Exemplo 01.xls, conforme indicado na Figura 1.5.
Figura 1.5 - riando a planilha Exemplo !1.xls.
5. Clique no boto Salvar. OK, a planilha Exemplo 01.xls foi criada. Agora vamos importar o contedo do arquivo PedidosDelimitado.txt.
Nota: Em caso de dvidas sobre a criao e salvamento de planilhas no Excel, consulte o Curso Bsico de Excel em 120 Lies, no site:
www.juliobattisti.com.br
6. Selecione o comando Dados -> Obter dados externos -> Importar arquivo de texto...
7. Ser aberta a janela Importar arquivo de texto, na qual voc deve informar o arquivo onde esto os dados a serem importados.
Navegue at a pasta C:\ExcelAvanado e marque o arquivo PedidosDelimitado.txt, conforme indicado na Figura 1.6.
Figura 1." - #elecionando o ar$ui%o a ser importado.
8. Clique no boto Importar.
9. Ser aberto o Assistente de importao de texto. Este assistente ir conduzi-lo durante o processo de importao dos dados do
arquivo PedidosDelimitado.txt.
10. Na primeira etapa do assistente voc deve informar o formato dos dados. No nosso exemplo, certifique-se de que a opo Delimitado
esteja selecionada, conforme indicado na Figura 1.7. Nesta etapa voc tambm pode definir em qual linha iniciar a importao, por
padro a importao inicia a partir da primeira linha.
Figura 1.& - 'n(ormando o (ormato do ar$ui%o de texto.
11. Clique no boto Avanar.
12. Na segunda etapa do assistente voc deve informar qual o caractere utilizado como separador de campo. No nosso exemplo, est
sendo utilizado o ponto-e-vrgula. Marque a opo ponto-e-vrgula, conforme indicado na Figura 1.8. Aps marcar o ponto-e-vrgula
observe que o Excel adiciona linhas divisrias entre os campos.
Figura 1.) - *e(inindo o caractere delimitador.
13. Clique no boto Avanar.
14. 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.
15. Na Figura 1.9 vemos a ltima tela do assistente.
16. Clique no boto Concluir. Surge uma tela perguntando se voc deseja importar os dados para a planilha atual ou para uma nova
planilha. Certifique-se de que a opo Planilha existente esteja marcada e d um clique em OK. Pronto, os dados sero importados para o
Excel, conforme indicado na Figura 1.10.
Figura 1.+ - Etapa (inal do ,ssistente de importa-.o de texto.
Figura 1.1! - *ados importados com sucesso.
Nota: importante salientar que nenhum vnculo mantido entre os dados que foram importados e o arquivo original. Se os dados
forem modificados, o arquivo original no ser modificado e vice-versa.
Lio 0!: Importando dados - arte 2
A partir do Excel tambm possvel acessar dados que esto em outros formatos de arquivos que no no formato de arquivo de texto.
Nos veremos nos Mdulos 3 e 4 que 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.
Neste lio aprenderemos a acessar dados que esto em arquivos do tipo .dbf. Arquivos .dbf so arquivos no formato do Dbase III,
Dbase IV ou Dbase V. O Dbase foi um dos gerenciadores de banco de dados mais utilizado na poca do MS-DOS. O Clipper, uma das
linguagens mais utilizadas para a criao de aplicaes de banco de dados, na poca do MS-DOS, tambm trabalhava com arquivo no
formato .dbf. Por isso bastante provvel que, em algum momento, voc venha a se deparar com dados no formato .dbf.
Conforme veremos nesta lio, extremamente simples acessar dados de arquivos .dbf a partir do Excel. Vamos, novamente, utilizar um
exemplo prtico. Abriremos o Excel e em seguida vamos abrir o arquivo Pedidos.dbf, que est disponvel na pasta C:\ExcelAvanado. Em
seguida utilizaremos o comando Arquivo -> Salvar como, para salvar os dados em um arquivo chamado Exemplo 02.xls. Ento, mos
obra.
$%er&/&io 02 : Abrir o arquivo C:\ExcelAvanado\Pedidos.dbf e salvar os dados na planilha C:\ExcelAvanado\Exemplo 02.xls:
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Na lista Arquivos do tipo, selecione (r)ui*os do d0ase 12'db+3'
5. Selecione o arquivo Pedidos.pdf. A sua janela dever estar conforme indicado na Figura 1.11.
Figura 1.11 - ,cessando ar$ui%os no (ormato .d/(.
6. Clique no boto Abrir e pronto, os dados do arquivo Pedidos.dbf sero carregados no Excel, conforme indicado na Figura 1.12.
Figura 1.12 - *ados do ar$ui%o Pedidos.d/(.
Nota: importante observar que, neste caso, no foi feita uma importao de dados. Como o Excel reconhece o formato .dbf,
acessamos os dados diretamente a partir do arquivo Pedidos.dbf. Na prtica, isto significa que, se fizermos alteraes nestes dados
vamos alterar o prprio arquivo Pedidos.dbf. O Excel funciona apenas como uma ponte e uma interface para termos acesso aos dados do
arquivo .dbf.
7. Agora vamos salvar estes dados no formato de um arquivo .xls. Fazendo isso teremos duas cpias separadas dos dados. Uma que
permanece no arquivo original, Pedidos.dbf. Outra na nova planilha que ser criada - Exemplo 02.xls. As duas cpias no mantm
nenhuma espcie de vnculo. Se fizermos alteraes na planilha Exemplo 02.xls , estas alteraes no sero feitas no arquivo Pedidos.dbf
e vice-versa.
8. Selecione o comando Arquivo -> Salvar como...
9. Navegue at a pasta C:\ExcelAvanado.
10. Na lista Salvar como tipo:, selecione 4asta de trabalho do 5i&roso+t $%&el 97,2000'''
11. No campo Nome do arquivo digite $%e!"lo 02'%ls e clique em Salvar.
12. Feche o Microsoft Excel.
Importao 0": Importao de dados - arte !
Em determinadas situaes pode ser necessrio acessar, a partir do Excel, dados de uma ou mais tabelas que esto em um banco de
dados do Microsoft Access. Estando no Excel, no temos como importar os dados diretamente de tabelas do Microsoft Access. Faremos o
contrrio, entraremos no banco de dados do Microsoft Access, onde esto os dados a serem acessados e exportaremos a respectiva
tabela no formato de uma planilha do Excel. Depois s abrir a planilha diretamente no Excel.
importante salientar que, usando este procedimento, nenhum vnculo ser mantido entre os dados que esto no Microsoft Access e a
planilha com os dados exportados. Em outras palavras, ao alterarmos os dados originais, os dados da planilha no sero alterados e vice-
versa, ou seja, so duas cpias completamente independentes dos dados.
Nota: Para um curso de Access Bsico, acesse o curso gratuito de Access, no seguinte endereo:
http://www.juliobattisti.com.br/accbasico/accessbasico.asp .
Neste curso voc aprende como abrir um banco de dados do Access, como criar Tabelas, Relacionamentos, Consultas, Formulrios,
Relatrios e Macros.
-bs: Para o exemplo desta lio, trabalharemos com o arquivo Mod1Lic4.mdb.
Conforme veremos nesta lio, bem simples exportar dados de uma tabela do Microsoft Access para uma planilha do Excel. Quando os
dados so exportados, uma nova planilha ser criada. Se um planilha, com o mesmo nome da que est sendo criada, j existir, o Access
perguntar se desejamos excluir a planilha existente e criar uma nova. No possvel manter a planilha existente e apenas acrescentar
os dados que esto sendo exportados.
Vamos, novamente, utilizar um exemplo prtico. Abriremos o banco de dados Mod1Lic4.mdb , que est na pasta C:\ExcelAvanado . Em
seguida exportaremos os dados da tabela Pedidos para a planilha Exemplo 03.xls , na pasta C:\ExcelAvanado . Ento, mos obra.
$%er&/&io 03 : Vamos abrir o arquivo Mod1Lic4.mdb no Microsoft Access e exportar a tabela Pedidos para o arquivo
C:\ExcelAvanado\Exemplo 03.xls
1. Abra o Microsoft Access.
2. Abra o arquivo C:\ExcelAvanado\ Mod1Lic4.mdb.
3. Clique na guia Tabelas.
4. D um clique simples na tabela Pedidos para marc-la.
5. Selecione o comando Arquivo -> Exportar.
6. Ser aberta a janela "Exportar Tabela 'Pedidos' em..., indicada na Figura 1.13:
Figura 1.13 - , 0anela Exportar Ta/ela 1Pedidos1 em...
7. Navegue at a pasta C:\ExcelAvanado.
8. No campo Nome do arquivo digite Exemplo 03.xls.
9. Na lista Salvar como tipo selecione Microsoft Excel 97-2000 (*,xls).
10. Sua janela deve estar conforme indicado na Figura 1.14.
Figura 1.14 - on(igurando o tipo e o nome do ar$ui%o a ser gerado.
11. Clique em Salvar.
12. Os dados da tabela Pedidos sero salvos no arquivo Exemplo 03.xls.
13. Voc estar de volta ao Microsoft Access.
14. Feche o Microsoft Access.
Agora vamos abrir o arquivo Exemplo 03.xls e conferir se os dados foram realmente exportados com sucesso.
1. Abra o Excel.
2. Abra o arquivo C:\ExcelAvanado\Exemplo 03.xls .
3. Voc dever obter os dados indicados na Figura 1.15:
Figura 1.15 - *ados exportados da ta/ela Pedidos do /anco de dados 2od13ic4.md/ .
Com isso encerramos o nosso estudo sobre importao e exportao de dados com o Microsoft Excel. A partir da prxima lio,
aprenderemos a classificar, organizar e filtrar as listas de dados de uma planilha do Excel.
Lio 0#: Ordenando Listas - arte 1
Uma vez que temos uma Lista no Excel, quer esta lista tenha sido importada ou digitada diretamente no Excel, podemos realizar uma
srie de operaes sobre os dados da lista. Podemos classificar a lista de acordo com uma ou mais colunas, podemos aplicar filtros na
lista, podemos criar listas ordenadas personalizadas e assim por diante. Quando classificamos uma lista, o Microsoft Excel reordena as
linhas da lista de acordo com o contedo da coluna (ou das colunas) selecionadas para ordenao. Por exemplo, se voc define que a
lista seja ordenada em ordem crescente, pelo campo PasDeDestino, as linhas sero reordenadas para ficar em ordem alfabtica
crescente do campo PasDeDestino.
Nesta e na prxima lio aprenderemos a fazer a classificao (ordenao) de uma lista de acordo com uma ou mais colunas de dados.
Considere o exemplo das duas planilhas a seguir, onde a primeira no est classificada e a segunda est ordenada pelo campo Pas:
Vamos utilizar um exemplo prtico para aprender a fazer a ordenao de listas usando o Microsoft Excel. Utilizaremos a lista de Pedidos
contida na planilha Exemplo 04.xls . Nesta lio aprenderemos a ordenar por uma nica coluna.
Na prxima lio aprenderemos a classificar por duas ou mais colunas, faremos algumas observaes em relao aos cuidados que
devem ser tomados, quando classificamos listas cujos valores so obtidos a partir de frmulas calculadas. e veremos mais algumas
observaes sobre a classificao de listas.
$%er&/&io 04 : Abrir o arquivo C:\ExcelAvanado\Exemplo 04.xls e classificar a listagem primeiro pelo Pas e depois pela DtDoPedido:
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 04.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma Lista de Pedidos.
7. Para classificar a lista no necessrio selecionar todas as linhas da lista. Basta clicar em uma das clulas que fazem parte da lista,
qualquer clula.
8. Em seguida selecione o comando Dados -> Classificar. Observe que ao selecionar este comando, todas as linhas da lista so,
automaticamente selecionadas, com exceo da primeira linha que contm os rtulos das colunas.
9. Ser exibida a janela Classificar, indicada na Figura 1.17:
Figura 1.1& - , 0anela lassi(icar .
10. Nesta janela podemos classificar a lista por at trs campos diferentes. Um na lista Classificar por, outro na lista Em seguida por e
outro na lista E depois por. Alm de selecionar um campo para fazer a classificao, tambm podemos definir se a classificao ser
Crescente ou Decrescente. No grupo Minha lista tem, informamos se a primeira linha da lista contm dados ou contm os rtulos dos
campos. Lembre, da Lio 1, onde sugerimos que sempre devem ser usados rtulos de campos na primeira linha, pois isso facilita uma
srie de operaes com listas. Caso voc acessa uma planilha que no contm rtulos, sugiro que voc insira uma linha em branco antes
dos dados e digite rtulos para cada uma das colunas.
11. Primeiro vamos classificar pelo campo Pas. Na lista Classificar por selecione Pas, clique em Crescente e clique em OK. A listagem de
Pedidos ser classificada em ordem alfabtica pelo campo Pas, conforme indicado na Figura 1.18.
Figura 1.1) - 3ista de Pedidos classi(icada pela coluna Pa4s.
12. Clique em uma das clulas da lista.
13. Em seguida selecione o comando Dados -> Classificar. Observe que ao selecionar este comando, todas as linhas da lista so,
automaticamente selecionadas, com exceo da primeira linha que contm os rtulos das colunas.
14. Na lista Classificar por selecione DtPedido, clique em Crescente e clique em OK. A listagem de Pedidos ser classificada em ordem
cronolgica do campo DtPedido, conforme indicado na Figura 1.19:
Figura 1.1+ - 3ista de Pedidos classi(icada pela coluna *tPedido.
15. Feche e salve a planilha Exemplo 04.xls.
Lio 0$: Ordenando Listas - arte 2
Nessa lio veremos um exemplo prtico de como classificar uma Lista com base em duas ou mais colunas. Por exemplo, voc pode
querer classificar a lista primeiro pelo Pas e, dentro de um mesmo Pas, pela Cidade de destino. Neste caso basta fazer a classificao da
lista definindo os campos de classificao nesta ordem: primeiro o Pas e depois a Cidade.
Voc tambm poderia classificar pelo Pas, depois pela Cidade e, dentro de cada Cidade pelo Nmero do pedido ou pela Data do pedido.
Para classificar por mais de trs colunas voc precisa dividir o processo de classificao em etapas. Por exemplo, se voc quiser classificar
pelo Pas, dentro do Pas pela Cidade, dentro da Cidade pela Data do pedido e, dentro de uma mesma Data pelo Nmero do pedido, basta
seguir as seguintes etapas:
1. Classifique pela coluna Nmero do pedido.
2. Estando a lista classificada pela coluna Nmero do pedido, classifique pela coluna Data do pedido.
3. Estando a lista classificada pelo campo Data do pedido, classifique pela coluna Cidade.
4. Estando a lista classificada pelo campo Cidade, classifique pela coluna Pas.
Observe que para classificar por mais de trs colunas, vamos classificando, coluna a coluna, da mais especfica - Nmero do pedido no
nosso exemplo, para a mais geral - Pas no nosso exemplo.
Agora vamos fazer um exemplo prtico, onde vamos classificar uma listagem de Pedidos com base nas colunas Pas, Cidade e Nmero do
pedido.
$%er&/&io 05 : Abrir o arquivo C:\ExcelAvanado\Exemplo 05.xls e classificar a listagem primeiro pelo Pas, dentro do Pas pela Cidade e,
dentro de cada Cidade pelo Nmero do pedido:
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 05.xls .
5. Clique em Abrir.
6. Ser aberta uma planilha com uma Lista de Pedidos.
7. Observe que a lista est classificada pelo Nmero do pedido.
8. Para classificar a lista no necessrio selecionar todas as linhas da lista. Basta clicar em uma das clulas que fazem parte da lista,
qualquer clula.
9. Em seguida selecione o comando #ados ,. Classi+i&ar . Observe que ao selecionar este comando, todas as linhas da lista so,
automaticamente selecionadas, com exceo da primeira linha que contm os rtulos das colunas.
10. Ser exibida a janela Classificar.
11. Para efetuar a classificao desejada, selecione as configuraes indicadas na Figura 1.20:
Figura 1.2! - lassi(ica-.o proposta no exemplo.
12. Com isso voc obter os resultados indicados na Figura 1.21:
Figura 1.21 - lassi(ica-.o por Pa4s5 idade e 67mero do pedido.
(lgu!as obser*a6es sobre a +or!a de &lassi+i&ao do $%&el 1baseadas no 7el" do $%&el3:
Ordens de classificao padro:
O Microsoft Excel usa ordens de classificao especficas para ordenar dados de acordo com o valor, no com o formato, dos dados.
-rde! de &lassi+i&ao ,. Uma forma de organizar os dados com base em valor ou tipo de dados. Voc pode classificar os dados em
ordem alfabtica, numrica ou de data. As ordens de classificao usam uma ordem crescente (1 a 9, A a Z) ou decrescente (9 a 1, Z a
A).
Em uma classificao crescente, o Excel usa a seguinte ordem. (Em uma classificao decrescente, esta ordem de classificao
invertida, exceto para as clulas em branco, que sero sempre colocadas por ltimo.) :
N8!eros : Os nmeros so classificados do menor nmero negativo ao maior nmero positivo.
Classi+i&ao al+anu!9ri&a , te%to: Quando voc classifica texto alfanumrico, o Excel classifica da esquerda para a direita, caractere
por caractere. Por exemplo, se uma clula contm o texto "A100", o Excel coloca a clula depois de uma clula que contenha a entrada
"A1" e antes de uma clula que contenha a entrada "A11."
Os textos e os textos que incluem nmeros so classificados na seguinte ordem:
0 1 2 3 4 5 6 7 8 9 (espao) ! " # $ % & ( ) * , . / : ; ? @ [ \ ] ^ _ ` { | } ~ + < = > A B C D E F G H I J K L M N O P Q R S T U V W X Y
Z
Apstrofos (') e hfens (-) so ignorados, com uma exceo: se duas seqncias de caracteres de texto forem iguais exceto pelo hfen, o
texto com hfen classificado por ltimo.
:alores l;gi&os : Em valores lgicos, FALSO colocado antes de VERDADEIRO.
:alores de erro : Todos os valores de erro so iguais.
:a<ias : As clulas em branco so sempre classificadas por ltimo.
Lio 0%: &riando Listas de Ordenao ersonali'adas
Alm das ordenaes padro, tais como alfanumrica, nmero e data, voc pode criar listas de ordenao personalizadas. Por exemplo,
vamos supor que voc quer classificar os dados de vendas, de acordo com a seguinte ordem de cdigo:
BCCKL
ADLKJ
CFFYK
LDDAC
Observe que esta lista no est em ordem alfabtica. Para criar uma ordenao de acordo com esta lista, ou seja, primeiro as linhas para
o produto BCCKL, depois as linhas para o produto ADLKJ e assim por diante, voc deve criar uma lista de ordenao personalizada. Este
ser o assunto desta lio. Por padro o Excel j cria listas personalizadas para os dias da semana (por extenso e abreviado) e para os
meses do ano (por extenso e abreviado).
Nesta lio aprenderemos a criar e a utilizar uma lista personalizada, para classificar as linhas de uma lista de acordo com os elementos
da lista personalizada. Considere a lista da Figura 1.22:
Figura 1.22 - 3ista $ue utili8aremos neste li-.o.
Vamos a um exemplo prtico sobre a criao e utilizao de listas personalizadas.
$%er&/&io 06 : Abrir o arquivo C:\ExcelAvanado\Exemplo 06.xls , criar uma lista personalizada para classificao e ordenar a lista de
acordo com a lista personalizada.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 06.xls .
5. Clique em Abrir.
6. Ser aberta uma planilha com a Lista de Pedidos indicada na Figura 1.22.
7. Agora vamos criar uma lista de classificao personalizada. Vamos definir a seguinte lista:
KOENE
ALFKI
DRACD
QUICK
Observe que a lista no est em ordem alfabtica. Aps a classificao sero listados primeiro os pedidos para o cliente KOENE, em
seguida para ALFKI e assim por diante.
8. Para criar a lista de classificao personalizada selecione o comando =erra!entas ,. -"6es .
9. D um clique na guia Listas.
10. Sero exibidas as listas j existentes, criadas automaticamente pelo Excel, conforme citado anteriormente.
11. Para criar uma nova basta digitar os valores da lista, no campo Entradas da lista, uma entrada em cada linha, conforme indicado na
Figura 1.23:
Figura 1.23 - 'nserindo os %alores da no%a lista.
12. Aps ter digitado os valores da lista, basta clicar no boto Adicionar. A nova lista ser criada e exibida no campo Listas
personalizadas, abaixo das listas j existentes.
13. Clique em OK. Voc estar de volta planilha.
14. Agora vamos classificar a planilha com base nos valores da lista recm criada.
15. Para classificar a lista no necessrio selecionar todas as linhas da lista. Basta clicar em uma das clulas que fazem parte da lista,
qualquer clula.
16. Em seguida selecione o comando #ados ,. Classi+i&ar . Observe que ao selecionar este comando, todas as linhas da lista so,
automaticamente selecionadas, com exceo da primeira linha que contm os rtulos das colunas.
17. Ser exibida a janela Classificar.
18. Na lista Classificar por selecione o campo Cliente. Vamos classificar pelo campo Cliente, pois os valores da lista so valores deste
campo.
19. Para informar ao Excel que, ao invs da ordem alfabtica padro, deve ser usados os valores da lista, clique no boto Opes...
20. Ser exibida a janela Opes de classificao. Na lista "Ordem de classificao da primeira chave" selecionado o valor normal.
Normal significa ordem alfabtica para campos texto, ordem numrica para campos numricos ou ordem de data para campos do tipo
Data/Hora.
21. Na lista "Ordem de classificao da primeira chave" voc seleciona a lista personalizada a qual servir como base para a classificao
da planilha. Abra a lista e selecione a lista criada anteriormente, conforme indicado na Figura 1.24:
Figura 1.24 - #elecionando a lista para a classi(ica-.o personali8ada.
22. Aps selecionar a lista clique em OK.
23. Voc estar de volta janela Classificar.
24. Clique em OK.
25. Voc estar de volta planilha.
26. Observe que a planilha foi classificada de acordo a ordem definida na lista personalizada, conforme indicado na Figura 1.25:
Figura 1.25 - 3ista classi(icada de acordo com a lista personali8ada.
27. Observe que os pedidos esto classificados de acordo com a ordem da lista:
KOENE
ALFKI
DRACD
QUICK
28. Feche a planilha Exemplo 06.xls .
Lio 0(: )iltrando dados em uma Lista - Introduo e conceitos
Quando trabalhamos com listas muito extensas, com milhares de linhas, pode haver a necessidade de "filtrar" a lista, para que sejam
exibidas somente as linhas onde um ou mais campos atendam determinados critrios.
Por exemplo, podemos filtrar uma lista de Pedidos para que sejam exibidos apenas os pedidos para o Brasil; ou apenas os pedidos em
que o pas Brasil e a Cidade So Paulo. Podemos avanar mais ainda na definio de critrios de pesquisa. Por exemplo, podemos
fazer com que sejam exibidas apenas os pedidos para o Brasil, cidade de So Paulo ou Campinas, para o ano de 1997. Observe que
estamos definindo trs critrios de filtragem:
4a/s > 0rasil
Cidade> ?o 4aulo ou Cidade>Ca!"inas
(no do "edido > 1997
Filtrar uma maneira rpida e prtica para que possamos trabalhar apenas com um conjunto reduzido de linhas. Quando aplicamos um
filtro a uma lista, somente sero exibidas as linhas que atenderem aos critrios especificados. Uma vez removidos os filtros, todas as
linhas voltaro a ser exibidas.
Com o Excel, dispomos das seguintes ferramentas de filtragem:
(uto=iltro ,. Aprenderemos a utilizar esta ferramenta nas lies 9, 10 e 11.
=iltro (*anado ,. Utilizado para a definio de critrios mais complexos. Aprenderemos a usar esta ferramenta nas demais lies
deste Mdulo, a partir da Lio 12 .
Quando usamos a funo AutoFiltro, o ttulo de cada coluna transformado em uma lista, com todos os valores possveis para esta
coluna, conforme indicado na Figura 1.26:
Figura 1.26 - Listas criadas, no cabealho das colunas, com o uso do AutoFiltro.
Nota: A partir das prximas lies aprenderemos, em detalhes, o uso do recurso de AutoFiltro.
Com o uso de filtros muito mais fcil fazer anlise dos dados de uma lista. Por exemplo, se voc deseja analisar apenas os dados de
vendas para uma determinada regio, ou que atendam determinados critrios. Basta aplicar os filtros para que sejam exibidas apenas as
linhas desejadas e, em seguida, efetuar os clculos e as anlises necessrias.
Tambm possvel copiar os dados filtrados para uma nova planilha ou exporta-los para um dos formatos suportados pelo Excel.
Com o comando =iltro (*anado possvel definir faixas de critrios, com as quais fica muito mais fcil alterar os valores dos critrios
e, com isso, rapidamente obter um novo conjunto de linhas, conjunto este que reflete as alteraes feitas na faixa de critrios.
Observe o exemplo da Figura 1.27, do Help do Excel:
Figura 1.27 - Usando a opo Filtro Aanado para de!inir um "nteralo de #rit$rios.
No exemplo da figura 1.27 esto sendo filtrados apenas os pedidos com vendas entre 5000 e 8000 ou menores do que 500. Basta alterar
os valores desta faixa, para aplicar um novo conjunto de critrios de filtragem e, com isso, obter um novo conjunto de registros.
Nota: Nas demais lies deste Mdulo, aprenderemos a criar e a utilizar Intervalos de Critrios.
Lio 0*: )iltrando dados - o comando +uto)iltro - arte 1
Nesta lio comearemos o nosso estudo sobre o uso de AutoFiltro. A opo AutoFiltro uma maneira rpida e prtica para aplicar
critrios de filtragem lista de dados.
Nesta lio aprenderemos os fundamentos bsicos do uso de AutoFiltro. Mais uma vez aprenderemos atravs de um exemplo prtico,
onde iremos, passo-a-passo, usando os recursos disponveis e observando os resultados obtidos. Vamos a um exemplo prtico sobre a
criao e utilizao do recurso de AutoFiltro.
$%er&/&io 07 : Abrir o arquivo C:\ExcelAvanado\Exemplo 07.xls e usar AutoFiltro para aplicar critrios de pesquisa pelo Pas, Cidade e
Cdigo do Cliente.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 07.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos.
7. Para habilitar o recurso de AutoFiltro selecione o seguinte comando: #ados ,. =iltrar ,. (uto=iltro .
8. Observe que o cabealho de cada coluna transformado em uma Lista de valores. Nesta lista so exibidos, em ordem crescente, todos
os valores possveis para a referida coluna.
9. Vamos iniciar filtrando apenas os pedidos para o Brasil. Para fazer isso abra a lista de valores da coluna Pas e selecione Brasil,
conforme indicado na Figura 1.28:
Figura 1.2% - Aplicando um !iltro para o campo &a's.
10. Aps selecionar Brasil na lista de pases, a lista ser filtrada e sero exibidos apenas os pedidos onde o campo Pas igual a Brasil,
conforme indicado na Figura 1.29.
Figura 1.2( - Lista de &edidos e)ibindo apenas os pedidos para o *rasil.
11. Na prtica, o que o Excel faz apenas ocultar as linhas que no atendem o critrio de filtragem definido. Observe que a numerao
das linhas no seqencial. Por exemplo, a primeira linha (sem contar a linha com os nomes das colunas) a linha 4, em seguida a linha
7 e assim por diante. As linhas que esto faltando foram ocultadas.
!"ortante: Quando voc seleciona um valor para AutoFiltro, em uma das colunas, este valor permanece ativo. Por exemplo,
selecionamos Brasil na coluna Pas. Este filtro est ativo no momento. Se agora voc for na lista de valores do campo Cidade, sero
exibidas somente as cidades do Brasil e no a lista de todas as cidades. Por exemplo, se voc selecionar So Paulo na lista de cidades,
sero exibidos apenas as linhas que atendem os dois critrios: Brasil e So Paulo. Se voc quiser voltar a exibir todas as linhas, ter que
acessar a lista de valores onde foram definidos filtros e selecionar a opo Tudo. Se voc tivesse selecionado So Paulo, no campo
Cidade, teria que selecionar Tudo no campo Cidade e depois Tudo no campo Pas. Fazendo isso voc desabilita todos os filtros e volta a
exibir todas as linhas. Uma maneira mais rpida de desabilitar todos os filtros usar novamente o comando #ados ,. =iltrar ,.
(uto=iltro . Com isso as listas de AutoFiltro so retiradas e todas as linhas voltam a ser exibidas. Na prxima vez que voc usar o
comando #ados ,. =iltrar ,. (uto=iltro , a planilha voltar exibindo todos as linhas, ou seja, os filtros definidos na ltima vez que o
comando AutoFiltro estava ativo no sero reaplicados.
12. Vamos exercitar mais um pouco o comando AutoFiltro.
13. Se as listas de AutoFiltro no estiverem sendo exibidas no Cabealho de cada coluna, selecione o comando: #ados ,. =iltrar ,.
(uto=iltro .
14. Certifique-se de que todas as linhas esto sendo exibidas, ou seja, que nenhum filtro esteja sendo aplicado. Caso algum filtro esteja
sendo aplicado, selecione o comando #ados ,. =iltrar ,. (uto=iltro para excluir os filtros e em seguida selecione o comando
novamente ( #ados ,. =iltrar ,. (uto=iltro3 para voltar a exibir as listas de AutoFiltro, nas colunas dos campos.
15. Vamos iniciar filtrando apenas os pedidos para o Brasil. Para fazer isso abra a lista de valores da coluna Pas e selecione Brasil,
conforme indicado na Figura 1.28.
16. Abra a lista de valores da coluna Cidade e selecione So Paulo. Observe que sero exibidos apenas os pedidos para o Brasil, e cidade
So Paulo, conforme indicado na Figura 1.30:
Figura 1.+, - Lista de &edidos e)ibindo apenas os pedidos para o *rasil-.o &aulo.
17. Vamos aplicar um filtro para serem exibidos apenas os pedidos (mantendo Brasil e So Paulo) para o cliente FAMIA. Abra a lista de
valores da coluna Cliente e selecione FAMIA. Observe que sero exibidos apenas os pedidos para o Brasil, e cidade So Paulo, cliente
FAMIA conforme indicado na Figura 1.31:
Figura 1.+1 - Lista de &edidos e)ibindo apenas os pedidos para o *rasil-.o &aulo-FA/"A.
18. Selecione o comando #ados ,. =iltrar ,. (uto=iltro'
19. Feche o Excel.
Lio 10: )iltrando dados - o comando +uto)iltro - arte 2
Nesta lio aprenderemos a utilizar alguns recursos mais sofisticados de AutoFiltro. Por exemplo, aprenderemos a fazer a filtragem em
campos numricos, especificando uma faixa de valores. Por exemplo, Frete maior do que R$ 10,00 e menor do que R$ 20,00. Ou
especificar intervalos de datas, como por exemplo, todos os pedidos para o primeiro trimestre de 1997, enviados para o Brasil. A
metodologia adotada ser sempre a mesma: aprenderemos atravs de um exemplo prtico, passo-a-passo. Vamos a um exemplo prtico
sobre a criao e utilizao de recursos avanados do AutoFiltro.
$%er&/&io 08 : Abrir o arquivo C:\ExcelAvanado\Exemplo 08.xls e usar AutoFiltro para aplicar critrios de pesquisa por intervalo de
valores de frete, intervalo de datas. Combinar estes critrios com um critrio para Pas de destino.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 08.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos.
7. Para habilitar o recurso de AutoFiltro selecione o seguinte comando: #ados ,. =iltrar ,. (uto=iltro .
8. Observe que o cabealho de cada coluna transformado em uma Lista de valores. Nesta lista so exibidos, em ordem crescente, todos
os valores possveis para a referida coluna.
9. Vamos iniciar filtrando apenas os pedidos para a Alemanha e com Frete maior do que R$ 100,00.
10. Para fazer isso abra a lista de valores da coluna Pas e selecione Alemanha. Feito isso j ser aplicado um filtro onde sero exibidos
apenas os pedidos para a Alemanha. O prximo passo definir o filtro, dentro do conjunto de linhas da Alemanha, para exibir apenas os
pedidos com frete maior do que R$ 100,00.
11. Abra a lista de valores da coluna Frete e selecione Personalizar... Ser exibida a janela Personalizar AutoFiltro, conforme indicado na
Figura 1.32:
Figura 1.32 - 9anela Personali8ar ,utoFiltro.
12. Na janela Personalizar AutoFiltro podemos definir condies personalizadas, para faixas de valores, como por exemplo valores
numricos e faixas de datas.
13. Existe uma lista de operadores pr-definidos, conforme indicado a seguir:
9 igual a
9 di+erente de
9 !aior do )ue
9 !aior ou igual a
9 !enor do )ue
9 !enor ou igual a
14. No nosso exemplo vamos selecionar maior do que. No campo de valores digite 100, conforme indicado na Figura 1.33:
Figura 1.33 - rit:rio; Frete : maior do $ue 1!!.
15. Clique em OK. Observe que sero exibidas apenas as linhas para a Alemanha (filtro definido no item 10) e com valores de frete maior
do que 100, conforme indicado na Figura 1.34:
Figura 1.34 - Pedidos para a ,lemanha com (rete maior do $ue 1!!.
16. Agora vamos retirar o filtro para o valor do frete e definir um filtro para uma faixa de Datas: Entre 01/01/1997 e 31/12/1997.
17. Para retirar o filtro do campo Frete, abra a lista de valores no cabealho do campo Frete e selecione a opo Tudo. Com isso sero
exibidos todos os pedidos para a Alemanha, independentemente do valor do frete. Lembre que o filtro para Alemanha, definido no item
10, continua ativo.
18. Agora vamos definir o filtro para o campo Data. Abra a lista de valores do campo DtPedido e selecione a opo Personalizar... Ser
exibida a janela Personalizar AutoFiltro.
19 Defina as configuraes conforme indicado na Figura 1.35:
Figura 1.35 - Filtrando pedidos para o ano de 1++&.
20. Na primeira linha definimos a opo maior do que e a data 01/01/1997. Sempre que quisermos definir uma faixa de valores ou uma
faixa de datas, devemos selecionar a opo " E ". Esta opo define que os dois critrios - limite inferior e limite superior da faixa -
devero ser atendidos para que a linha seja selecionada. Na linha de baixo selecione menor do que e a data 31/12/1997. Com isso
estamos solicitando que sejam exibidos apenas os registros para o ano de 1997, ou seja entre 01/01/1997 E 31/12/1997.
21. Clique em OK. Sero exibidos apenas os pedidos para a Alemanha no ano de 1997, conforme indicado na Figura 1.36:
Figura 1.3" - Filtrando pedidos para o ano de 1++&<,lemanha.
Nesta lio finalizaremos o assunto AutoFiltro. Para tal veremos mais alguns detalhes sobre o uso de filtros personalizados, a opo de
exibir os "n" primeiros ou n% primeiros registros, bem como opes de filtro personalizado para campos do tipo texto.
A metodologia adotada ser sempre a mesma: aprenderemos atravs de um exemplo prtico, passo-a-passo.
$%er&/&io 09 : Abrir o arquivo C:\ExcelAvanado\Exemplo 09.xls e usar AutoFiltro para aplicar critrios de pesquisa para a coluna Pas
(do tipo texto) e filtros do tipo "n" primeiros ou "n%" primeiros.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 09.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos.
7. Para habilitar o recurso de AutoFiltro selecione o seguinte comando: #ados ,. =iltrar ,. (uto=iltro .
8. Observe que o cabealho de cada coluna transformado em uma Lista de valores. Nesta lista so exibidos, em ordem crescente, todos
os valores possveis para a referida coluna.
9. Vamos iniciar filtrando apenas os pedidos onde o nome do pas inicia com uma das seguintes letras: A, B, C, D, E, F, G ou H. Observe
que as letras esto em uma faixa contnua, de A at H.
10. Para definir o critrio na coluna Pas, abra a lista de valores no cabealho desta coluna e clique na opo Personalizar... Ser exibida
a janela Personalizar AutoFiltro. Defina as configuraes indicadas na Figura 1.37:
Figura 1.+7 - #rit$rios personali0ados em um campo do tipo te)to.
11. Observe que, sendo um intervalo contnuo, possvel definir os critrios de filtragem usando as opes 9 !aior ou igual a e 9
!enor ou igual a' O Excel entende estas operaes, mesmo para campos do tipo texto. Por exemplo, para o Excel, B maior do que A,
X menor do que Z e assim por diante.
12. Clique em OK. Sero exibidos apenas os pedidos para os pases em que a primeira letra do nome est na faixa de A at H, conforme
indicado na Figura 1.38:
Figura 1.+% - Filtro personali0ado no campo &a's.
Nota: Para campos do tipo texto voc pode utilizar os caracteres coringa * e ?. O * significa, literalmente, qualquer coisa. O ? significa
um nico caractere. Os exemplos a seguir, aplicados ao campo Pas, ajudam a esclarecer o uso destes caracteres:
(2 -> Retorna todos os pases que iniciam com a letra A, independentemente do que vem aps a primeira letra, ou seja, qualquer coisa
aps a primeira letra.
(2( -> Todos os pases em que a primeira letra A e a ltima letra tambm A (Alemanha, Argentina, etc), independentemente
(qualquer coisa) do que est entre a primeira e a ltima letra.
@(2 -> Todos os pases em que a segunda letra do nome A, independente da primeira letra (?) e do que vem aps a segunda letra
(*).
13. Agora, dentro dos pases j filtrados, vamos pedir que sejam exibidos apenas os 20 com maior valor de frete. Neste caso vamos usar
a opo 10 primeiros. O nome da opo um pouco estranho, mas ao selecionar esta opo, podemos selecionar qualquer nmero de
registros, tanto os primeiros (maiores valores do campo), quanto os ltimos (menores valores do campo); tambm podemos selecionar
um percentual do nmero de linhas a ser exibido. Por exemplo, se tivermos 100 linhas e pedirmos para exibir as 20% maiores, sero
exibidas as 20 linhas, com os maiores valores no campo que est sendo filtrado.
14. Abra a lista de valores da coluna Frete e selecione a opo 110 4ri!eiros3' Ser exibida a janela AutoFiltro - 10 primeiros, conforme
indicado na Figura 1.39.
Figura 1.+( - A 1anela AutoFiltro - 1, primeiros.
15. Na lista Mostrar voc seleciona se deseja que seja exibido os maiores valores (Primeiros) ou os menores valores (ltimos). No campo
no meio da janela voc define o nmero ou o percentual de linhas a ser exibidas. Na ltima lista voc define se deve ser exibido um
determinado nmero de linhas (opo Itens) ou um percentual do nmero de linhas (opo Por cento).
16. No nosso exemplo queremos exibir as 20 linhas com os maiores valores do frete. Na primeira lista selecione Primeiros, no campo do
meio digite 20 e na ltima lista selecione Itens. Clique em OK. Sero exibidos apenas os pedidos para os pases em que a primeira letra
est na faixa de A at H e, dentre desta faixa, apenas os 20 pedidos com os maiores valores de frete, conforme indicado na Figura 1.40:
Figura 1.2, - 3)ibindo os 2, maiores alores de !rete.
Lio 12: Locali'ando re,istros indi-iduais: Dados -. )ormul/rio
Pode haver situaes em que voc necessita localizar, rapidamente, um determinado registro. Por exemplo, pode ser que voc queira
localizar o pedido 10350 ou um pedido enviado para So Paulo em uma data especfica, ou um pedido com um valor especfico de frete.
Em resumo, voc conhece o valor de um ou mais campos e deseja, rapidamente, localizar a linha correspondente. Nestas situaes
podemos utilizar o comando Dados -> Formulrio, o qual permite a definio de valores em um ou mais campos e a localizao da linha
que atende os critrios definidos.
Se voc digitar valores em mais de um campo, os valores sero ligados por um operador E, ou seja, todos os critrios devem ser
atendidos para que a linha seja localizada. Por exemplo, se voc digitar Brasil no campo Pas e So Paulo no campo cidade, ser
localizada a primeira linha que atender aos dois critrios. Se a linha atender apenas a um dos critrios, a pesquisa continua at a
primeira linha que atender os dois critrios. O mesmo vlido se voc definir critrios em trs ou mais campos, ou seja, todos tero que
ser atendidos para que uma linha seja localizada e exibida.
A metodologia adotada ser sempre a mesma: aprenderemos atravs de um exemplo prtico, passo-a-passo.
$%er&/&io 10 : Abrir o arquivo C:\ExcelAvanado\Exemplo 10.xls e utilizar o comando Dados -> Formulrio para localizar registros que
atendam a um ou mais critrios de pesquisa.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 10.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos.
7. Selecione o comando: #ados ,. =or!ulArio' Ser exibida a janela de formulrio, com o registro da primeira linha de dados sendo
exibido, conforme indicado na Figura 1.41:
Figura 1.41 - Formul=rio exi/ido pelo comando *ados -> Formul=rio.
8. Clique no boto Critrios. Ser exibido um registro em branco, onde voc pode definir critrios de pesquisa em um ou mais campos.
Vamos iniciar localizando o registro para o pedido 10454. Para isso digite o valor 10454 no campo Pedido e clique no boto Localizar
prxima. O registro ser localizado, conforme indicado na Figura 1.42:
Figura 1.42 - 3ocali8ando um registro espec4(ico.
9. Agora vamos fazer uma pesquisa mais refinada. Vamos pesquisar o primeiro registro que atenda os seguintes critrios: pas = Brasil,
Cidade = So Paulo e cliente = COMMI. Para redefinir os critrios, clique no boto Critrios. Novamente ser exibido um registro em
branco. Digite os critrios propostos neste exemplo.
10. Clique no boto Localizar prximo. O primeiro registro que atende aos critrios digitados ser exibido, conforme indicado na Figura
1.43.
Figura 1.43 - ?egistro locali8ado com /ase na de(ini-.o de tr@s crit:rios di(erentes.
10. Voc pode utilizar o boto Excluir para eliminar a linha do registro que est sendo exibido.
11. Cada vez que tiver que utilizar um novo conjunto de critrios, basta clicar no boto Critrios.
12. Clique no boto Fechar para voltar ao Excel.
13. Feche o Excel.
Lio 1!: Operadores l,icos: a di0erena entre 121 e 1OU1
Nesta lio trataremos de um assunto terico e que muitas vezes causa confuso: a diferena e como funciona os operadores lgicos "E"
e "OU".
Veremos que existem diferenas fundamentais entre estes dois operadores e que muito importante entendermos estas diferenas para
que possamos obter os resultados desejados quando estamos definindo critrios de pesquisa em uma lista de valores no Excel. Os
conceitos vistos nesta lio tambm so vlidos para o uso destes operadores em consultas do Access ou em qualquer outro programa
onde possam ser utilizados os operadores "E" e "OU", como por exemplo em mecanismos de pesquisa na Internet, como por exemplo o
Google ( www.google.com ) o Yahoo ( www.yahoo.com ) e o Alta Vista ( www.altavista.com.br ).
$ntendendo o o"erador $:
Utilizamos o operador E sempre que precisarmos definir dois ou mais critrios de pesquisa. Quando os critrios so unidos por um
operador E, todos os critrios devem ser verdadeiros para que um registro seja selecionado. Por exemplo, se forem definidos trs
critrios unidos por operadores E, os trs critrios devem ser atendidos para que um registro seja selecionado. Se, por exemplo, dois dos
critrios forem verdadeiros mas um for falso, o referido registro no ser selecionado.
Vamos entender o operador E atravs de um exemplo prtico:
$%,01: Suponha que sejam definidos os seguintes critrios:
Pas=Brasil $ Cidade=So Paulo $ Frete>50
Neste caso, somente sero selecionados os registros que atenderem os trs critrios. Na listagem a seguir, temos exemplos de registros
que atendem aos trs critrios ao mesmo tempo e, por isso, seriam selecionado:
Brasil So Paulo 10494 COMMI 02/04/1997 30/04/1997 R$ 65,99
Brasil So Paulo 10487 QUEEN 26/03/1997 23/04/1997 R$ 71,07
Brasil So Paulo 10606 TRADH 22/07/1997 19/08/1997 R$ 79,40
Brasil So Paulo 10290 COMMI 27/08/1996 24/09/1996 R$ 79,70
Brasil So Paulo 11068 QUEEN 04/05/1998 01/06/1998 R$ 81,75
Brasil So Paulo 10830 TRADH 13/01/1998 24/02/1998 R$ 81,83
Brasil So Paulo 10961 QUEEN 19/03/1998 16/04/1998 R$ 104,47
Brasil So Paulo 10659 QUEEN 05/09/1997 03/10/1997 R$ 105,81
Brasil So Paulo 10406 QUEEN 07/01/1997 18/02/1997 R$ 108,04
Brasil So Paulo 10786 QUEEN 19/12/1997 16/01/1998 R$ 110,87
Brasil So Paulo 10650 FAMIA 29/08/1997 26/09/1997 R$ 176,81
Brasil So Paulo 10868 QUEEN 04/02/1998 04/03/1998 R$ 191,27
Brasil So Paulo 10637 QUEEN 19/08/1997 16/09/1997 R$ 201,29
Observe que todos estes registros atendem aos trs critrios de pesquisa. J os registros da listagem a seguir no seriam selecionados,
pois no atendem a um ou mais dos critrios de pesquisa:
*******************************************************************
Brasil So Paulo 10969 COMMI 23/03/1998 20/04/1998 R$ 0,21
Brasil So Paulo 10292 TRADH 28/08/1996 25/09/1996 R$ 1,35
Brasil So Paulo 10581 FAMIA 26/06/1997 24/07/1997 R$ 3,01
Brasil So Paulo 10347 FAMIA 06/11/1996 04/12/1996 R$ 3,10
Brasil So Paulo 10512 FAMIA 21/04/1997 19/05/1997 R$ 3,53
Brasil So Paulo 10704 QUEEN 14/10/1997 11/11/1997 R$ 4,78
Brasil Rio de Janeiro 10379 QUEDE 11/12/1996 08/01/1997 R$ 45,03
Brasil Rio de Janeiro 10421 QUEDE 21/01/1997 04/03/1997 R$ 99,23
Brasil Rio de Janeiro 10447 RICAR 14/02/1997 14/03/1997 R$ 68,66
Brasil Rio de Janeiro 10481 RICAR 20/03/1997 17/04/1997 R$ 64,33
Brasil Rio de Janeiro 10541 HANAR 19/05/1997 16/06/1997 R$ 68,65
Brasil Rio de Janeiro 10563 RICAR 10/06/1997 22/07/1997 R$ 60,43
Brasil Rio de Janeiro 10720 QUEDE 28/10/1997 11/11/1997 R$ 9,53
Brasil Rio de Janeiro 10770 HANAR 09/12/1997 06/01/1998 R$ 5,32
ustria Graz 10258 ERNSH 17/07/1996 14/08/1996 R$ 140,51
ustria Graz 10263 ERNSH 23/07/1996 20/08/1996 R$ 146,06
ustria Graz 10351 ERNSH 11/11/1996 09/12/1996 R$ 162,33
*******************************************************************
Observe que alguns dos registros no atendem a um dos critrios, outros no atendem a dois dos critrios e outros no atendem a
nenhum dos critrios. O importante, novamente, salientar que, com o operador E, somente sero selecionados os registros que
atenderem a todos os critrios.
$ntendendo o o"erador -B:
Utilizamos o operador OU sempre que precisarmos definir dois ou mais critrios de pesquisa. Quando os critrios so unidos por um
operador OU, basta que um dos critrios seja verdadeiro para que um registro seja selecionado. Por exemplo, se forem definidos trs
critrios unidos por operadores OU e um dos critrios fosse verdadeiro, ou dois dos critrios fossem verdadeiros, ou at mesmo se os trs
critrios fossem verdadeiros, o registro seria selecionado. Um registro somente no ser selecionado se todos os critrios unidos pelo
operador OU forem falsos para o referido registro.
Vamos entender o operador OU atravs de um exemplo prtico:
$%,01: Suponha que sejam definidos os seguintes critrios:
Ano do Pedido=1997 -B Cidade=So Paulo -B Frete>50
Neste caso ser selecionado qualquer registro que atender, pelo menos, um dos critrios unidos pelo operador OU. Somente deixaro de
ser selecionados os registros que no atenderem a nenhum dos critrios especificados.
Na "rAti&a sero sele&ionados os seguintes registros:
Todos os pedidos para o ano de 1997, independentemente da Cidade e do valor do frete.
Todos os pedidos para a cidade de So Paulo, independentemente do ano e do valor do frete.
Todos os pedidos com valores de frete maiores do que 50, independentemente do ano e da cidade.
Na Listagem a seguir temos exemplos de alguns registros que seriam selecionados:
*******************************************************************
Brasil So Paulo 10581 FAMIA 26/06/1997 24/07/1997 R$ 3,01
Brasil So Paulo 10512 FAMIA 21/04/1997 19/05/1997 R$ 3,53
ustria Graz 10402 ERNSH 0 2/01/1997 13/02/1997 R$ 67,88
ustria Graz 10403 ERNSH 0 3/01/1997 31/01/1997 R$ 73,79
Itlia Bergamo 10404 MAGAA 03/01/1997 31/01/1997 R$ 155,97
Brasil So Paulo 10704 QUEEN 14/10/1997 11/11/1997 R$ 4,78
Frana Lille 10408 FOLIG 08/01/1997 05/02/1997 R$ 11,26
Canad Tsawassen 10410 BOTTM 10/01/1997 07/02/1997 R$ 2,40
Canad Tsawassen 10411 BOTTM 10/01/1997 07/02/1997 R$ 23,65
Frana Toulouse 10413 LAMAI 14/01/1997 11/02/1997 R$ 95,66
Brasil So Paulo 10725 FAMIA 31/10/1997 28/11/1997 R$ 10,83
EUA Elgin 10415 HUNGC 15/01/1997 12/02/1997 R$ 0,20
*******************************************************************
Na Listagem a seguir temos exemplos de alguns registros que no seriam selecionados. Observe que estes registros no atendem a
nenhum dos trs critrios ligados pelo operador OU, ou seja, somente quando os trs critrios forem falsos que o registro deixar de
ser selecionado.
*******************************************************************
Venezuela I. de Margarita 10811 LINOD 02/01/1998 30/01/1998 R$ 31,22
Brasil Rio de Janeiro 10813 RICAR 05/01/1998 02/02/1998 R$ 47,38
EUA Boise 10815 SAVEA 05/01/1998 02/02/1998 R$ 14,62
Argentina Buenos Aires 10819 CACTU 07/01/1998 04/02/1998 R$ 19,76
EUA Albuquerque 10820 RATTC 07/01/1998 04/02/1998 R$ 37,52
EUA Lander 10821 SPLIR 08/01/1998 05/02/1998 R$ 36,68
EUA Kirkland 10822 TRAIH 08/01/1998 05/02/1998 R$ 7,00
Sucia Brcke 10824 FOLKO 09/01/1998 06/02/1998 R$ 1,23
Frana Strasbourg 10826 BLONP 12/01/1998 09/02/1998 R$ 7,09
*******************************************************************
Cesu!indo:
Crit9rios unidos "or u! o"erador $ -> Todos tem que ser verdadeiros para que o registro seja selecionado. Basta que um seja falso
para que o registro no seja selecionado.
Crit9rios unidos "or u! o"erador -B ,. Basta que um seja verdadeiro para que o registro seja selecionado. Somente quando todos
forem falsos que o registro no ser selecionado.
Lio 1": De0inindo e usando 0ai3as de crit4rios - Introduo
Nas lies anteriores aprendemos a usar o comando AutoFiltro em conjunto com a opo Personalizar AutoFiltro, para definir critrios
bsicos de filtragem. A partir desta lio veremos uma srie de exemplos com a opo Filtro Avanado. Com esta opo podemos definir
critrios de filtragem mais elaborados, onde so envolvidas mais de duas colunas ou onde podemos definir trs ou mais valores de
filtragem para uma nica coluna.
Por exemplo, podemos definir um critrio de filtragem onde sejam exibidos apenas os pedidos para o "Brasil", "Alemanha", "Argentina",
"EUA" e "Frana". Observe que neste caso temos que definir cinco valores diferentes, como critrios de filtragem, no campo Pas. Este
tipo de filtro no possvel de ser definido com a opo AutoFiltro.
Outra exemplo, poderamos definir mltiplos critrios em dois ou mais campos. Por exemplo, podemos filtrar apenas os pedidos para o
Brasil, para o ano de 1997; mais todos os pedidos para a Argentina com frete maior do que R$ 20,00 e todos os pedidos para a Frana
onde a cidade Paris e o ano 1998. Este tipo de filtragem, com diferentes critrios em diferentes campos, sendo aplicados
simultaneamente, no possvel de ser aplicado, usando a opo AutoFiltro.
Com o comando Filtro Avanado possvel fazer com que o Excel faa uma cpia das linhas filtradas para outro local da planilha ou para
outra planilha. Esta opo muito til quando voc quer, alm de filtrar os dados, obter uma cpia dos dados filtrados para efetuar
anlises, clculos ou consolidaes.
#e+inindo =ai%as de Crit9rios "ara usar &o! o &o!ando =iltro (*anado:
Para trabalhar com o comando Filtro Avanado temos que definir uma faixa de clulas onde so definidos os critrios de filtragem. Ao
usar o comando Filtro Avanado devemos informar a faixa onde esto os critrios a serem utilizados. Na Figura 1.44:
Figura 1.44 - Faixa com crit:rios para o comando Filtro ,%an-ado.
Nas linhas de 1 a 3 temos a faixa onde so definidos os critrios de filtragem. Para o exemplo da Figura 1.44 definimos o seguinte
critrio:
(Pas=Brasil) -B (Pas=Argentina $ Frete>20)
Como os critrios esto ligados pelo operador OU (cada linha separada ligada por um OU), os critrios so independentes. Ou seja,
sero selecionados os registros que atendam os critrios da primeira linha OU os critrios da segunda linha, ou seja, basta atender a um
dos critrios (uma das linhas) para ser selecionado. Os critrios dentro da mesma linha so ligados por um E, como o exemplo da
segunda linha. No basta ser Pas=Argentina, tem que tambm atender ao critrio do frete e vice-versa.
A faixa com os critrios pode ser criada acima ou abaixo da lista. Com a lista pode crescer com o tempo, recomendado que voc crie a
sua faixa de critrios nas linhas acima da lista.
Para criar a faixa de critrios voc deve definir o rtulo das colunas da faixa de critrio, exatamente iguais aos rtulos das colunas da
lista. Por exemplo, se voc deseja definir uma coluna na faixa de critrios, para definir valores de filtragem para o campo Pas, o rtulo
desta coluna deve ser exatamente igual ao rtulo do campo Pas na lista. Observe que o Excel no faz diferena entre maisculas e
minsculas, porm faz diferena entre acentos, o cedilha e o til.
5ais alguns e%e!"los de Crit9rios (*anados:
A seguir apresento mais alguns exemplos de critrios avanados que podem ser definidos com o uso de faixas de critrios e com o
comando Filtro Avanado. Os exemplos so obtidos a partir do Help do Excel.
$%e!"los de &rit9rios de +iltro a*anado , 7el" do $%&el:
Os critrios de filtro avanado podem incluir vrias condies aplicadas em uma nica coluna, vrios critrios aplicados a vrias colunas e
condies criadas como resultado de uma frmula.
:Arias &ondi6es e! u!a s; &oluna : Se voc tem duas ou mais condies para uma nica coluna, digite o critrio diretamente
abaixo de cada um em linhas separadas. Por exemplo, o intervalo de critrios a seguir exibe as linhas que contm "Amaral", "Bonfim" ou
"Andrade" na coluna Vendedor.
B!a &ondio e! duas ou !ais &olunas : Para localizar dados que atendam a uma condio em duas ou mais colunas, insira todos
os critrios na mesma linha do intervalo de critrios. Por exemplo, o intervalo de critrios a seguir exibe todas as linhas que contm
"Produo" na coluna Tipo, "Amaral" na coluna Vendedor e valores de vendas acima de R$1.000.
-bser*ao: Voc tambm pode especificar vrias condies para colunas diferentes e exibir somente as linhas que atendam a todas
as condies, usando o comando AutoFiltro no menu Dados, porm com este comando somente possvel definir um valor de critrio
para cada coluna.
B!a &ondio e! u!a &oluna ou outra : Para localizar os dados que atendam a uma condio em uma coluna ou uma condio em
outra coluna, insira os critrios em linhas diferentes do intervalo de critrios. Por exemplo, o intervalo de critrios a seguir exibe todas as
linhas que contm "Produo" na coluna Tipo, "Amaral" na coluna Vendedor ou valores de vendas acima de R$1.000.
B! de dois &onDuntos de &ondi6es "ara duas &olunas : Para localizar linhas que atendam a um de dois conjuntos de condies,
onde cada grupo inclui condies para mais de uma coluna, digite os critrios em linhas separadas. Por exemplo, o intervalo de critrios a
seguir exibe as linhas que contm tanto "Amaral" na coluna Vendedor e valores de vendas acima de R$3.000, como tambm exibe as
linhas do vendedor Bonfim com vendas acima de R$1.500.
Condi6es &riadas &o!o resultado de u!a +;r!ula : Voc pode usar um valor calculado que seja resultado de uma frmula como
critrio. Quando voc usa uma frmula para criar um critrio, no use um rtulo de coluna como rtulo de critrios; deixe o rtulo de
critrios em branco ou use um rtulo que no seja um rtulo de coluna na lista . Por exemplo, o intervalo de critrios a seguir exibe
linhas que tm um valor na coluna G maior do que a mdia das clulas E5: E14; ele no usa um rtulo de critrios.
-bser*a6es:
A frmula utilizada para uma condio deve usar uma referncia relativa para se referir ao rtulo da coluna (por exemplo,
Vendas) ou o campo correspondente no primeiro registro. Todas as outras referncias na frmula devem ser referncias
absolutas, e a frmula deve avaliar se so VERDADEIRAS ou FALSAS. No exemplo da frmula, "G5" se refere ao campo (coluna
G) do primeiro registro (linha 5) da lista.
Voc pode usar um rtulo de coluna na frmula, em vez de uma referncia relativa de clula ou um nome de intervalo. Quando
o Microsoft Excel exibe um valor de erro como #NOME? ou #VALOR! Na clula que contm o critrio, voc pode ignorar este
erro porque ele no afeta a maneira como a lista filtrada.
Lio 1#: O primeiro e3emplo usando 0ai3as de crit4rios5
Nesta lio vamos criar um exemplo, passo a passo, onde criaremos uma faixa de critrios e depois iremos utiliza-la em conjunto com o
comando Filtro Avanado. Em seguida modificaremos os critrios para obter um novo conjunto de linhas.
:a!os de+inir os seguintes &onDuntos de &rit9rios:
*****************************************
Pas= Brasil Ou Argentina ou Frana
Frete > 30
*****************************************
Em seguida vamos alterar os critrios da seguinte maneira
*****************************************
Pas=Brasil Ou Alemanha
Ano= 1997
Ou
Pas=Frana Ou EUA
Ano=1196
*****************************************
$%er&/&io 11 Abrir o arquivo C:\ExcelAvanado\Exemplo 11.xls e defina uma faixa de critrios para atender ao primeiro conjunto de
critrios definido anteriormente. Em seguida altere a faixa de critrios para atender o segundo conjunto de critrios. A cada etapa
utilize o comando Filtro Avanado para informar a faixa de critrios e, com isso, exibir apenas as linhas que atendem aos critrios
definidos na faixa.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 11xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos.
7 Observe que j existem algumas linhas em branco no incio da planilha. Estas linhas sero utilizadas para definir as faixas de
critrio para o exerccio proposto.
8. Primeiro vamos definir a seguinte faixa de critrios:
*****************************************
Pas= Brasil Ou Argentina ou Frana
Frete > 30
*****************************************
9. Com esta faixa estamos filtrando todos os pedidos para o Brasil, Alemanha ou Frana, mas somente os pedidos com valor do frete
maior do que 30. importante lembrar que critrios em linhas separadas so unidos por um "E" e na mesma linha por um "OU".
10. Digite a faixa de critrios conforme indicado na Figura 1.45:
Figura 1.45- *e(inindo uma (aixa de crit:rios no in4cio da planilha.
11. Observe que o critrio >30 foi repetido nas trs linhas. Se no repetssemos o critrios nas trs linhas, ele seria aplicado apenas
na primeira linha. Com isso seriam filtrados os pedidos para o Brasil, com valores de frete maiores do que 30 e todos os pedidos
para a Argentina e para a Frana, independentemente do valor do frete.
12. Agora vamos usar o comando Filtro Avanado para filtra os dados da lista de acordo com os critrios definidos na faixa de
critrios.
13. Selecione o comando Dados -> Filtrar -> Filtro avanado...
14. A janela Filtro avanado ser aberta.
Figura 1.4" - , 0anela Filtro a%an-ado.
15. Nesta janela devemos informar o intervalo no qual encontra-se a lista de dados e o intervalo onde esto definidos os critrios.
Podemos informar o intervalo digitando diretamente nos campos ou clicar no boto vermelho, ao lado do campo para voltar a
planilha e marcar a faixa com o mouse. Para maiores detalhes sobre intervalos e seleo de intervalos, consulte o curso de Excel
Bsico em 120 Lies, no seguinte endereo: http://www.juliobattisti.com.br/
16. Digite os respectivos intervalos, conforme indicado na Figura 1.47:
Figura 1.4& - *e(inindo o 'nter%alo da lista e o 'nter%alo de crit:rios.
19. Observe que estamos utilizando a nomenclatura completa para os endereos da faixa. Onde includo o nome da planilha, antes
dos endereos absolutos das clulas.
20. Clique em OK e pronto, a lista ser filtrada, de acordo com os critrios definidos na faixa de critrios, conforme indicado na
Figura 1.48:
Figura 1.4) - Filtros aplicados a partir da (aixa de crit:rios.
21. Agora vamos alterar a faixa de critrios, para que sejam aplicados os seguintes critrios:
*****************************************
Pas=Brasil Ou Alemanha
Ano= 1997
Ou
Pas=Frana Ou EUA
Ano=1196
*****************************************
22. Selecione o comando #ados ,. =iltrar ,. 5ostrar todos , para limpar os filtros anteriores. Exclua a faixa de critrios criada
anteriormente. Digite a faixa de critrios conforme indicado na Figura 1.49:
Figura 1.4+ - ?ede(inindo a (aixa de crit:rios anterior.
23. Observe que estamos definindo em cada linha, dois critrios. Por exemplo, na linha 2 definimos o filtro para Brasil e a faixa das
datas dentro do ano de 1997. Como o excel armazena as datas como nmeros (conforme descrito no curso bsico de Excel em 120
lies - www.juliobattisti.com.br ) possvel fazer comparaes do tipo ">=" e "<=" com colunas do tipo data.
24. Selecione o comando #ados ,. =iltrar ,. =iltro a*anado'''
25. A janela Filtro avanado ser aberta.
26. Defina o Intervalo de lista e o Intervalo de critrios conforme indicado na Figura 1.50:
Figura 1.5! - 'n(ormando o 'nter%alo da lista e o 'nter%alo de crit:rios.
27. Clique em OK.
28. A planilha ser filtrada de acordo com os critrios definidos na faixa de critrios. Observe os resultados obtidos e confira se eles
esto de acordo com os critrios definidos.
29. Salve a planilha.
30. Feche a planilha.
Lio 1$: Usando &rit4rios de 6e3to
Nesta lio veremos um exemplo prtico do uso de critrios de texto em faixas de critrios, para filtrar os registros de uma lista.
Existem algumas regras que devem ser observadas quando fazemos a pesquisa em campos do tipo texto, conforme descrito a
seguir:
Cegra 1: Se definirmos uma nica letra, por exemplo, no campo Pas, sero selecionados todos os registros em que o pas iniciar
pela letra especificada. Por exemplo, se definirmos o critrio A para o campo pas, sero selecionados os registros para Alemanha,
Argentina e assim por diante. No sero selecionados os registros para a ustria, pois o Excel diferencia com acento e sem acento.
Cegra 2: Podemos utilizar os operadores maior do que (>), maior ou igual a (>=), menor do que (<), menor ou igual a (<=) e
diferente (<>). Por exemplo, se, no campo pas, definirmos o seguinte critrio: >=L, sero filtradas todas as linhas onde o nome do
pas inicie com L ou com todas as demais letras aps o L. Assim seriam selecionadas linhas para ndia, Peru, Venezuela, Zaire, etc.
Cegra 3: Se voc especificar uma palavra como critrio, o Excel retornar todas as linhas onde o campo que est sendo filtrado,
contenha a palavra digitada. Por exemplo, se em um campo Nome do Cliente, voc especificar o critrio Silva, sero retornados os
seguintes valores: Jos da Silva, Silvania da Costa, Silvano Pereira, Silvamar Rocha, Carlos Silva, etc.
Cegra 4: Se voc deseja uma ocorrncia exata, deve colocar o texto a ser pesquisado dentro de uma frmula, no seguinte formato:
="=texto a ser pesquisado". Por exemplo, se em um campo Nome do Cliente, voc especificar o critrio ="=Silva", sero retornados
os seguintes valores: Jos da Silva, Carlos Silva, etc; mas no sero retornados os seguintes valores: Silvania da Costa, Silvano
Pereira, Silvamar Rocha e assim por diante.
Vamos a um exemplo prtico, onde utilizaremos diferentes critrios do tipo texto para filtrar os registros de uma planilha.
$%er&/&io 12 Abrir o arquivo C:\ExcelAvanado\Exemplo 12.xls e defina uma faixa de critrios na qual testaremos alguns critrios
do tipo texto. Em seguida altere a faixa de critrios para atender um novo conjunto de critrios. A cada etapa utilize o comando
Filtro Avanado para informar a faixa de critrios e, com isso, exibir apenas as linhas que atendem aos critrios definidos na faixa.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 12xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos.
7. Defina a faixa de critrios indicada na Figura 1.51:
Figura 1.51 - Utili8ando crit:rios de texto.
8. Selecione o comando #ados ,. =iltrar ,. =iltro a*anado e defina as faixas conforme indicado na Figura 1.52.
Figura 1.52 - *e(inindo o 'nter%alo da 3ista e o 'nter%alo de crit:rios.
9. Clique em OK. Observe que sero exibidos apenas os pedidos para o Brasil.
10. Selecione o comando #ados ,. =iltrar ,. 5ostrar todos . Agora altere a faixa de critrios, conforme indicado na Figura 1.53.
Figura 1.53 - Filtrando pa4ses em $ue a primeira letra do nome inicia na (aixa de 2 at: A.
11. Selecione o comando #ados ,. =iltrar ,. =iltro a*anado e defina as faixas conforme indicado na Figura 1.52.
12. Clique em OK. Observe que sero exibidos apenas os pedidos em que a primeira letra do Pas esta na faixa de M at Z (maior do
que L).
13. Selecione o comando #ados ,. =iltrar ,. 5ostrar todos . Agora altere a faixa de critrios, conforme indicado na Figura 1.54.
Figura 1.54 - Filtrando apenas os pa4ses $ue come-am e terminam com a letra ,.
14. Selecione o comando #ados ,. =iltrar ,. =iltro a*anado e defina as faixas conforme indicado na Figura 1.52.
15. Clique em OK. Observe que sero exibidos apenas os pedidos em que a primeira e a ltima letra do nome do Pas a letra A,
como por exemplo Alemanha e Argentina, conforme indicado na Figura 1.55:
Figura 1.55 - Filtrando apenas os pa4ses $ue come-am e terminam com a letra ,.
16. Salve a planilha Exemplo 12.xls.
17. Feche o Excel.
Lio 1%: Usando &rit4rios &alculados
Existem situaes onde uma simples filtragem com base em um ou mais critrios no o suficiente para que voc possa obter os
resultados desejados. Por exemplo, em uma lista de pedidos voc pode querer filtrar apenas os pedidos onde o valor do pedido maior
do que o valor mdio dos pedidos. Em uma situao como esta temos que utilizar critrios calculados.
Existem algumas regras de devem ser observadas quando utilizamos Critrios Calculados em conjunto com o comando Filtro Avanado:
Cegra 1: O cabealho do critrio calculado, acima da clula onde est a frmula de clculo no pode ser igual ao nome de uma das
colunas da lista, pois seno ser gerado um erro. Este cabealho pode ficar em branco ou pode conter um texto qualquer, desde que este
texto no seja igual ao nome de uma das colunas da lista.
Cegra 2: Se a frmula fizer referncia a uma clula fora da lista de valores, esta referncia dever ser absoluta.
Cegra 3: Se a frmula fizer referncia a uma clula dentro da lista de valores, esta referncia dever ser relativa.
Para melhor entender o uso de Critrios Calculados vamos utilizar um exemplo prtico. Neste exemplo utilizaremos dois conjuntos de
critrios diferentes, um para filtrar apenas os pedidos com valores maiores do que o valor mdio dos pedidos e outro para filtrar os
pedidos onde o nmero de dias, entre a data do pedido e a data do envio for maior do que 15.
$%er&/&io 13 Abrir o arquivo C:\ExcelAvanado\Exemplo 13.xls e utilizar critrios calculados para, primeiro, obter uma listagem apenas
com os pedidos em que o valor do pedido maior do que o valor mdio dos pedidos. Limpar o critrio anterior e definir um novo critrio
calculado onde sero filtrados apenas os pedidos onde o nmero de dias entre a data do pedido e a data do envio for maior do que 15.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 13.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos.
7. O primeiro passo calcular o valor mdio dos pedidos em uma clula fora da lista de pedidos. Vamos usar a clula E1. Na Clula E1
digite a seguinte frmula: >5E#(178:78373 . Voc obter um valor de R$ 1525,05.
8. O valor da mdia calculada ser usado como critrio (na verdade uma referncia absoluta a clula onde est o valor da mdia) para
filtrar apenas os pedidos com valores acima da mdia.
9. Na clula A1 digite o rtulo: Pedidos Acima da Mdia. Lembre que este rtulo no pode ser igual ao nome de uma das colunas da lista.
10. Na Clula A2 digite a seguinte frmula: >78.F$F1' A clula H8 onde est o valor para o primeiro registro. Quando o Excel
executa o filtro, ele inicia pela clula H8. Compara o valor desta clula com o valor da mdia calculado na clula E1. Se o valor for maior
do que a mdia, o registro ser selecionado, caso contrrio o Excel segue para o prximo registro. Isto ser feito para todos os registras
da lista do pedidos. O resultado final que sero filtrados apenas os registros com valores acima da mdia.
11. Na Figura 1.56 temos uma viso geral da definio do clculo da mdia e do critrio calculado.
Figura 1.5" - *e(inindo crit:rios calculados.
12. Selecione o comando #ados ,. =iltrar ,. =iltro a*anado e defina as faixas conforme indicado na Figura 1.57.
Figura 1.5& - *e(inindo o 'nter%alo da 3ista e o 'nter%alo de crit:rios.
13. Clique em OK. Observe que sero exibidos apenas os pedidos com valores acima da mdia, que de R$ 1525, 05 conforme indicado
na Figura 1.58.
Figura 1.5) - #omente pedidos com %alores acima da m:dia.
14. Agora vamos alterar os critrios para filtrar apenas os pedidos onde a diferena, em dias, entre a Data de Envio e a Data do Pedido
for maior do que 15.
15. Vamos, em primeiro lugar, excluir a frmula da clula E1, pois no iremos mais utiliza-la neste segundo exemplo.
16. Altere o texto da clula A1 para: #i+erena !aior do )ue 15 dias .
17. Na clula A2 digite a seguinte frmula: $7,#7.15 . Com esta frmula o Excel ir percorrer cada linha, fazer a subtrao entre as
duas datas e filtrar apenas os registros onde a diferena for maior do que 15.
18. Selecione o comando #ados ,. =iltrar ,. 5ostrar todos'
19. Selecione o comando #ados ,. =iltrar ,. =iltro a*anado e defina as faixas conforme indicado na Figura 1.59.
Figura 1.5+ - *e(inindo o 'nter%alo da 3ista e o 'nter%alo de crit:rios.
20. Clique em OK. Observe que sero exibidos apenas os pedidos onde a diferena entre a Data de Envio e a Data do Pedido for maior do
que 15 dias, conforme indicado na Figura 1.60:
Figura 1."! - #omente pedidos com di(eren-a entre as datas maior do $ue 15 dias.
21. Salve a planilha Exemplo 13.xls.
22. Feche o Excel.
Lio 1(: Usando 7u8totais para an/lise de dados
Outra funcionalidade bastante til do Excel a possibilidade de, rapidamente, criarmos subtotais para grupos de dados em uma planilha.
Por exemplo, podemos criar subtotais de vendas por pas, dentro de cada pas podemos criar subtotais por cidade. Ou poderamos criar
subtotais por vendedor ou cliente. A criao de subtotais uma maneira rpida de compararmos o desempenho de diferentes grupos. Por
exemplo, com o clculo de subtotais por vendedor, podemos comparar, facilmente, o desempenho de cada vendedor.
Nesta lio veremos um exemplo bsico do uso de subtotais. Mais adiante, nos mdulos 3 e 4 voltaremos ao assunto de subtotais,
quando falaremos das ferramentas de anlise e simulao do Microsoft Excel.
Nesta lio veremos um exemplo simples de como criar subtotais por vendedor.
$%er&/&io 14 Abrir o arquivo C:\ExcelAvanado\Exemplo 14.xls e calcular subtotais de vendas por vendedor - coluna Funcionrio.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 14.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos.
7. Em primeiro lugar vamos classificar a planilha em ordem crescente do campo Funcionrio. Clique em qualquer clula da coluna
Funcionrio.
8. Selecione o comando Dados -> Classificar. Na janela Classificar selecione as opes indicadas na Figura 1.61:
Figura 1."1 - lassi(icando pelo campo Funcion=rio.
9. Clique em OK. A planilha ser classificada pela coluna Funcionrio.
10. Selecione o comando Dados -> Subtotais...
11. Ser exibida a janela Subtotais indicada na Figura 1.62:
Figura 1."2 - , 0anela #u/totais.
12. Na lista A cada alterao em, selecionamos o campo no qual queremos que os subtotais sejam calculados. No nosso exemplo
selecione o campo Funcionrio.
13. Na lista Usar funo, selecionamos qual o clculo de subtotal ser realizado. Por padro uma Soma, mas tambm pode ser contar o
nmero de linhas, Mximo, Mnimo, Mdia, etc. Selecione Soma.
14. Na lista Adicionar subtotal a, selecionamos o campo no qual esto os valores onde sero efetuados os clculos. No nosso caso
queremos somar o total de vendas para cada funcionrio. Selecione a coluna Valor.
15. Na parte de baixo da janela temos opes para Substituir os subtotais atuais, caso j existam subtotais calculados; inserir uma
quebra de pgina aps cada subtotal e Resumir abaixo dos dados. Esta ltimo opo, se marcada, faz com que o excel calcule totais
gerais.
16. Suas opes devem estar conforme indicado na Figura 1.62.
17. Clique em OK.
18. O Excel calcula os subtotais e insere uma estrutura de tpicos, no lado esquerdo da planilha.
19. Observe que a estrutura de tpicos apresenta diferentes nveis: 1, 2 e 3 . Por padro so exibidos todos os registros e tambm os
subtotais. Esta visualizao no muito prtica. Para ver apenas o subtotal por funcionrio, clique no boto com o nmero 2, conforme
destacado na Figura 1.63:
Figura 1."3 - Exi/indo o su/total por (uncion=rio.
20. Clique no boto 1 da estrutura de nveis. Observe que ser exibido apenas o total geral, conforme indicado na Figura 1.64.
Figura 1."4 - Exi/indo Total Blo/al.
21. Salve a planilha Exemplo 13.xls.
22. Feche o Excel.
MDULO 2
Lio 01 Introduo e contedo do Mdulo 2
Lio 02 Mais opes e um exemplo com Subtotais
Lio 03 Funes para anlise dos dados de uma lista - Parte I
Lio 04 Funes para anlise dos dados de uma lista - Parte II
Lio 05 Funes para anlise dos dados de uma lista - Parte III
Lio 06 Funes para anlise dos dados de uma lista - Parte IV
Lio 07 Definindo critrios para validao de dados
Lio 08 Consultas baseadas em dados da Internet - Conceitos
Lio 09 Consultas baseadas em dados da Internet - Exemplos
Lio 10 Uma ferramenta de pesquisa - Microsoft Query
Lio 11 Definindo a fonte de dados a ser utilizada
Lio 12 Criao de consultas bsicas com o Microsoft Query
Lio 13 Definio de critrios em consultas - Parte I
Lio 14 Definio de critrios em consultas - Parte II
Lio 15 Alterando consultas com o Microsoft Query
Lio 16 Totalizao de dados com o Microsoft Query
Lio 17 Ex. 02 - Criao de consultas e anlise de dados com o Query
Lio 18 Ex. 03 - Criao de consultas e anlise de dados com o Query
Neste mdulo veremos mais funes para trabalhar com listas de dados.
Iniciaremos o mdulo aprendendo mais detalhes sobre a utilizao de subtotais para efetuar clculos e consolidaes em um lista de
dados. O uso de subtotais uma opo bastante interessante quando precisamos, rapidamente, obter consolidaes dos dados de uma
planilha. Veremos exemplos prticas para entender todas as opes de subtotais disponveis.
Em seguida aprenderemos a utilizar algumas funes especficas para anlise de dados em listas. Aprenderemos a utilizar as seguintes
funes:
CONT.SE( )
SOMASE( )
BDMDIA( )
BDCONTAR( )
BDCONTARA( )
BDEXTRAIR( )
BDMX( )
BDMN( )
BDMULTIPL( )
BDEST( )
BDDESVPA( )
BDSOMA( )
BDVAREST( )
BDVARP( )
Na seqncia falaremos sobre validao de dados e acesso aos dados da Internet a partir do Excel. Conforme veremos neste mdulo,
possvel acessar dados de uma pgina da Internet, a partir de uma planilha do Excel. possvel, inclusive, manter a planilha sincronizada
com as alteraes que forem feitas na pgina da Internet.
Na parte final do captulo aprenderemos a utilizar o Microsoft Query. O Query uma importante ferramenta de pesquisa, a qual permite
que, a partir do Excel, faamos pesquisas em uma grande variedade de fontes e formatos de dados. Com o Query podemos acessar
dados via driver ODBC ou quaisquer uma das tecnologias suportadas pela
Lio 02: Mais op9es e um e3emplo com 7u8totais
Na Lio 18 do Mdulo 1 aprendemos sobre a utilizao bsica de Subtotais em listas de dados. Nesta lio veremos mais alguns detalhes
relacionados com subtotais. Aprenderemos a aplicar estes detalhes utilizando um exemplo prtico, passo a passo, como temos feito ao
longo deste treinamento.
No exemplo prtico desta lio aprenderemos os seguintes detalhes sobre Subtotais:
Criar subtotais em dois ou mais campos.
Usar outros clculos de subtotais alm da Soma.
$%er&/&io 15: Abrir o arquivo C:\ExcelAvanado\Exemplo 15.xls e calcular subtotais de vendas por Pas e, dentro do pas, calcular o
subtotal para cada cidade. Em seguida alterar os subtotais para que, ao invs do total por cidade, seja exibida a mdia de vendas por
cidade. Utilizar o recurso de AutoFormatao para destacar os resultados obtidos.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 15.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos, j classificada por pas e, dentro do pas, por Cidade.
7. Vamos inicialmente definir um subtotal para a Soma por Pas.
8. Selecione o comando Dados -> Subtotais. Defina as configuraes indicadas na Figura 2.1:
Figura 2.1 - on(igurando su/totais por Pa4s de destino.
9. Clique em OK.
10. Observe que sero calculados os totais gerais por Pas de destino. Observe tambm que, no canto inferior esquerdo, ao lado da
coluna A, foram disponibilizados os botes para expandira ou ocultar nveis de detalhes. Por exemplo, se voc clicar no boto "2" ser
exibido apenas o nome do Pas (sem a lista de pedidos do pas) e o total geral para o pas, conforme indicado na Figura 2.2.
Figura 2.2 - Exi/indo apenas o total por Pa4s de destino.
13. Clique no boto "3" para voltar a exibir todos os pedidos e no somente os totais gerais.
14. Agora vamos calcular os subtotais por Cidade, mantendo os subtotais gerais por pas. Observe que primeiro calculamos os subtotais
por Pas de destino e, no prximo passo, os subtotais por cidade. Ao calcularmos os subtotais por cidade, vamos solicitar ao Excel que
mantenha os subtotais por pas, calculados no item 8.
15. Selecione o comando Dados -> Subtotais. Defina as configuraes indicadas na Figura 2.3:
16. Para que os subtotais por Pas de destino sejam mantidos voc deve desmarcar a opo "Substituir subtotais atuais". Se esta opo
estiver marcada, os subtotais por Pas de destino sero excludos e sero mantidos apenas os subtotais por Cidade. Voc pode introduzir
uma seqncia de subtotais usando esta estratgia. Primeiro o subtotal maior, no nosso exemplo por Pas de destino. Em seguida os
subtotais menores, no nosso exemplo por Cidade. Poderamos avanar mais nveis, por exemplo, fazendo subtotais por dia, dentro da
mesma cidade. O importante , a cada etapa, desmarcar a opo "Substituir subtotais atuais.".
Figura 2.3 - Para manter os su/totais por Pa4s5 desmar$ue a op-.o #u/stituir su/totais atuais.
17. Clique em OK.
18. Observe que so exibidos quatro botes de nveis: 1, 2, 3 e 4.
19. Por padro so exibidos todos os pedidos, com o subtotal para cada cidade e o subtotal para cada pas. Se voc clicar no boto 3
sero exibidos somente os subtotais por cidade e por pas, conforme indicado na Figura 2.4:
Figura 2.4 - #u/totais por pa4s e por cidade.
20. Clique no boto "2". Observe que sero exibidos apenas os totais por pas de destino.
21. Clique no boto "1". Ser exibido apenas o total geral.
22. Clique no boto "4" voltaro a ser exibidos todos os pedidos, juntamente com os subtotais para Pas e Cidade.
23. Voc tambm pode ocultar os pedidos apenas para uma cidade ou pas especfico. Para isso basta clicar no sinal de menos (-) ao lado
do nome da cidade e/ou pas.
24. Por exemplo, clique no sinal de - na linha 8, onde aparece a expresso Aachen Total. Observe que ser exibido apenas o subtotal
para Aachen sem que seja exibida a lista de pedidos para esta cidade, conforme indicado na Figura 2.5:
Figura 2.5 - Ocultando as linhas da cidade ,achen.
25. Observe que o sinal de - transforma-se em um sinal de +. Ao clicar no sinal de + os pedidos para Aachen voltaro a ser exibidos.
26. Ao invs da soma por cidade, poderamos obter o valor mdio dos pedidos ou o valor mximo. Para isso bastaria selecionar a funo
desejada. Por exemplo, para obter o valor mdio dos pedidos por cidade, na lista usar funo, da Figura 2.3, bastaria selecionar Mdia.
27. Podemos, facilmente, alterar a funo que est sendo utilizada para um subtotal. Basta clicar em uma das clulas onde est sendo
calculado o subtotal que queremos alterar, depois selecionar o comando Dados -> Subtotais e alterar a funo de clculo.
28. Vamos alterar o nosso exemplo para que sejam calculadas tambm as mdias dos pedidos por cidade, alm da Soma j calculada
anteriormente.
29. Selecione o comando Dados -> Subtotais e selecione as opes indicadas na Figura 2.6. Observe que estamos pedindo para que seja
calculada a mdia e tambm para que sejam mantidos os subtotais anteriores, ou seja, os subtotais por Cidade e por Pas. Com esta
configurao, teremos trs subtotais: Total por pas, Total por Cidade e Mdia por cidade.
Figura 2." - ,crescentando a m:dia dos pedidos por idade.
30. Clique em OK.
31. Clique no boto de nvel "3". Observe que ser exibido o total e a mdia por cidade, bem como o total geral para o pas, conforme
indicado na Figura 2.7.
Figura 2.& - Exi/indo o total e a m:dia para cada idade.
32. Salve a planilha e feche o Excel.
Lio 0!: )un9es para an/lise dos dados de uma lista - arte 1
A partir desta lio, at a Lio 6 estudaremos uma srie de funes utilizadas para analisar dados em uma lista do Excel. Por exemplo,
podemos usar a funo CONT.SE para detectar quantas clulas no vazias, dentro de uma faixa de clulas, atendem a um determinado
critrio. A funo CONT.SE retorna um nmero o qual indica quantas clulas contm um valor que corresponde ao critrio especificado.
Podemos usar a funo SOMASE para efetuar uma soma condicional, onde os valores de uma coluna so ou no acrescentados a soma,
com base nos valores de uma outra coluna. Por exemplo, poderamos efetuar uma soma condicional para obter o total de vendas apenas
para o ms de Outubro ou somente as vendas feitas para um determinado cliente e assim por diante.
Nesta lio estudaremos as seguintes funes:
CONT.SE( )
SOMASE( )
BDMDIA( )
( +uno C-NG'?$:
Esta funo calcula o nmero de clulas no vazias em um intervalo que corresponde a determinados critrios.
Sintaxe para a funo:
CONT.SE(intervalo;critrios)
nter*alo: o intervalo de clulas no qual se deseja contar clulas no vazias.
Crit9rios: o critrio na forma de um nmero, expresso ou texto que define quais clulas sero contadas. Por exemplo, os critrios
podem ser expressos como 32, "32", ">32", "Jos da Silva","Pedro Pereira", etc.
Vamos apresentar alguns exemplos de uso da funo CONT.SE:
Suponha que o intervalo A1:A10 contenha os seguintes valores "CONTAB", "ADM", "ADM", "FINAN", "CONTAB", "CONTAB", "ADM",
"FINAN", "CONTAB", "ADM" respectivamente.
A seguir temos alguns exemplos de uso da funo CONT.SE neste intervalo:
CONT.SE(A1:A10;"CONTAB") ir retornar 4
CONT.SE(A1:A10;"ADM") ir retornar 4
CONT.SE(A1:A10;"FINAN") ir retornar 2
O que retorna a funo a seguir:
CONT.SE(A1:A100;">200") ???
C: Retorna o nmero de clulas, na faixa de A1 at A100, nas quais existe um valor maior do que 200. Observe que mesmo quando o
critrio do tipo numrico, devemos coloca-lo entre aspas - ">200". Todos os operadores de comparao que foram vistos no Curso
Bsico de Excel em 120 Lies ( www.juliobattisti.com.br ), podem ser utilizados com a funo CONT.SE.
( +uno ?-5(?$:
A funo SOMASE faz uma soma condicional. Por exemplo, podemos usar a funo SOMASE para obter a soma de todos os pedidos para
um determinado funcionrio. Temos que fornecer trs parmetros para a funo SOMASE, conforme descrito a seguir:
Sintaxe:
SOMASE(intervalo de pesquisa ;critrios;intervalo de soma)
nter*alo de &rit9rio: o intervalo de clulas onde ser feita a pesquisa de acordo com o critrio especificado. Por exemplo, vamos
supor que o nome dos funcionrios est na faixa A1:A100. Este seria o intervalo de critrio, no qual a funo SOMASE ir procurar pelo
funcionrio definido no parmetro critrios.
Crit9rios: 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", ">32", "mas". importante salientar que, nos critrios da funo SOMASE, no
possvel usar a funo E e a funo OU. Para maiores detalhes sobre as funes E e OU, consulte o Curso Bsico de Excel em 120 Lies,
no site: www.juliobattisti.com.br . No nosso exemplo, se quisssemos apenas os pedidos para o funcionrio Carlos Mota da Costa,
especificaremos o seguinte critrios: "Carlos Mota da Costa".
nter*alo de so!a: so as clulas que sero realmente somadas. As clulas em intervalo de soma so somadas somente se suas
clulas correspondentes em intervalo de pesquisa coincidirem com os critrios estipulados. Se intervalo de soma for omitido, as clulas
em intervalo de pesquisa sero somadas, ou seja, a coluna de pesquisa a mesma onde os valores sero somados. No nosso exemplo,
vamos supor que o valor das vendas esteja na faixa de B1:B100. Neste caso a funo SOMASE, para calcular o total de vendas para o
funcionrio Jos da Silva, ficaria assim:
=SOMASE(A1:A100;"Jos da Silva";B1:B100)
A funo inicia na linha 1. Procura na clula A1 o nome Jos da Silva, caso encontre, o valor da clula B1 ser somado na soma parcial,
caso contrrio a funo segue para a segunda linha e assim por diante. No final, o resultado ser a soma de todos os pedidos para o
funcionrio Jos da Silva, que exatamente o que queremos.
:a!os a !ais u! e%e!"lo &ontido no 7el" do $%&el:
Suponha que A1:A4 contm os seguintes valores de propriedade para quatro casas: R$ 100.000, R$ 200.000, R$ 300.000, R$ 400.000,
respectivamente. B1:B4 conter as seguintes comisses de vendas em cada um dos valores de propriedade correspondentes: R$ 7.000,
R$ 14.000, R$ 21.000, R$ 28.000.
SOMASE(A1:A4;">160000";B1:B4) igual a R$ 63.000
( +uno 0#5E#(:
A funo BDMDIA utilizada para calcular a mdia dos valores em uma coluna de uma lista ou banco de dados que coincidirem com as
condies especificadas por voc. Ou seja, usamos a funo BDMDIA para calcular a mdia dos valores de uma coluna, valores estes
que coincidem com um critrio especificado.
Sintaxe:
BDMDIA(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna. o conceito de Lista que vimos na Lio 1 do Mdulo 1.
Ca!"o: indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como "Pas"
ou "Cidade", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a segunda coluna
e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna. Para maiores detalhes sobre a criao de Faixas de Critrios consulte a Lio 14 do Mdulo 1 -> Definindo e
usando faixas de critrios - Introduo.
Considere o exemplo da Figura 2.8 e a frmula a seguir:
Figura 2.) - Planilha de exemplo para a (un-.o *C2D*',E F;
BDMDIA(A5:E11;"Rendimento";A1:B2) igual a 12, o rendimento mdio das macieiras acima de 10 ps de altura. Observe que A1:B2
a faixa onde esto os critrios: (rvore=Ma) E (Altura>10). Neste caso estamos calculando uma mdia somente para as linhas que
atendem aos critrios especificados na faixa de critrios.
(lgu!as obser*a6es sobre o uso de +un6es de 0an&o de #ados:
O Microsoft Excel inclui 12 funes de planilha que analisam os dados armazenados em listas ou bancos de dados. Cada uma dessas
funes, citadas genericamente como BDfunes, usa trs argumentos: banco de dados, campo e critrios. Esses argumentos se referem
aos intervalos de planilha usados pela funo.
?inta%e: BDfuno(banco_dados;campo;critrios)
0an&oHdados : o intervalo de clulas que constitui a lista ou o banco de dados. No Microsoft Excel, um banco de dados uma lista de
dados relacionados em que as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha
da lista contm os rtulos de cada coluna. A referncia pode ser inserida como um intervalo de clulas ou como um nome representando
o intervalo que contm a lista. Para detalhes sobre o conceito de listas consulte as lies do Mdulo 1. Para detalhes sobre a nomeao
de intervalos consulte o Curso de Excel Bsico em 120 lies.
Ca!"o : Indica a coluna que ser usada na funo. As colunas de dados na lista devem ter um rtulo de identificao na primeira linha.
O campo pode ser dado como texto com o rtulo de coluna entre aspas, como "Idade" ou "Rendimento" no exemplo de lista apresentado
abaixo, ou como um nmero que represente a posio da coluna na lista: 1 para a primeira coluna (rvore, no exemplo da Figura 2.8), 2
para a segunda (Altura) e assim por diante.
Crit9rios : uma referncia a um intervalo de clulas que especifica as condies para a funo. A funo retorna informaes da lista
que atendem s condies especificadas no intervalo de critrios. O intervalo de critrios inclui uma cpia do rtulo da coluna na lista
para a coluna que voc deseja que a funo resuma. A referncia de critrios pode ser inserida como um intervalo de clulas, como
A1:F2 no exemplo de banco de dados da Figura 2.8, ou como um nome que represente o intervalo, como "Critrios." Para obter outros
exemplos de condies que voc possa especificar como critrios, clique em.
#i&as:
Voc pode usar qualquer intervalo para o argumento de critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma
clula abaixo do rtulo de coluna para especificar a condio.
Por exemplo, se o intervalo G1:G2 contiver o rtulo de coluna Receita em G1 e a quantia 10.000 em G2, voc poder definir o intervalo
como CoincidirReceita e usar este nome como o argumento de critrios nas funes de banco de dados.
Embora o intervalo de critrios possa ser colocado em qualquer local na planilha, no o posicione abaixo da lista. Se voc adicionar outras
informaes lista, usando o comando Formulrio do menu Dados, as novas informaes sero adicionadas na primeira linha abaixo da
lista. Se a linha abaixo da lista no estiver em branco, o Microsoft Excel no poder adicionar as novas informaes.
Certifique-se de que o intervalo de critrios no se sobreponha lista.
Para efetuar uma operao em uma coluna inteira em um banco de dados, insira uma linha em branco abaixo dos rtulos de coluna no
intervalo de critrios.
Nesta lio estudaremos as seguintes funes:
BDCONTAR( )
BDCONTARA( )
BDEXTRAIR( )
Nota: Para os exemplos desta lio vamos considerar os dados da Figura 2.9:
Figura 2.( - &lanilha de e)emplo para esta lio.
( +uno 0#C-NG(C:
A funo BDCONTAR utilizada para contar as clulas contendo nmeros em uma coluna de uma lista ou banco de dados que coincidirem
com as condies especificadas por voc. Ou seja, permite uma contagem condicional, contando apenas as clulas que atendem ao
critrio especificado.
O argumento de campo opcional. Se o campo for omitido, BDCONTAR contar todos os registros no banco de dados que coincidirem
com os critrios.
Sintaxe:
BDCONTAR(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.9):
0#C-NG(C1(5:$11IJdadeJI(1:=23 igual a 1. Esta funo analisa os registros de macieiras (rvore=ma) com altura entre 10 e
16 e conta quantos campos Idade nestes registros contm nmeros. A funo retorna 1 porque existe somente um registro que atende
os critrios especificados.
( +uno 0#C-NG(C(:
Esta funo utilizada para contar todas as clulas no vazias em uma coluna de uma lista ou banco de dados que coincidirem com as
condies especificadas por voc.
Sintaxe:
BDCONTARA(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o : Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante. Se voc omitir o campo, BDCONTARA retornar uma contagem de todos os registros que atendam
aos critrios. Se voc incluir o campo, BDCONTARA retornar apenas os registros que contiverem o valor contido no campo e atendam
aos critrios.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.9):
0#C-NG(C(1(5:$11IJLu&roJI(1:=23 igual a 1. Esta funo analisa os registros de macieiras com altura entre 10 e 16 e conta
quantos campos Lucro nesses registros no esto em branco.
( +uno 0#$KGC(C:
Esta funo utilizada para extrair um nico valor em uma coluna de uma lista ou banco de dados que coincidir com as condies
especificadas por voc.
Sintaxe:
BDEXTRAIR (banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: ndica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Observaes:
Se nenhum registro coincidir com os critrios, BDEXTRAIR retornar o valor de erro #VALOR!.
Se mais de um registro coincidir com os critrios, BDEXTRAIR retornar o valor de erro #NM!.
Considere o exemplo (baseado nos dados da Figura 2.9):
0#$KGC(C1(5:$11IJCendi!entoJI(1:=23 retornar o valor de erro #NM! porque mais de um registro coincide com os critrios.
Lio 0#: )un9es para an/lise dos dados de uma lista - arte !
Nesta lio estudaremos as seguintes funes:
BDMX( )
BDMN( )
BDMULTIPL( )
BDEST( )
Nota: Para os exemplos desta lio vamos considerar os dados da Figura 2.10:
Figura 2.1! - Planilha de exemplo para esta li-.o.
( +uno 0#5LK:
Esta funo utilizada para retornar o maior nmero em uma coluna de uma lista ou banco de dados que coincidir com as condies
especificadas por voc.
Sintaxe:
BDMX(banco_dados;campo;critrios)
Banco_dados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados na
qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.10):
0#5LK1(5:$11IJLu&roJI(1:(33 igual a R$ 105,00, o lucro mximo de macieiras e pereiras.
( +uno 0#5MN:
Esta funo utilizada para retornar o menor nmero em uma coluna de uma lista ou banco de dados que coincidir com as condies
especificadas por voc.
Sintaxe:
BDMN(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.10):
BDMN(A5:E11;"Lucro";A1:B2) igual a R$ 75,00, o lucro mnimo de macieiras acima de 10.
( +uno 0#5BLG4L:
Esta funo utilizada para multiplicar os valores em uma coluna de uma lista ou banco de dados que coincidirem com as condies
especificadas por voc.
Sintaxe:
BDMULTIPL(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.10):
BDMULTIPL(A5:E11;"Rendimento";A1:F2) igual a 140, o produto dos rendimentos das macieiras com altura entre 10 e 16.
( +uno 0#$?G:
Esta funo utilizada para estimar o desvio padro de uma populao com base em uma amostra, usando os nmeros em uma coluna
de uma lista ou banco de dados que coincidirem com as condies especificadas por voc.
Sintaxe:
BDEST(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.10):
BDEST(A5:E11;"Rendimento";A1:A3) igual a 2,97, o desvio padro estimado no rendimento das macieiras e pereiras se os dados do
banco de dados forem apenas uma amostra da populao total do pomar.
Nesta lio estudaremos as seguintes funes:
BDDESVPA( )
BDSOMA( )
BDVAREST( )
BDVARP( )
Nota: Para os exemplos desta lio vamos considerar os dados da Figura 2.11:
Figura 2.11 - &lanilha de e)emplo para esta lio.
( +uno 0##$?:4(:
Esta funo utilizada para calcular o desvio padro de uma populao com base na populao inteira, usando os nmeros em uma
coluna de uma lista ou banco de dados que coincidirem com as condies especificadas por voc.
Sintaxe:
BDDESVPA(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.11):
BDDESVPA(A5:E11;"Rendimento";A1:A3) igual a 2,65, o desvio padro verdadeiro no rendimento das macieiras e pereiras se os dados
do banco de dados representarem toda a populao do pomar.
( +uno 0#?-5(:
Esta funo utilizada para somar os nmeros em uma coluna de uma lista ou banco de dados que coincidirem com as condies
especificadas por voc.
Sintaxe: BDSOMA(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.11):
BDSOMA(A5:E11;"Lucro";A1:F2) igual a R$ 75,00, o lucro total de macieiras com uma altura entre 10 e 16.
( +uno 0#:(C$?G:
Esta funo utilizada para estimar a varincia de uma populao com base em uma amostra, usando os nmeros em uma coluna de
uma lista ou banco de dados que coincidirem com as condies especificadas por voc.
Sintaxe:
BDVAREST(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.11):
BDVAREST(A5:E11;"Rendimento";A1:A3) igual a 8,8, a varincia estimada no rendimento das macieiras e pereiras se os dados no
banco de dados forem apenas uma amostra da populao total do pomar.
( +uno 0#:(C4:
Esta funo utilizada para calcular a varincia de uma populao com base na populao inteira, usando os nmeros em uma coluna de
uma lista ou banco de dados que coincidirem com as condies especificadas por voc.
Sintaxe:
BDVARP(banco_dados;campo;critrios)
0an&oHdados: o intervalo de clulas que constitui a lista ou o banco de dados. Um banco de dados uma lista de dados relacionados
na qual as linhas de informaes relacionadas so os registros e as colunas de dados so os campos. A primeira linha da lista contm os
rtulos de cada coluna.
Ca!"o: Indica a coluna que ser usada na funo. O campo pode ser dado como texto com o rtulo da coluna entre aspas, como
"Idade" ou "Rendimento", ou como um nmero que represente a posio da coluna dentro da lista: 1 para a primeira coluna, 2 para a
segunda coluna e assim por diante.
Crit9rios: o intervalo de clulas que contm as condies especificadas. Voc pode usar qualquer intervalo para o argumento de
critrios, desde que ele inclua pelo menos um rtulo de coluna e ao menos uma clula abaixo do rtulo de coluna para especificar uma
condio para a coluna.
Considere o exemplo (baseado nos dados da Figura 2.11):
BDVARP(A5:E11;"Rendimento";A1:A3) igual a 7,04, a varincia verdadeira no rendimento das macieiras e pereiras se os dados no
banco de dados representarem toda a populao do pomar.
Lio 0%: De0inindo crit4rios para -alidao de dados
Com a Validao de Dados podemos limitar os valores que so aceitos em uma clula ou faixa de clulas. Por exemplo, podemos limitar
os valores de uma coluna para que no sejam aceitos valores maiores do que 10000. Outro exemplo: Podemos limitar as entradas de
uma coluna Cidade de tal maneira que somente sejam aceitos valores de uma determinada lista de cidades.
Alm dos valores aceitos podemos definir o tipo de dados aceitos. Por exemplo, podemos definir que os valores em uma faixa de clulas
devem ser, obrigatoriamente numricos. Neste caso, se o usurio digitar um texto, o Excel no aceita a entrada e emite uma mensagem
de erro.
Ao definirmos uma lista de valores que sero aceitos, como no exemplo da lista de cidades do primeiro pargrafo, o Excel cria uma Caixa
de combinao, na qual podemos selecionar um valor da lista, sem que seja necessria a digitao do valor desejado. Esta funcionalidade
facilita bastante a digitao, alm de evitar que sejam aceitos valores que no esto na lista.
Nesta lio aprenderemos a definir critrios para a validao dos dados de entrada. Faremos isso utilizando um exemplo prtico, passo-a-
passo.
$%er&/&io 16 Abrir o arquivo C:\ExcelAvanado\Exemplo 16.xls e defina critrios de validao de dados, conforme definido durante o
exerccio:
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 16.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com trs colunas: Cidade, Total de Arrecadao e Data de Arrecadao. Vamos configurar alguns critrios
para a entrada de dados nestas colunas, conforme descrito a seguir:
Cidade: Somente pode conter os seguintes valores: Santa Maria, So Paulo, Rio de Janeiro, Braslia e Porto Alegre.
Gotal de (rre&adao: No pode ser superior a R$ 1.000.000,00
#ata de (rre&adao: Tem que estar dentro do ano de 2002, ou seja, entre 01/01/2002 e 31/12/2002.
7. Agora vamos aprender a definir e a testar estes critrios de validao de entradas.
8. Na coluna Cidade queremos definir uma lista de valores permitidos. O primeiro passo digitar os valores da lista em um intervalo de
clulas da planilha.
9. Digite os valores permitidos para a coluna Cidade, na faixa E3:E8, conforme indicado na Figura 2.12:
Figura 2.12 - *igitando os %alores $ue ser.o aceitos na coluna idade.
10. Os valores digitados no item 9 sero os valores aceitos pela coluna Cidade, conforme iremos configurar no prximo item.
11. Para configurar critrios de validao, o primeiro passo selecionar as clulas onde os critrios sero aplicados.
12. Selecione o intervalo de A4:A50. Para maiores detalhes sobre a seleo de Clulas consulte o Curso de Excel Bsico em 120 lies, no
seguinte endereo: http://www.juliobattisti.com.br/excel120/excel120.asp . Com isso os critrios que definiremos para o campo Cidade,
sero vlidos para as clulas de A4 at A50. Se voc precisar definir para um intervalo maior, basta selecionar o intervalo desejado,
antes de ir para o prximo passo.
13. Selecione o comando Dados -> Validao.
14. Ser exibida a janela Validao de dados. Na lista Permitir selecione a opo Lista. Aps selecionar Lista, o campo Origem ser
habilitado. No campo Origem voc informa a faixa de clulas onde esto os valores que sero aceitos pela coluna Cidade. No nosso
exemplo a faixa de E4:E8. Observe que a clula E3 contm apenas o ttulo da faixa e no um valor de cidade vlido. Informe a faixa
=$E$4:$E$8, conforme indicado na Figura 2.13. Deve ser colocado o sinal de = antes da faixa e os endereos devem ser absolutos. Para
maiores detalhes sobre Endereos Absolutos consulte o Curso de Excel Bsico em 120 lies, no seguinte endereo:
http://www.juliobattisti.com.br/excel120/excel120.asp .
Figura 2.13 - , 0anela Galida-.o de dados.
15. Clique em OK.
16 Observe que as clulas da coluna Cidade j so transformadas em uma Caixa de combinao. Ao abrir esta Caixa de combinao so
exibidos apenas os valores da faixa =$E4:$E8, conforme indicado na Figura 2.14.
Figura 2.14 - Galores da coluna idade limitados aos %alores da lista.
17. Tente digitar um valor que no est na lista, por exemplo Campinas. Ao tentar sair da Clula, o Excel emite a mensagem de erro
indicada na Figura 2.15, informando que o valor digitado no vlido. Ou seja, o Excel somente aceita os valores constantes na lista.
Figura 2.15 - 2ensagem de erro $ue surge $uando %oc@ digita uma %alor $ue n.o est= na lista.
18. Clique em Cancelar para fechar a mensagem de erro.
19. Agora vamos definir o critrio para que a coluna Total de Arrecadao no aceita valores maiores do que 1.000.000. Na Clula F4
digite o valor 1000000. Usaremos este valor para definir o critrio para a coluna Total de Arrecadao.
20. Selecione o intervalo de B4:B50. Para maiores detalhes sobre a seleo de Clulas consulte o Curso de Excel Bsico em 120 lies, no
seguinte endereo: http://www.juliobattisti.com.br/excel120/excel120.asp . Com isso os critrios que definiremos para o campo Total de
Arrecadao, sero vlidos para as clulas de B4 at B50. Se voc precisar definir para um intervalo maior, basta selecionar o intervalo
desejado, antes de ir para o prximo passo.
21. Selecione o comando Dados -> Validao.
22. Ser exibida a janela Validao de dados. Na lista Permitir selecione Personalizado. No campo Frmula digite: =B4<$F$4, conforme
indicado na Figura 2.16. Observe que para a clula F4 usamos um endereo absoluto. Isso porque B4 deve ser comparado com F4, B5
com F4 e assim por diante, ou seja, todas as clulas do intervalo (B4:B50) devero ser comparadas com F4. Se no usssemos endereo
absoluto, o Excel comearia a adaptar a comparao, ou seja, B4 com F4, B5 com F5 e assim por diante.
Figura 2.1" - ?estri-.o para a coluna Total de ,rrecada-.o.
23. Clique em OK.
24. V para a clula B4 e digite 500000. Observe que o Excel aceita sem problemas, pois est dentro da faixa permitida, ou seja, abaixo
de 1000000. V para a clula B5 e digite 2000000. Observe que o Excel no aceita, emitindo uma mensagem de erro. Com isso podemos
conferir que o nosso critrio de validao est funcionando.
25. Agora vamos definir o critrio para que a coluna Data de Arrecadao somente aceita valores para o ano de 2002. Na Clula G4 digite
01/01/2002. Na Clula G5 digite 31/12/2002.
26. Selecione o intervalo de C4:C50. Para maiores detalhes sobre a seleo de Clulas consulte o Curso de Excel Bsico em 120 lies, no
seguinte endereo: http://www.juliobattisti.com.br/excel120/excel120.asp . Com isso os critrios que definiremos para a coluna Data de
Arrecadao, sero vlidos para as clulas de C4 at C50. Se voc precisar definir para um intervalo maior, basta selecionar o intervalo
desejado, antes de ir para o prximo passo.
27. Selecione o comando Dados -> Validao.
28. Ser exibida a janela Validao de dados. Na lista Permitir selecione Data. Na lista dados selecione entre. A opo entre utilizada
quando queremos definir valores em uma faixa, no caso da data entre 01 de Janeiro e 31 de Dezembro. No campo Data inicial digite:
=<$G$4, no campo Data final digite: =$G$5, conforme indicado na Figura 2.17.
Figura 2.1& - ?estri-.o para a coluna *ata de ,rrecada-.o.
29. Clique em OK.
30. V para a clula C4 e digite 05/02/2002. Observe que o Excel aceita sem problemas, pois est dentro da faixa permitida. V para a
clula C5 e digite 20/02/2003. Observe que o Excel no aceita, emitindo uma mensagem de erro. Com isso podemos conferir que o nosso
critrio de validao est funcionando.
Lio 0(: &onsultas 8aseadas em dados da Internet - &onceitos
Com o Excel podemos obter dados diretamente da Internet. Por exemplo, voc pode configurar uma planilha para que obtenha dados
com cotaes de aes, diretamente a partir de um site da Internet. Voc tambm pode configurar uma periodicidade para atualizao
dos dados, como por exemplo de 5 em 5 minutos. Com isso, os dados da planilha sero periodicamente atualizados.
Os dados obtidos a partir da Internet so considerados um Intervalo de dados externos, ou seja, so exibidos na planilha, mas a fonte de
dados externa ao Excel. O uso tpico para este tipo de funcionalidade quando voc deseja acompanhar, automaticamente, a variao
em ndices como cotao de aes, variao das bolsas ou outro ndice de interesse.
:iso geral:
Para analisar os dados de uma pgina da Web, voc pode usar uma consulta Web para recuperar uma tabela, vrias tabelas ou todo o
texto de uma pgina da Web. Aps recuperar os dados, voc poder analis-los usando as ferramentas e recursos do Microsoft Excel.
Embora os dados sejam externos, voc pode trabalhar com eles como se tivessem sido digitados diretamente na planilha. Use uma
consulta Web se voc desejar obter dados da Web para utilizar no Excel - para recuperar e analisar cotaes da bolsa de valores, por
exemplo.
Na Figura 2.18 temos um exemplo de uma planilha onde temos texto digitado diretamente pelo usurio em combinao com uma tabela
de dados, dados estes recuperados a partir de uma pgina da Internet.
Figura 2.1) - *ados recuperados a partir de uma p=gina da 'nternet.
Uma consulta Web pode recuperar dados de uma pgina da Web e coloc-los no Excel para anlise. Alguns requisitos so necessrios
para que voc possa acessar dados a partir de uma pgina da Internet:
nstale u! na*egador , 0roNser: Para que possa recuperar dados de uma pgina da Web, ser necessrio que voc tenha um
navegador da Web instalado - por exemplo, o Microsoft Internet Explorer, includo com o Microsoft Office. Para obter dados de um site na
World Wide Web, voc precisa ter acesso Internet atravs da intranet da Empresa ou atravs de um modem e uma conta junto a um
provedor de acesso Internet.
$%e&ute ou &rie u!a &onsulta O Peb: Se voc tiver um arquivo de consulta Web .iqy referente aos dados desejados, poder
executar a consulta Web para recuperar os dados. Voc poder usar os exemplos de consulta Web fornecidos com o Excel ou poder
criar uma nova consulta Web. Nesta lio veremos como abrir uma das consultas j existentes com o Excel e na prxima lio, veremos
como criar uma nova consulta.
(brindo u!a &onsulta de e%e!"lo DA e%istente:
1. Abra o Microsoft Excel.
2. As consultas de exemplo, que so instaladas junto com o Excel, so fornecidas no formato de arquivos .iqy. Para abrir uma destas
consultas, basta abrir, no Excel, um destes arquivos. Por padro, estes arquivos so gravados na pasta C:\Arquivos de
Programas\Microsoft Office\Office\Queries. Supondo que o Office tenha sido instalado na pasta padro. Caso contrrio localize a pasta
onde foi instalado o Office e procure pela subpasta Queries.
3. Selecione o comando Arquivo -> Abrir.
4. Navegue at a pasta Queries, descrita no item 2.
6. Na lista Arquivos do tipo Selecione Arquivos do Query. Marque o arquivo Mndi&es "rin&i"ais "ara in*estidores da 5i&roso+t'i)Q ,
conforme indicado na Figura 2.19.
Figura 2.1+ - onsultas prontas dispon4%eis na pasta Hueries.
7. Clique no boto Abrir. O Excel demora alguns instantes acessando os dados a partir da Internet.
8. Na Figura 2.20 exibida a pgina com dados obtidos a partir da Internet.
Figura 2.2! - Planilha com dados o/tidos a partir da 'nternet.
9. Podemos configurar o Excel para que atualize os dados da Planilha em intervalos determinados. Por exemplo, podemos configurar o
Excel para que os dados sejam atualizados de 10 em 10 minutos. A cada intervalo de atualizao o Excel conecta com a pgina da
Internet e baixa as ltimas atualizaes.
10. Na prxima lio aprenderemos a criar nossas prprias consultas, bem como a configurar o intervalo de atualizao, dentre outras
propriedades das consultas a pginas da Web.
Lio 0*: &onsultas 8aseadas em dados da Internet - 23emplos
Nesta lio aprenderemos a criar uma nova consulta, a qual busca dados diretamente de um site da Internet e exibe estes dados em uma
planilha do Excel. Tambm aprenderemos a configurar o intervalo de atualizao bem como outras propriedades da consulta.
Vamos acompanhar um exemplo passo-a-passo da criao de consultas baseadas em dados da Internet. Acessaremos dados do seguinte
site:
http://www.portalbrasil.eti.br/poupanca_2002.htm
Este site traz uma srie de indicadores, tais como o ndice de Poupana, Dlar, INPC, IPC, etc. Faremos uma consulta baseada no
endereo acima. Esta consulta retornar os ndices de Poupana para 2002. Em seguida iremos configurar o intervalo de atualizao
destes dados.
$%er&/&io 17 Abrir o Excel, criar uma nova consulta baseada no endereo: http://www.portalbrasil.eti.br/poupanca_2002.htm .
Configurar o perodo de atualizao e outras propriedades desta consulta. Salvar a planilha na pasta C:\ExcelAvanado com o nome de
ndi&e4ou"ana2002'%ls .
1. Abra o Excel.
2. Para criar uma nova consulta selecione o comando #ados ,. -bter dados e%ternos ,. No*a &onsulta O Peb'''
3. Ser aberta a janela Nova consulta Web.
4. No campo no incio da tabela, digite o seguinte endereo: http://www.portalbrasil.eti.br/poupanca_2002.htm .
5. Em seguida voc deve selecionar uma das seguintes opes:
4Agina inteira: Recupera uma pgina inteira da Web, incluindo texto, tabelas e outros dados.
?o!ente as tabelas: Recupera todas as tabelas e sees pr-formatadas de uma pgina da Web. Use esta opo quando os dados
desejados estiverem formatados com marcas <PRE>, exibidos em uma tabela ou contenham dados que voc no deseja retornar ao
Microsoft Excel, como figuras ou animaes.
B!a ou !ais tabelas es"e&i+i&adas na "Agina: Recupera apenas as tabelas ou sees pr-formatadas que voc especifica digitando
nomes ou nmeros de tabela ou seo.
6. Para o nosso exemplo selecione Somente as tabelas.
7. Na parte de baixo da janela selecionamos o tipo de formatao desejado. Esto disponveis as seguintes opes:
Nenhu!a: Descarta a formatao da pgina da Web, incluindo fontes e cores, e importa os dados para o Microsoft Excel como texto sem
formatao.
?o!ente +or!atao e! ri&h te%t: Mantm a formatao da pgina da Web, mas sem recursos de formatao avanados como links e
clulas mescladas. Essa formatao o tipo que o Microsoft Excel pode reproduzir com mais semelhana.
=or!atao 7G5L &o!"leta: Recupera toda a formatao HTML da pgina da Web, incluindo recursos de formatao avanados, como
links e clulas mescladas.
8. Selecione Somente formatao em rich text. Sua janela deve estar conforme indicado na Figura 2.21:
Figura 2.21 - on(igura-Ies da consulte J Ke/.
( o"o ?al*ar &onsulta''': Salva uma consulta da Web em um arquivo .iqy para que voc possa recuperar os mesmos dados em
outras pastas de trabalho ou compartilhar a consulta com outros usurios. Se voc no salvar um arquivo de consulta da Web, a consulta
ser salva como parte de sua pasta de trabalho do Microsoft Excel e voc poder execut-la apenas nessa pasta de trabalho.
9. Clique no boto Salvar consulta... e salve-a na pasta C:\ExcelAvanado com o nome de poupanca_2002.iqy, conforme indicado na
Figura 2.22:
Figura 2.22 - #al%ando a consulta como um ar$ui%o .i$L.
10. Para executar a consulta clique no boto OK. O Excel abre a janela solicitando que voc informe a faixa da planilha onde os dados da
consulta devem ser exibidos. Por padro o Excel sugere a partir da clula A1. Clique em OK. O Excel faz a consulta e dentro de alguns
instantes os dados sero exibidos na planilha, conforme indicado na Figura 2.23:
Figura 2.23 - *ados o/tidos a partir da 'nternet.
11. Existe uma barra de ferramentas especfica para controlar consultas baseadas em dados externos, quer seja consultas da Web
(assunto desta lio), quer seja consultas utilizando o Microsoft Query (assunto das prximas lies). Esta barra chamada: #ados
$%ternos . Para exibir a barra de ferramentas Dados Externos selecione o comando: $%ibir ,. 0arras de +erra!entas ,. #ados
e%ternos . Ser exibida a barra indicada na Figura 2.24:
=igura 2'24 , ( 0arra de +erra!entas #ados e%ternos'
- "ri!eiro boto 1 , $ditar &onsulta ): Abre a janela onde voc pode especificar o endereo da consulta, conforme indicado na
Figura 2.21.
- segundo boto 1 , 4ro"riedades do inter*alo de dados ): Este boto abre a janela Propriedades do intervalo de dados
externos, conforme indicado na Figura 2.25. Nesta janela podemos habilitar/desabilitar a sincronizao automtica, configurar um
perodo de sincronizao, se queremos ou no atualizar os dados toda vez que o arquivo for aberto, bem como outras configuraes de
formatao.
Figura 2.25 - on(igurando propriedades da consulta.
- ter&eiro boto 1 ) , 4arR!etros de &onsulta ): Somente estar habilitado quando for possvel especificar critrios de filtragem.
Utilizaremos este boto nas prximas lies, quando utilizarmos o Microsoft Query para fazer consultas em dados de fontes externas.
- )uarto boto 1 , (tuali<ar dados ): Atualiza a consulta, imediatamente. Consulta novamente o endereo da internet especificado
para a consulta e retorna os dados atualizados.
- )uinto boto 1 , Can&elar atuali<ao ): Cancela uma atualizao em andamento. Caso a atualizao esteja demorando mais do
que o esperado, voc pode cancelar a atualizao, clicando neste boto.
- se%to boto 1 , (tuali<ar tudo ): Atualiza todos os dados da consulta, texto, ttulos, tabelas, etc.
- s9ti!o boto 1 , (tuali<ar ?tatus ): Atualiza o Status da consulta, ou seja, se ela j foi concluda, se est atualizada ou no e
assim por diante.
12. Clique no boto Atualizar tudo e observe que o Excel comea a atualizao da planilha. Neste momento o Excel est conectando com
a Pgina da Internet e buscando o seu contedo para exibir na planilha. Caso exista algum problema de conexo com a Internet, ser
exibida uma mensagem de erro, conforme indicado na Figura 2.26:
Figura 2.2" - Erro; Pro/lemas com a conex.o com a 'nternet.
13. Salve a planilha com o nome de IndicePoupana2002.xls, na pasta C:\ExcelAvanado.
14. Feche o Excel.
Lio 10: Uma 0erramenta de pes:uisa - Microso0t ;uer<
O Microsoft Query uma ferramenta que facilita a conexo do Excel com fontes externas de dados. Por exemplo, voc pode utilizar o
Microsoft Query para fazer uma pesquisa em tabelas de um banco de dados do Microsoft Access, especificar critrios de filtragem e
ordenao e retornar o resultado da consulta para uma planilha do Excel. Voc poder fazer clculos, anlises, totalizaes e grficos
com os dados retornados pelo Microsoft Query. Nesta lio veremos os conceitos tericos relacionados com o Microsoft Query.
Nota: O Microsoft Query pode ou no ter sido instalado quando o Office foi instalado. Caso ele no tenha sido instalado, voc pode
utilizar os seguintes passos para instalar o Microsoft Query a partir do CD-ROM de instalao do Microsoft Office:
Co!o nstalar o 5i&roso+t SuerQ:
Como padro, o Microsoft Query instalado automaticamente na primeira vez que voc usa um comando ou recurso que recupera dados
externos. Use este procedimento se o Microsoft Query tornou-se no disponvel quando voc instalou o Microsoft Office ou o Microsoft
Excel em seu sistema. Caso o Microsoft Query no esteja instalado e disponvel, utilize os seguintes passos para instala-lo:
1. Feche todos os programas abertos.
2. No menu Iniciar, aponte para Configuraes e clique em Painel de controle.
3. Clique duas vezes em Adicionar/remover programas.
4. Clique na guia Instalar/desinstalar, clique em Microsoft Office 2000 ou Microsoft Excel 2000 e, em seguida, clique em
Adicionar/remover.
5. Na caixa de dilogo que for exibida, clique em Adicionar ou remover recursos.
6. Clique na caixa prxima a Ferramentas do Office e, em seguida, clique no cone prximo a Microsoft Query para selecionar o tipo de
instalao desejado.
7. Clique em Atualizar agora e siga as instrues para concluir a instalao.
-bser*ao: Ajuda do Query A Ajuda do Microsoft Query instalada automaticamente quando voc instala o Microsoft Query.
O Microsoft Query um programa que traz dados de fontes externas para outros programas do Microsoft Office - principalmente para o
Microsoft Excel. Se voc usar o Query para recuperar dados de arquivos e bancos de dados corporativos, no ser preciso digitar
novamente os dados a serem analisados no Excel. Tambm possvel atualizar os relatrios e resumos do Excel automaticamente a
partir do banco de dados da fonte original sempre que o banco de dados for atualizado com novas informaes.
Observe as vantagens em se utilizar o Microsoft Query. O que acontece, normalmente, nas empresas que os relatrios so impressos a
partir dos sistemas da empresa. A pessoa responsvel por analisar os dados do relatrio impresso, digita-os novamente no Excel, para
poder usar as ferramentas de anlise que veremos no Mdulo 3. Porm estes passos so desnecessrios, uma vez que com o Microsoft
Query possvel retornar os dados do banco de dados da empresa, diretamente para uma planilha do Excel.
#etalhes sobre o 5i&roso+t SuerQ:
Gi"os de ban&os de dados )ue "ode! ser a&essados: Voc pode recuperar dados de vrios tipos de bancos de dados, inclusive do
Microsoft Access, Microsoft SQL Server e do Microsoft SQL Server OLAP Services. Tambm possvel recuperar dados de listas do Excel e
de arquivos de texto. Veja, a seguir, uma lista de tipos de bancos de dados que podem ser acessados com o Microsoft Query:
O Microsoft Office fornece drivers que podem ser usados para recuperar dados das seguintes fontes de dados:
Microsoft SQL Server OLAP Services (provedor OLAP)
Microsoft Access 2000
dBASE
Microsoft FoxPro
Microsoft Excel
Oracle
Paradox
SQL Server
Bancos de dados de arquivos de texto
-bser*ao: Voc pode usar drivers de ODBC ou drivers de fontes de dados de outros fabricantes para obter informaes sobre outros
tipos de bancos de dados que no esto listados aqui, inclusive outros tipos de bancos de dados OLAP. Para obter informaes sobre
outros drivers que podem estar disponveis na Microsoft, consulte o arquivo xlleia8.txt, o qual instalado na pasta onde o Office foi
instalado, normalmente em C:\Arquivos de Programas\Microsoft Office. Para obter informaes sobre como instalar um driver de ODBC
ou um driver de fonte de dados que no esteja listado aqui nem no arquivo xlleia8.txt, consulte a documentao do banco de dados ou
contate o fornecedor do banco de dados.
No Excel, voc tambm pode recuperar dados de pginas da Web, mas no precisa do Query para fazer isso. Para obter informaes
sobre como recuperar dados de pginas da Web, consulte a Lio 8 e a Lio 9 .
Co!o sele&ionar dados de u! ban&o de dados@ Para recuperar dados de um banco de dados, crie uma consulta, que uma
pergunta que voc faz sobre dados armazenados em um banco de dados externo. Por exemplo, se os dados estiverem armazenados em
um banco de dados do Access, talvez voc deseje saber o valor das vendas de um determinado produto por regio. possvel recuperar
uma parte dos dados selecionando somente os dados do produto e da regio a serem analisados e omitindo os dados desnecessrios.
Aprenderemos a criar consultas nas prximas lies deste Mdulo.
Na Figura 2.27 temos um exemplo de uma consulta criada com o Microsoft Query com base em dados de um banco de dados do
Microsoft Access - arquivo .mdb.
Figura 2.2& - onsulta /aseada em dados de um ar$ui%o do 2icroso(t ,ccess.
Com o Query, voc pode selecionar as colunas de dados desejadas e trazer somente esses dados para o Excel. Observe tambm que
foram feitas consolidaes dos dados, com o total de vendas por regio.
(tuali<ar a "lanilha e! u!a o"erao: Depois que voc tiver dados externos em uma pasta do Excel, sempre que o banco de dados
for alterado, voc poder atualizar os dados para atualizar a anlise - sem que seja preciso recriar os relatrios de resumo e grficos. Por
exemplo, possvel criar um resumo de vendas mensal e atualiz-lo todos os meses quando novas estimativas de vendas surgirem.
Tambm possvel configurar um intervalo para que as atualizaes ocorram automaticamente, conforme explicado na Lio 9.
Bsar o SuerQ "ara re&u"erar dados: So necessrias trs etapas para trazer dados externos para o Excel com o Query:
Configurar uma fonte de dados a ser conectada ao banco de dados.
Usar o Assistente de consulta para selecionar os dados desejados.
Retornar os dados ao Excel, onde voc pode format-los, resumi-los e criar relatrios a partir deles.
13 Con+igurar +ontes de dados:
- )ue 9 u!a +onte de dados@ Uma fonte de dados um conjunto de informaes armazenadas que permite ao Microsoft Excel e ao
Microsoft Query conectarem-se a um banco de dados externo. Quando voc usar o Query para configurar uma fonte de dados, nomeie a
fonte de dados e fornea o nome e local do banco de dados ou servidor, o tipo do banco de dados e informaes sobre o seu logon e
senha. As informaes tambm incluem o nome de um driver de ODBC ou de um driver de fonte de dados, que um programa que faz
conexes com um tipo especfico de banco de dados. Para alguns tipos de banco de dados externo (cubos OLAP), tudo o que voc precisa
fazer para recuperar os dados, configurar uma fonte de dados.
Co!o o SuerQ usa +ontes de dados ? Depois que voc configurar uma fonte de dados para um determinado banco de dados, poder
us-la sempre que desejar criar uma consulta para selecionar e recuperar dados desse banco de dados - sem precisar digitar novamente
todas as informaes sobre a conexo. O Query usa a fonte de dados para conectar-se ao banco de dados externo e mostra os dados
disponveis. Aps criar a consulta e retornar dados ao Excel, o Query recupera os dados e fornece pasta de trabalho do Excel
informaes sobre a consulta e a fonte de dados para que voc se reconecte ao banco de dados quando desejar atualizar os dados.
Em resumo, a fonte de dados a ponte entre o Excel e os dados externos, independente do formato no qual estejam estes dados. Uma
fonte de dados o meio atravs do qual o Query e o Excel se conectam a um determinando banco de dados e recuperam dados,
conforme indicado na Figura 2.28:
Figura 2.2) - Fonte de dados.
23 #e+inir a &onsulta:
Aps ter configurado a fonte de dados, o prximo passo criar a consulta. Na consulta voc especifica quais dados sero retornados.
Podemos criar consultas que retornam campos de uma ou mais tabelas, podemos especificar critrios de filtragem, de ordenao e de
agrupamento.
Para criar consultas vamos usar o (ssistente de &onsulta para a maioria das consultas O Assistente de consulta, que faz parte do
Microsoft Query, destinado a usurios inexperientes na criao de consultas. O assistente facilita a seleo e a importao de dados de
diferentes tabelas e campos para o seu banco de dados. Depois que selecionar os dados, voc tambm pode usar o assistente para filtrar
e classificar os resultados da consulta. possvel usar o Assistente de consulta para criar uma consulta completa ou iniciar uma consulta
que ser alterada diretamente no Query.
Grabalhar direta!ente no SuerQ "ara outros ti"os de &onsultas : Se voc estiver familiarizado com a criao de consultas ou
desejar criar uma consulta mais complexa, poder trabalhar diretamente no Query. Por exemplo, se voc fez o curso de Access Bsico: (
http://www.juliobattisti.com.br/accbasico/accessbasico.asp ) ir sentir-se vontade em trabalhar diretamente no Query. possvel usar
o Query para exibir e alterar consultas que voc comeou a criar no Assistente de consulta ou criar novas consultas sem usar o
assistente.
Use o Query diretamente quando desejar criar consultas que faam o seguinte:
?ele&ionar dados es"e&/+i&os a "artir de u! &a!"o : Em um banco de dados grande, talvez voc deseje escolher alguns dos dados
em um campo e omitir os dados desnecessrios. Por exemplo, se precisar de dados para dois dos produtos em um campo que possui
informaes para muitos produtos, poder usar critrios para selecionar dados para somente dois produtos desejados. Aprenda sobre
como usar critrios.
Ce&u"erar dados &o! base e! di+erentes &rit9rios &ada *e< )ue u!a &onsulta +or e%e&utada : Se voc precisa criar o mesmo
relatrio ou resumo do Excel para diversas reas nos mesmos dados externos - como um relatrio de vendas separado para cada regio -
poder criar um tipo de consulta chamado consulta de parmetros. Ao executar uma consulta de parmetros, voc solicitado a fornecer
os dados a serem usados como critrio quando a consulta selecionar os registros. Por exemplo, uma consulta de parmetros pode
solicitar que voc digite uma regio especfica e possvel usar essa consulta novamente para criar cada um dos relatrios de vendas
regionais. Aprenda sobre consultas de parmetros no curso de Access Bsico: (
http://www.juliobattisti.com.br/accbasico/accessbasico.asp ).
Co!binar dados de di+erentes +or!as : Voc pode usar o Query para combinar ou relacionar os dados de diferentes tabelas no seu
banco de dados. Por exemplo, se tiver uma tabela de informaes sobre vendas de produtos e uma tabela com informaes sobre os
clientes, poder relacionar essas tabelas de modo a mostrar os clientes que no fizeram compras recentemente. Aprenda sobre como
relacionar tabelas no curso de Access Bsico: ( http://www.juliobattisti.com.br/accbasico/accessbasico.asp ).
33 Grabalhar &o! os dados no 5i&roso+t $%&el:
Uma vez executada a consulta, os dados estaro disponveis para serem utilizados no Excel.
Aps criar uma consulta no Assistente de consulta ou no Microsoft Query, voc pode retornar os dados para uma planilha do Microsoft
Excel. Os dados se tornam um intervalo de dados externos ou um relatrio de tabela dinmica que pode ser formatado, analisado e
atualizado.
=or!atar e analisar os dados : No Excel, voc pode usar ferramentas com as quais est familiarizado, como Assistente de grfico ou
subtotais automticos, para apresentar e resumir os dados. possvel formatar os dados, e sua formatao ser mantida quando os
dados externos forem atualizados a partir do banco de dados de origem. Se colunas de frmulas forem adicionadas ao intervalo de dados
externos, as frmulas podero ser copiadas automaticamente para quaisquer linhas novas adicionadas ao intervalo quando voc atualizar
os dados. Voc pode usar seus prprios rtulos de coluna em vez de nomes de campo e adicionar os nmeros de linha automaticamente.
Para obter informaes sobre como controlar a formatao e o layout de um intervalo de dados consulte o curso de Excel Bsico, no
seguinte endereo:
http://www.juliobattisti.com.br/excel120/excel120.asp
Bsar &onsultas no*a!ente e &o!"artilhA,las : No Assistente de consulta e no Query, voc pode salvar um arquivo de consulta .dqy,
que poder ser modificado, usado novamente e compartilhado. O Excel pode abrir arquivos .dqy diretamente, permitindo que voc e
outros usurios criem intervalos de dados externos adicionais a partir da mesma consulta.
(tuali<ar dados e%ternos : Quando voc atualiza dados externos, executa a consulta para recuperar quaisquer dados novos ou
alterados que correspondam s suas especificaes. possvel atualizar uma consulta no Query e no Excel. O Excel fornece vrias opes
para a atualizao de consultas, inclusive a atualizao de dados sempre que a pasta de trabalho for aberta e atualizada
automaticamente em intervalos programados. Voc pode continuar trabalhando no Excel enquanto os dados esto sendo atualizados e
tambm pode verificar o status enquanto os dados esto sendo atualizados.
Bem, chega de teoria. Nas prximas lies aprenderemos a usar o Microsoft Query para criar uma srie de consultas baseadas em dados
de fontes externas.
Lio 11: De0inindo a 0onte de dados a ser utili'ada
Nesta lio aprenderemos a definir uma fonte de dados. Como exemplo, definiremos uma fonte de dados para acessar os dados do
arquivo C:\Excelavanado\ExQuery.mdb , ou seja, dados de um arquivo no formato do Microsoft Access.
A exemplo do que foi feito em outras lies, aprenderemos a definir a fonte de dados atravs da utilizao de um exemplo prtico.
$%er&/&io 18 Abrir o Excel e definir uma fonte de dados para acessar os dados do arquivo C:\ExcelAvanado\ExQuery.mdb.
1. Abra o Excel.
2. Para definir a fonte de dados selecione o comando #ados ,. -bter dados e%ternos ,. Criar no*a &onsulta ao ban&o de dados'''
3. Ser exibida a janela Escolher a fonte de dados, indicada na Figura 2.29:
Figura 2.2+ - , 0anela Escolher a (onte de dados.
4. O primeiro passo informar ao Microsoft Query o formato em que se encontram os dados que sero acessados. No nosso exemplo
esto no formato do Microsoft Access. D um clique na opo Banco de dados do MS Access, para informar o formato dos dados.
5. Clique em OK.
6. Ser aberta a janela Selecionar banco de dados, indicada na Figura 2.30. Nesta janela voc deve informar o caminho e o nome do
arquivo .mdb no qual esto os dados a ser acessados.
7. Navegue at a pasta C:\ExcelAvanado e d um clique no arquivo ExQuery.mdb para marca-lo.
8. Clique em OK.
Figura 2.3! - , 0anela #elecionar /anco de dados.
9. O Query exibe a lista de tabelas disponveis no banco de dados ExQuery.mdb, conforme indicado na Figura 2.31. Agora j definimos a
nossa fonte de dados, ou seja, o Excel j sabe a partir de onde buscar os dados que serviro como base para as consultas que sero
criadas e depois exibidas no Excel.
10. Mantenha esta janela aberta, pois iremos utiliza-la na prxima lio, onde aprenderemos a criar uma consulta simples, utilizando o
Microsoft Query.
Figura 2.31 - Ta/elas dispon4%eis na (onte de dados especi(icada.
Lio 12: &riao de consultas 8/sicas com o Microso0t ;uer<
Na lio anterior definimos uma fonte de dados, fonte esta que nos permite acessar os dados das tabelas do banco de dados
ExQuery.mdb, o qual est na pasta C:\ExcelAvanado. Nesta lio aprenderemos a criar uma consulta bsica, baseada nesta fonte de
dados.
Nas prximas lies aprenderemos outras maneiras de criar uma fonte de dados e tambm a criar consultas mais elaboradas. Nesta
Lio, utilizaremos o Assistente de consultas, indicado na Figura 2.31. Em outros exemplos deste mdulo tambm aprenderemos a
utilizar diretamente o Microsoft Query, sem o assistente de consultas, para criar consultas mais elaboradas.
$%er&/&io 19 Utilizar a fonte de dados criada na Lio 11 para criar uma consulta onde seja exibida uma listagem dos pedidos,
classificada pelo nmero do pedido, com as seguintes informaes:
Nmero do Pedido. da tabela Pedidos
Data do Pedido da tabela Pedidos
Pas de Destino da tabela Pedidos
Cidade de Destino da tabela Pedidos
Nome do Cliente/Empresa da tabela Clientes
Nome do Funcionrio da tabela Funcionrios
Salvar a planilha na pasta C:\ExcelAvanado com o nome de $%er&i&io19'%ls .
1. Voc deve estar com a janela Assistente de consulta aberta. A utilizao desta janela semelhante a utilizao do internet explorer.
No painel da esquerda exibida uma listagem com todas as tabelas disponveis na fonte de dados que est sendo utilizada. No nosso
exemplo temos as tabelas: Categorias, Clientes, Detalhes do Pedido e assim por diante. Ao clicar no sinal de + ao lado do nome de uma
tabela, sero exibidos os nomes dos campos que pertencem a tabela, conforme indicado na Figura 2.32, onde so exibidos os campos da
tabela Pedidos.
2. Para adicionar um campo consulta basta clicar no campo desejado e depois clicar no boto >. Ao clicar no sinal de >, o campo
selecionado deslocado para o painel da direita. No painel da direita so exibidos os campos que fazem parte da consulta. Cada campo
que faz parte da consulta ira ser exibido em uma coluna na planilha do Excel, depois que a consulta for concluda.
3. Para remover um campo basta clicar no campo a ser removido e em seguida clicar no boto <. O boto << utilizado para remover
todos os campos.
4. Voc tambm pode adicionar todos os campos de uma tabela de uma nica vez, ao invs de ter que adicionar um por um. Para isso
clique no nome da tabela para seleciona-la e depois clique no boto >. Com isso todos os campos da tabela selecionada sero
adicionados consulta.
Figura 2.32 - ampos da ta/ela Pedidos.
5. Utilizando as tcnicas descritas nos itens 2, 3 e 4, adicione os seguintes campos:
Nmero do Pedido. da tabela Pedidos
Data do Pedido da tabela Pedidos
Pas de Destino da tabela Pedidos
Cidade de Destino da tabela Pedidos
Nome do Cliente/Empresa da tabela Clientes
Nome do Funcionrio da tabela Funcionrios
6. Sua janela deve estar conforme indicado na Figura 2.33:
Figura 2.33 - ,dicionando os campos $ue (ar.o parte da consulta.
7. Clique no boto Avanar para seguir para a prxima etapa do assistente.
8. Na prxima etapa podemos definir filtros para a consulta. Vamos definir um filtro ara que sejam exibidos apenas os pedidos para o
Brasil.
9. Clique no campo PasDeDestino. Observe que na parte direita da janela, a baixa de PasDeDestino habilitada uma lista de opes
para filtragem, conforme indicado na Figura 2.34:
Figura 2.34 - Op-Ies para especi(icar crit:rios de (iltragem.
10. No nosso exemplo queremos filtrar apenas os registros onde o campo PasDeDestino igual a Brasil. Selecione a opo igual, na lista.
Observe que uma nova lista habilitada, onde so exibidos os nomes de todos os pases para os quais existem pedidos no banco de
dados. Abra esta segunda lista e selecione Brasil, conforme indicado na Figura 2.35. O assistente de consulta tem uma limitao, sendo
que s possvel especificar critrios em um nico campo. Nas prximas lies, veremos como usar o Microsoft Query para especificar
critrios de filtragem em dois ou mais campos.
Figura 2.35 - #elecionando o Pa4s de *estino.
11. Clique no boto Avanar para seguir para a prxima etapa do assistente.
12. Nesta etapa voc pode selecionar at trs campos para classificar os resultados da consulta. No nosso exemplo vamos classificar pelo
campo Nmero do Pedido, conforme indicado na Figura 2.36.
Figura 2.3" - *e(inindo a ordem de classi(ica-.o da consulta.
13. Clique no boto Avanar para seguir para etapa final do assistente.
Nesta etapa voc tem as seguintes opes:
Cetornar dados ao 5i&roso+t $%&el: Executa a consulta concluda e retorna o conjunto resultado para o Microsoft Excel ou o
programa a partir do qual o Assistente de consulta foi iniciado. Para o nosso exemplo, certifique-se de que esta opo esteja
selecionada.
$%ibir dados ou $ditar Consulta do 5i&roso+t SuerQ: Executa a consulta concluda e retorna o conjunto resultado para o Microsoft
Query. Voc pode exibir ou fazer alteraes adicionais sua consulta no Microsoft Query antes de retornar os dados ao programa a partir
do qual o Assistente de consulta foi iniciado. Utilizaremos esta opo nas prximas lies.
Criar u! -L(4 a "artir desta &onsulta: Abre o Assistente de cubo OLAP onde voc pode criar um cubo OLAP a partir dos dados da
sua consulta. Um cubo OLAP organiza os dados para facilitar a criao de relatrios e permite que voc trabalhe com mais dados do que
poderia de outra forma. Voc pode retornar um cubo OLAP ao Microsoft Excel apenas como um relatrio da tabela dinmica e no como
um intervalo de dados externos.
Figura 2.3& - Op-Ies da etapa (inal do assistente de consulta.
14. Nesta etapa tambm podemos Salvar a consulta. A consulta salva como um arquivo .dqy. Ao salvar a consulta voc poder utiliza-
la novamente. Um arquivo .dqy, com as definies da consulta pode ser aberto diretamente no Excel. Ao abrir o arquivo .dqy, a fonte de
dados ser conectada e os dados, de acordo com as definies da consulta, sero retornados.
15. Clique no boto Concluir. O Excel abre a janela solicitando que voc informe a faixa da planilha onde os dados da consulta devem ser
exibidos. Por padro o Excel sugere a partir da clula A1. Clique em OK. O Excel executa a consulta e dentro de alguns instantes os
dados sero exibidos na planilha, conforme indicado na Figura 2.38:
Figura 2.3) - *ados retornados pelo assistente de consulta.
16. Observe que somente foram retornados os pedidos para o Brasil e os pedidos esto ordenados pelo NmeroDoPedido.
17. Salve a planilha com o nome de $%er&i&io19'%lsT na pasta C:\ExcelAvanado.
18. Feche o Excel.
Nas prximas lies veremos mais exemplos de criao de consultas utilizando o Microsoft Query.
Lio 1!: De0inio de crit4rios em consultas - arte 1
Nesta lio e nas prximas duas lies aprenderemos a definir critrios em consultas. Nesta lio falaremos sobre os operadores que
podemos utilizar em critrios de pesquisa, bem como alguns exemplos tericos. A partir da prxima lio, veremos exemplos prticos de
aplicao dos conceitos vistos nesta lio.
#e+inindo &rit9rios si!"les:
Para definir critrios simples, basta digitar o valor do critrio no respectivo campo, no Microsoft Query. Por exemplo, se queremos filtrar
apenas os pedidos para o Brasil, bastaria digitar Brasil na coluna correspondente ao campo Pas, conforme indicado na Figura 2.39:
Figura 2.3+ - rit:rio; Pa4s M 1Crasil1
Nota: A partir da prxima lio aprenderemos a utilizar a interface do Microsoft Query, indicada na Figura 2.39.
possvel definir critrios para dois ou mais campos. Por exemplo, Pas = 'Brasil' e Cidade='So Paulo". Com isso sero retornados
apenas os registros que atenderem aos dois critrios ao mesmo tempo. Tambm podemos definir critrios independentes. Por exemplo,
Pas='Brasil' Ou Cidade='Paris'. Neste exemplo iremos retornar todos os registros para o Brasil, independentemente da cidade e todos os
registros da Cidade de Paris. Observe que so dois conjuntos independentes de registros. No texto a seguir coloco mais alguns exemplos
que destacam com clareza a diferena entre critrios ligados pelo operador " $ " e critrios ligados pelo operador " -B ".
$ntendendo a di+erena entre o o"erador J-BJ e o o"erador J$J:
(gora trataremos de um assunto terico e que muitas vezes causa confuso: a diferena e como funciona os operadores lgicos " E " e "
OU ".
Veremos que existem diferenas fundamentais entre estes dois operadores e que muito importante entendermos estas diferenas para
que possamos obter os resultados desejados quando estamos definindo critrios de pesquisa em uma lista de valores no Excel ou em
consultas do Microsoft Access ou do 5i&roso+t SuerQ . Os conceitos vistos nesta lio tambm so vlidos para o uso destes operadores
em consultas do Access ou em qualquer outro programa onde possam ser utilizados os operadores "E" e "OU", como por exemplo em
mecanismos de pesquisa na Internet, como o Google ( http://www.google.com/ ) o Yahoo ( http://www.yahoo.com/ ) e o Alta Vista (
NNN'alta*ista'&o!'br ).
$ntendendo o o"erador $:
Utilizamos o operador E sempre que precisarmos definir dois ou mais critrios de pesquisa. Quando os critrios so unidos por um
operador E, todos os critrios devem ser verdadeiros para que um registro seja selecionado. Por exemplo, se forem definidos trs
critrios unidos por operadores E, os trs critrios devem ser atendidos para que um registro seja selecionado. Se, por exemplo, dois dos
critrios forem verdadeiros mas um for falso, o referido registro no ser selecionado.
Vamos entender o operador E atravs de um exemplo prtico.
$%,01: Suponha que sejam definidos os seguintes critrios:
Pas='Brasil' E Cidade='So Paulo' E Frete>50
Neste caso, somente sero selecionados os registros que atenderem os trs critrios. Na listagem a seguir, temos exemplos de registros
que atendem aos trs critrios ao mesmo tempo e, por isso, seriam selecionado:
4444444444444444444444444444444444444444444444444444444444444444444
*rasil .o &aulo 1,2(2 #5//" ,2-,2-1((7 +,-,2-1((7 67 68,((
*rasil .o &aulo 1,2%7 9U33: 26-,+-1((7 2+-,2-1((7 67 71,,7
*rasil .o &aulo 1,6,6 ;6A<= 22-,7-1((7 1(-,%-1((7 67 7(,2,
*rasil .o &aulo 1,2(, #5//" 27-,%-1((6 22-,(-1((6 67 7(,7,
*rasil .o &aulo 11,6% 9U33: ,2-,8-1((% ,1-,6-1((% 67 %1,78
*rasil .o &aulo 1,%+, ;6A<= 1+-,1-1((% 22-,2-1((% 67 %1,%+
*rasil .o &aulo 1,(61 9U33: 1(-,+-1((% 16-,2-1((% 67 1,2,27
*rasil .o &aulo 1,68( 9U33: ,8-,(-1((7 ,+-1,-1((7 67 1,8,%1
*rasil .o &aulo 1,2,6 9U33: ,7-,1-1((7 1%-,2-1((7 67 1,%,,2
*rasil .o &aulo 1,7%6 9U33: 1(-12-1((7 16-,1-1((% 67 11,,%7
*rasil .o &aulo 1,68, FA/"A 2(-,%-1((7 26-,(-1((7 67 176,%1
*rasil .o &aulo 1,%6% 9U33: ,2-,2-1((% ,2-,+-1((% 67 1(1,27
*rasil .o &aulo 1,6+7 9U33: 1(-,%-1((7 16-,(-1((7 67 2,1,2(
444444444444444444444444444444444444444444444444444444444444444444
Observe que todos estes registros atendem aos trs critrios de pesquisa. J os registros da listagem a seguir no seriam selecionados,
pois no atendem a um ou mais dos critrios de pesquisa:
4444444444444444444444444444444444444444444444444444444444444444444
*rasil .o &aulo 1,(6( #5//" 2+-,+-1((% 2,-,2-1((% 67 ,,21
*rasil .o &aulo 1,2(2 ;6A<= 2%-,%-1((6 28-,(-1((6 67 1,+8
*rasil .o &aulo 1,8%1 FA/"A 26-,6-1((7 22-,7-1((7 67 +,,1
*rasil .o &aulo 1,+27 FA/"A ,6-11-1((6 ,2-12-1((6 67 +,1,
*rasil .o &aulo 1,812 FA/"A 21-,2-1((7 1(-,8-1((7 67 +,8+
*rasil .o &aulo 1,7,2 9U33: 12-1,-1((7 11-11-1((7 67 2,7%
*rasil 6io de >aneiro 1,+7( 9U3<3 11-12-1((6 ,%-,1-1((7 67 28,,+
*rasil 6io de >aneiro 1,221 9U3<3 21-,1-1((7 ,2-,+-1((7 67 ((,2+
*rasil 6io de >aneiro 1,227 6"#A6 12-,2-1((7 12-,+-1((7 67 6%,66
*rasil 6io de >aneiro 1,2%1 6"#A6 2,-,+-1((7 17-,2-1((7 67 62,++
*rasil 6io de >aneiro 1,821 =A:A6 1(-,8-1((7 16-,6-1((7 67 6%,68
*rasil 6io de >aneiro 1,86+ 6"#A6 1,-,6-1((7 22-,7-1((7 67 6,,2+
*rasil 6io de >aneiro 1,72, 9U3<3 2%-1,-1((7 11-11-1((7 67 (,8+
*rasil 6io de >aneiro 1,77, =A:A6 ,(-12-1((7 ,6-,1-1((% 67 8,+2
?ustria @ra0 1,28% 36:.= 17-,7-1((6 12-,%-1((6 67 12,,81
?ustria @ra0 1,26+ 36:.= 2+-,7-1((6 2,-,%-1((6 67 126,,6
?ustria @ra0 1,+81 36:.= 11-11-1((6 ,(-12-1((6 67 162,++
4444444444444444444444444444444444444444444444444444444444444444444
Observe que alguns dos registros no atendem a um dos critrios, outros no atendem a dois dos critrios e outros no atendem a
nenhum dos critrios. O importante, novamente, salientar que, com o operador E, somente sero selecionados os registros que
atenderem a todos os critrios.
$ntendendo o o"erador -B:
Utilizamos o operador OU sempre que precisarmos definir dois ou mais critrios de pesquisa. Quando os critrios so unidos por um
operador OU, basta )ue u! dos &rit9rios seDa *erdadeiro "ara )ue u! registro seDa sele&ionado .
Por exemplo, se forem definidos trs critrios unidos por operadores OU e um dos critrios fosse verdadeiro, ou dois dos critrios fossem
verdadeiros, ou at mesmo se os trs critrios fossem verdadeiros, o registro seria selecionado. B! registro so!ente no serA
sele&ionado se todos os &rit9rios unidos "elo o"erador -B +ore! +alsos "ara o re+erido registro'
Vamos entender o operador OU atravs de um exemplo prtico.
$%,02: ?u"onha )ue seDa! de+inidos os seguintes &rit9rios:
Ano do Pedido=1997 OU Cidade=So Paulo OU Frete>50
Neste caso ser selecionado qualquer registro que atender, pelo menos, um dos critrios unidos pelo operador OU. Somente deixaro de
ser selecionados os registros que no atenderem a nenhum dos critrios especificados.
Na "rAti&a sero sele&ionados os seguintes registros:
Todos os pedidos para o ano de 1997, independentemente da Cidade e do valor do frete.
Todos os pedidos para a cidade de So Paulo, independentemente do ano e do valor do frete.
Todos os pedidos com valores de frete maiores do que 50, independentemente do ano e da cidade.
Na Listagem a seguir temos exemplos de alguns registros que seriam selecionados:
4444444444444444444444444444444444444444444444444444444444444444444
*rasil .o &aulo 1,8%1 FA/"A 26-,6-1((7 22-,7-1((7 67 +,,1
*rasil .o &aulo 1,812 FA/"A 21-,2-1((7 1(-,8-1((7 67 +,8+
?ustria @ra0 1,2,2 36:.= , 2-,1-1((7 1+-,2-1((7 67 67,%%
?ustria @ra0 1,2,+ 36:.= , +-,1-1((7 +1-,1-1((7 67 7+,7(
"tAlia *ergamo 1,2,2 /A@AA ,+-,1-1((7 +1-,1-1((7 67 188,(7
*rasil .o &aulo 1,7,2 9U33: 12-1,-1((7 11-11-1((7 67 2,7%
Frana Lille 1,2,% F5L"@ ,%-,1-1((7 ,8-,2-1((7 67 11,26
#anadA ;saBassen 1,21, *5;;/ 1,-,1-1((7 ,7-,2-1((7 67 2,2,
#anadA ;saBassen 1,211 *5;;/ 1,-,1-1((7 ,7-,2-1((7 67 2+,68
Frana ;oulouse 1,21+ LA/A" 12-,1-1((7 11-,2-1((7 67 (8,66
*rasil .o &aulo 1,728 FA/"A +1-1,-1((7 2%-11-1((7 67 1,,%+
3UA 3lgin 1,218 =U:@# 18-,1-1((7 12-,2-1((7 67 ,,2,
4444444444444444444444444444444444444444444444444444444444444444444
Na Listagem a seguir temos exemplos de alguns registros que no seriam selecionados. Observe que estes registros no atendem a
nenhum dos trs critrios ligados pelo operador OU, ou seja, somente quando os trs critrios forem falsos que o registro deixar de
ser selecionado.
4444444444444444444444444444444444444444444444444444444444444444444
Cene0uela ". de /argarita 1,%11 L":5< ,2-,1-1((% +,-,1-1((% 67 +1,22
*rasil 6io de >aneiro 1,%1+ 6"#A6 ,8-,1-1((% ,2-,2-1((% 67 27,+%
3UA *oise 1,%18 .AC3A ,8-,1-1((% ,2-,2-1((% 67 12,62
Argentina *uenos Aires 1,%1( #A#;U ,7-,1-1((% ,2-,2-1((% 67 1(,76
3UA AlbuDuerDue 1,%2, 6A;;# ,7-,1-1((% ,2-,2-1((% 67 +7,82
3UA Lander 1,%21 .&L"6 ,%-,1-1((% ,8-,2-1((% 67 +6,6%
3UA EirFland 1,%22 ;6A"= ,%-,1-1((% ,8-,2-1((% 67 7,,,
.u$cia *rGcFe 1,%22 F5LE5 ,(-,1-1((% ,6-,2-1((% 67 1,2+
Frana .trasbourg 1,%26 *L5:& 12-,1-1((% ,(-,2-1((% 67 7,,(
4444444444444444444444444444444444444444444444444444444444444444444
Cesu!indo:
Critrios unidos por um operador E -> Todos tem que ser verdadeiros para que o registro seja selecionado. Basta que um seja falso para
que o registro no seja selecionado.
Critrios unidos por um operador OU -> Basta que um seja verdadeiro para que o registro seja selecionado. Somente quando todos
forem falsos que o registro no ser selecionado.
Btili<ando o"eradores "ara de+inir &rit9rios de "es)uisa:
O Microsoft Query (a exemplo do Microsoft Access), disponibiliza uma srie de operadores que facilitam a definio de critrios de
pesquisa. Alm de facilitar a definio, os operadores do Microsoft Access nos oferecem uma srie de possibilidades para a definio de
critrios mais sofisticados. Aprenderemos a utilizar os seguintes operadores:
In
Between
Not
Like
Ao utilizarmos estes operadores o Query, automaticamente, traduz o nome dos operadores para Portugus, conforme indicado na tabela
a seguir:
- o"erador E tradu<ido "ara
In $!
Between $ntre
Not E Negado
Like Co!o
- o"erador n
O operador In utilizado para definir critrios de filtragem em campos do tipo texto. Quando temos vrios critrios para serem
especificados em um mesmo campo, mais vantagem utilizar o operador In do que utilizar os vrios critrios unidos pelo operador Ou.
Considere o exemplo a seguir, onde temos um critrio definido para o campo PasDeDestino, de duas maneiras diferentes: uma utilizando
" um monte " de operadores Ou e outra utilizando um nico operador In.
J0rasilJ -u J(rgentinaJ -u J(le!anhaJ -u J=ranaJ -u JLustriaJ
n 1J0rasilJIJ(rgentinaJIJ(le!anhaJIJ=ranaJIJLustriaJ3
Observe que com a utilizao do operador In o critrio fica " mais enxuto ", de mais fcil leitura e interpretao. Neste exemplo sero
selecionados apenas os pedidos para os pases especificados. Observe que os diferentes elementos so separados por ; e cada elemento
est entre aspas. Entre o operador In e a abertura do parnteses existe um espao em branco. Na tabela a seguir temos mais alguns
exemplos de utilizao do operador In.
- o"erador 0etNeen:
O operador Between utilizado em campos numricos ou do tipo Data/Hora, para testar se o campo est dentro de uma determinada
faixa de valores. Por exemplo, para testar se o valor do frete maior ou igual a 10 ou menor ou igual a 20, podemos utilizar um dos
seguintes critrios:
>=10 E <=20
Between 10 E 20
Para testar se uma data est dentro do ano de 1997 podemos utilizar um dos seguintes critrios:
>=#01/01/1997# E <=#31/12/1997#
Between #01/01/1997# E #31/12/1997#
Na tabela a seguir temos mais alguns exemplos de utilizao do operador Between.
Nota: importante observar que o operador Between representa um intervalo fechado, ou seja, maior ou igual e menor ou igual.
- o"erador LiUe:
Este operador utilizado para pesquisas em campos do tipo texto. A diferencial do operador Like que ele permite a pesquisa de
padres de texto, ou seja, permite que seja pesquisado um campo do tipo texto, especificando apenas parte do campo e no o seu
contedo exato. Por exemplo, podemos pesquisar todos os clientes que tem em alguma parte do nome a palavra Silva. Desta maneira
seriam retornados, por exemplo, os seguintes nomes:
Jos da Silva
Silva Antnio da Costa
Joo Pereira da Silva
Maria Jos da Silva
Silva Fontoura dos Santos
Com o operador Like podemos utilizar alguns caracteres conhecidos como caracteres " coringa ". Na tabela a seguir temos a lista dos
caracteres coringa que podem ser utilizados com o operador Like:
-bser*a6es:
Os caracteres curinga devem ser utilizados com tipos de dados de texto, embora voc possa, s vezes, utiliz-los com sucesso com
outros tipos de dados, tais como datas, se voc no alterar as propriedades das Configuraes Regionais destes tipos de dados.
Ao utilizar caracteres curinga para procurar um asterisco (*), um ponto de interrogao (?), um sinal numrico (#), um colchete de
abertura ([) ou um hfen (-), voc deve colocar o item que voc est procurando entre colchetes.
Por exemplo, para procurar um ponto de interrogao, digite [?]. Quando voc estiver procurando um hfen e outros caracteres
simultaneamente, coloque o hfen antes ou depois de todos os outros caracteres dentro dos colchetes. (Entretanto, se houver um ponto
de exclamao (!) depois do colchete de abertura, coloque o hfen depois do ponto de exclamao). Quando voc estiver procurando um
ponto de exclamao ou um colchete de fechamento, no necessrio coloc-los entre colchetes.
Voc no pode procurar os colchetes de abertura e fechamento ([ ]) juntos porque o Microsoft Query interpreta esta combinao como
uma seqncia de comprimento zero.
Se voc estiver procurando valores em uma tabela que no seja do Microsoft Access, como, por exemplo, uma tabela do Microsoft SQL
Server, pode ser necessrio utilizar caracteres curinga diferentes. Verifique a documentao da fonte de dados para obter maiores
informaes.
Para entendermos a utilizao do operador Like e dos caracteres coringa, vamos considerar os exemplos da tabela a seguir:
- o"erador Not:
O operador Not utilizado para negar, para inverter um determinado critrio.
Considere os exemplos:
Pas='Brasil" -> Retorna todos os registros onde o campo Pas igual a Brasil.
Not Pas='Brasil' -> Retorna todos os pedidos onde o campo Pas diferente de Brasil, ou seja: No Brasil
Tambm podemos utilizar o operador Not em conjunto com os operadores Like, Between e In.
Lio 1": De0inio de crit4rios em consultas - arte 2
Nesta lio utilizaremos o Microsoft Query para criar um consulta onde definiremos alguns critrios de pesquisa. Faremos a consulta na
tabela Pedidos do arquivo ExQuery.mdb, que est na pasta C:\ExcelAvanado.
Aps definirmos alguns critrios de pesquisa, executaremos a consulta e os dados sero retornados para uma planilha do Excel.
Salvaremos a planilha com os resultados obtidos.
$%er&/&io 20 Abrir o Excel e definir uma fonte de dados para acessar os dados do arquivo C:\ExcelAvanado\ExQuery.mdb. Aps acessar
a fonte de dados usar o Microsoft Query para acessar os seguintes campos da tabela Pedidos:
NmeroDoPedido.
DataDoPedido
CidadeDeDestino
PasDeDestino
Frete
Fazer com que sejam retornados apenas os pedidos para o Brasil, no primeiro trimestre de 1997. Retornar os dados para o Excel e salvar
a planilha com o nome de Exemplo 20.xls, na pasta C:\ExcelAvanado.
1. Abra o Excel.
2. Para definir a fonte de dados selecione o comando #ados ,. -bter dados e%ternos ,. Criar no*a &onsulta ao ban&o de dados'''
3. Ser exibida a janela Escolher a fonte de dados, indicada na Figura 2.40. Nesta tela desmarque a opo "Usar o Assistente de consulta
para criar/editar consultas". Ao desmarcar esta opo, o Excel abrir o Microsoft Query para que possamos criar a consulta, ao invs do
assistente utilizado nas lies anteriores. Nesta lio e nas prximas utilizaremos o Microsoft Query.
Figura 2.4! - , 0anela Escolher a (onte de dados.
4. O primeiro passo informar ao Microsoft Query o formato em que se encontram os dados que sero acessados. No nosso exemplo
esto no formato do Microsoft Access. D um clique na opo Banco de dados do MS Access, para informar o formato dos dados.
5. Clique em OK.
6. Ser aberta a janela Selecionar banco de dados, indicada na Figura 2.41. Nesta janela voc deve informar o caminho e o nome do
arquivo .mdb no qual esto os dados a ser acessados.
Figura 2.41 - , 0anela #elecionar /anco de dados.
7. Navegue at a pasta C:\ExcelAvanado e d um clique no arquivo ExQuery.mdb para marca-lo.
8. Clique em OK.
9. O Microsoft Query ser carregado com a janela Adicionar tabelas em primeiro plano, conforme indicado na Figura 2.42:
Figura 2.42 - #elecionando as ta/elas $ue (ar.o parte da consulta.
Nota: A criao de consultas com o Microsoft Query muito semelhante a criao de consultas com o Microsoft Access. Para detalhes
sobre a criao de consultas com o Microsoft Access, consulte o Curso de Access Bsico - 300 pginas, no seguinte endereo:
http://www.juliobattisti.com.br/accbasico/accessbasico.asp .
10. Clique na tabela Pedidos para marca-la. Em seguida clique no boto Adicionar.
11. Clique em Fechar para fechar a lista de tabelas e ir para o Microsoft Query, conforme indicado na Figura 2.43:
Figura 2.43 - O 2icroso(t HuerL.
12. Na parte de cima da janela esto os comandos do menu de comandos e a Barra de ferramentas. Logo aps temos as tabelas com a
lista de campos de cada tabela. Para adicionar um campo consulta, basta dar um clique duplo no campo ou arrasta-lo para o painel na
parte de baixo da janela. Ao arrastar um campo, os dados do campo j sero exibidos. Cada campo exibido em uma coluna separada
no painel de baixo.
13. Adicione os seguintes campos:
NmeroDoPedido
DataDoPedido
CidadeDeDestino
PasDeDestino
Frete
14. Por padro a rea para definio dos critrios no exibida. Para exibi-la selecione o seguinte comando: Exibir -> Critrios. Ser
exibida uma rea entre as tabelas e o painel de dados, para a definio de Critrios, conforme indicado na Figura 2.44:
Figura 2.44 - Exi/indo a =rea para de(ini-.o dos crit:rios.
15. Cada critrio definido em uma coluna, na rea de Critrios. Na linha Campo de critrios voc deve selecionar o campo no qual
iremos definir um critrio de filtragem. Na linha valor voc define um valor ou uma expresso de critrio, usando um dos operadores
descritos na lio anterior. Critrios colocados na mesma linha so ligados por um operador E, colocados em linhas diferentes so ligados
por um operador OU.
16. Nos vamos definir os seguintes critrios:
PasDeDestino='Brasil'
DataDoPedido entre 01/01/1997 e 31/03/1997, ou seja, primeiro trimestre de 1997
importante observar os seguintes detalhes:
Quando o critrio for em um campo do tipo Texto, como no caso do Campo PasDeDestino, o valor do critrio ('Brasil') dever
vir entre apstrofes.
Quando o critrio for em um campo do tipo Data, como no caso do Campo DataDoPedido, o valor do critrio (#01/01/1997#)
dever vir dentro do sinal # (hash).
17. Na primeira coluna da rea de Critrios selecione o campo PasDeDestino. Na linha valor digite Brasil e pressione a tecla TAB.
Observe que, automaticamente, o Query coloca Brasil entre apstrofes e os resultados, na parte de baixo da janela, j so filtrados para
exibir apenas os pedidos do Brasil.
18. Agora vamos definir o critrio para o campo DataDoPedido.
19. Na segunda coluna da rea de Critrios selecione o campo DataDoPedido. Na linha valor digite :
0etNeen 01V01V1997 $ 31V03V1997
Observe que, automaticamente, o Query coloca as datas entre sinais de # e traduz Between para Entre. Os resultados, na parte de baixo
da janela, j so filtrados para exibir apenas os pedidos do Brasil (filtro anterior) para o primeiro trimestre de 1997.
20. Sua janela deve estar conforme indicado na Figura 2.45:
Figura 2.45 - rit:rios 0= de(inidos para a consulta.
21. Agora esto sendo exibidos apenas os pedidos que coincidem com os critrios especificados.
22. O prximo passo fechar o Microsoft Query, retornando estes dados para a planilha do Excel. Para fazer isso utilize o comando:
(r)ui*o ,. Cetornar dados ao 5i&roso+t $%&el'
23. O Excel abre a janela solicitando que voc informe a faixa da planilha onde os dados da consulta devem ser exibidos. Por padro o
Excel sugere a partir da clula A1. Clique em OK. O Excel executa a consulta e dentro de alguns instantes os dados sero exibidos na
planilha, conforme indicado na Figura 2.46:
Figura 2.4" - Pedidos para o Crasil no primeiro trimestre de 1++&.
24. Observe que somente foram retornados os pedidos para o Brasil, no primeiro trimestre de 1997.
25. Salve a planilha com o nome de $%er&/&io 20'%lsT na pasta C:\ExcelAvanado.
26. Mantenha o Microsoft Excel aberto, pois iremos alterar esta consulta na prxima lio.
Lio 1#: +lterando consultas com o Microso0t ;uer<
Neste item vamos editar a consulta criada na Lio 14. Vamos alterar alguns critrios. Tambm vamos aprender a usar algumas
funcionalidades da interface do Microsoft Query, como por exemplo adicionar ou excluir colunas, definir a ordenao dos resultados e
assim por diante.
$%er&/&io 21 Alterar a consulta criada na Lio 14. Adicionar a tabela Funcionrios consulta. Observe que, na tabela Funcionrios, o
nome e o sobrenome esto em campos separados. Criar um campo nico na consulta, chamado Nome Completo, o qual concatena o
campo Nome e o campo Sobrenome.
Fazer com que sejam retornados apenas os pedidos para o Brasil para o ano de 1997 e todos os pedidos para a Alemanha, Argentina ou
Frana, independentemente do ano. Retornar os dados para o Excel e salvar a planilha com o nome de Exemplo 21.xls, na pasta
C:\ExcelAvanado.
1. Voc j deve estar com a planilha Exemplo 20.xls, conforme orientaes da Lio anterior.
2. Para alterar a consulta clique em uma das clulas que contenha dados e selecione o seguinte comando: #ados ,. -bter dados
e%ternos ,. $ditar &onsulta'''
3. O Microsoft Query ser aberto com a consulta criada na lio anterior.
4. Para adicionar uma nova tabela selecione o comando Gabela ,. (di&ionar tabelas'''
5. Ser exibida a janela Adicionar tabelas. Clique na tabela =un&ionArios para seleciona-la e depois clique no boto Adicionar. Clique no
boto Fechar. A janela Adicionar tabelas ser fechada, voc estar de volta ao Microsoft Query e a tabela Funcionrios j faz parte da
consulta, conforme indicado na Figura 2.47. Observe que existe um relacionamento do tipo um para vrios, entre a tabela Funcionrios e
Pedidos, ou seja, cada funcionrio cadastrado uma nica vez (lado um do relacionamento), porm um mesmo funcionrio pode emitir
vrios pedidos (lado vrios do relacionamento).
Nota: Para maiores detalhes sobre tabelas e relacionamentos consulte o Mdulo 1 do curso de Access Bsico, disponvel no seguinte
endereo: http://www.juliobattisti.com.br/accbasico/accessbasico.asp .
6. Agora queremos acrescentar um campo que inclua o nome e o sobrenome do funcionrio. Observe que este campo no existe
diretamente na tabela funcionrios, ou seja, teremos que acrescentar um campo que ser calculado (montado) a partir de outros campos
disponveis em uma ou mais tabelas da consulta. No nosso exemplo vamos criar um campo calculado chamado Nome Completo, o qual
composto pela concatenao do campo Nome, mais um espao em branco (para que o nome no fique "grudado " ao sobrenome mais o
campo Sobrenome.
Figura 2.4& - Ta/ela Funcion=rios 0= adicionada J consulta.
7. Para criar um campo calculado, basta digitar a expresso de clculo diretamente na primeira coluna em branco, aps o ltimo campo
da consulta. No use um sinal de igual (=) no incio da expresso. Por exemplo, para criar um campo que exibo o nome, mais um espao
em branco mais o sobrenome, utilize a seguinte expresso:
No!eWX XW ?obreno!e
Observe que o espao deve vir entre apstrofes, conforme indicado na Figura 2.48:
Figura 2.4) - riando um campo calculado.
8. Observe que a expresso torna-se o nome da coluna. Para atribuir um nome para a coluna, basta dar um clique duplo na expresso de
clculo. Ser exibida a janela Editar coluna. Nesta janela preencha o campo Cabealho da coluna conforme indicado na Figura 2.49:
Figura 2.4+ - *e(inindo um ca/e-alho para o campo alculado.
9. Clique em OK para fechar a janela Editar coluna. Observe que a coluna j aparece com o Cabealho Nome Completo, ao invs da
expresso de clculo.
10. Agora vamos alterar os critrios. Na primeira linha j temos o filtro para Brasil e primeiro trimestre de 1997. Para adaptar este
critrio para todo o ano de 1997, basta alterar a segunda data para 31/12/1997.
11. Agora temos que definir que sejam exibidos todos os pedidos para Alemanha, Argentina e Frana, independentemente do ano. Como
so dois conjuntos de critrios independentes, devemos coloca-los em linhas separadas, o que far com que sejam ligados por um
operador OU. Na segunda linha de critrios vamos definir o critrio para filtrar apenas os pedidos para Alemanha, Argentina e Frana,
independentemente do ano.
12. No campo PasDeDestino, na segunda linha de critrios digite a seguinte expresso:
$! 1X(rgentinaXIX(le!anhaXIX=ranaX3
Agora temos dois conjuntos independentes de critrios. O da primeira linha filtra apenas os pedidos para o Brasil, no ano de 1997 e o
segundo conjunto (da segunda linha), filtra todos os pedidos para Argentina, Alemanha e Frana, independentemente do ano. A janela do
Microsoft Query deve estar conforme indicado na Figura 2.50:
Figura 2.5! - *e(inindo a segunda linha de crit:rios.
13. Agora s falta aprendermos a definir a ordem de classificao da consulta. No nosso caso vamos classificar pelo campo
PasDeDestino. Para isso clique na coluna PasDeDestino, na parte de baixo da janela do Microsoft Query, onde so exibido os dados,
depois clique no boto ( ) para classificar a consulta em ordem crescente do campo PasDeDestino.
14. O prximo passo fechar o Microsoft Query, retornando estes dados para a planilha do Excel. Para fazer isso utilize o comando:
(r)ui*o ,. Cetornar dados ao 5i&roso+t $%&el' O Excel abre a janela solicitando que voc informe a faixa da planilha onde os dados
da consulta devem ser exibidos. Por padro o Excel sugere a partir da clula A1. Clique em OK. O Excel executa a consulta e dentro de
alguns instantes os dados sero exibidos na planilha, conforme indicado na Figura 2.51:
Figura 2.51 - ?esultados da consulta5 retornados para o Excel.
15. Observe que somente foram retornados os pedidos para o Brasil, no primeiro trimestre de 1997 e todos os pedidos para Alemanha,
Argentina e Frana, independentemente do ano.
16. Salve a planilha com o nome de $%er&/&io 21'%lsT na pasta C:\ExcelAvanado.
17. Mantenha o Microsoft Excel aberto, pois iremos alterar esta consulta na prxima lio .
Lio 1$: 6otali'ao de dados com o Microso0t ;uer<
Neste item vamos editar a consulta criada na Lio 15. Vamos alterar alguns critrios. Tambm aprenderemos a utilizar mais algumas
funcionalidades da interface do Microsoft Query.
$%er&/&io 22 Alterar a consulta criada na Lio 15. Adicionar a tabela Detalhes do pedido consulta. Criar um campo que calcula o total
por item da nota fiscal, usando a seguinte frmula:
(Quantidade*PreoUnitrio)*(1-Desconto)
Em seguida aprenderemos a agrupar todos os itens do mesmo pedido, para obter o total geral do pedido.
Fazer com que sejam retornados apenas os pedidos para os pases onde a primeira letra do nome do pas est na faixa da A-M. Retornar
os dados para o Excel e salvar a planilha com o nome de Exemplo 22.xls, na pasta C:\ExcelAvanado.
1. Voc j deve estar com a planilha Exemplo 21.xls, conforme orientaes da Lio anterior.
2. Para alterar a consulta clique em uma das clulas que contenha dados e selecione o seguinte comando: #ados ,. -bter dados
e%ternos ,. $ditar &onsulta'''
3. O Microsoft Query ser aberto com a consulta criada na lio anterior.
4. Para adicionar uma nova tabela selecione o comando Gabela ,. (di&ionar tabelas'''
5. Ser exibida a janela Adicionar tabelas. Clique na tabela #etalhes do "edido para seleciona-la e depois clique no boto Adicionar.
Clique no boto Fechar. A janela Adicionar tabelas ser fechada, voc estar de volta ao Microsoft Query e a tabela Funcionrios j faz
parte da consulta, conforme indicado na Figura 2.52. Observe que existe um relacionamento do tipo um para vrios, entre a tabela
Funcionrios e Pedidos, ou seja, cada funcionrio cadastrado uma nica vez (lado um do relacionamento), porm um mesmo
funcionrio pode emitir vrios pedidos (lado vrios do relacionamento). Tambm existe um relacionamento do tipo uma para vrios entre
a tabela Pedidos e Detalhes do pedido, ou seja, cada pedido cadastrado uma nica vez (lado um do relacionamento), porm um mesmo
Pedido pode conter diversos itens (tabela Detalhes do pedidos, lado vrios do relacionamento).
Nota: Para maiores detalhes sobre tabelas e relacionamentos consulte o Mdulo 1 do curso de Access Bsico, disponvel no seguinte
endereo: http://www.juliobattisti.com.br/accbasico/accessbasico.asp .
Figura 2.52 - Ta/ela *etalhes do Pedido 0= (a8endo parte da consulta.
6. Agora queremos acrescentar um campo que faa o clculo do total para cada item de cada pedido, usando a frmula proposta
anteriormente. Observe que este campo no existe diretamente na tabela Detalhes do Pedido, ou seja, teremos que acrescentar um
campo que ser calculado (montado) a partir de outros campos disponveis em uma ou mais tabelas da consulta. No nosso exemplo
vamos criar um campo calculado chamado Total Geral, o qual composto pela seguinte frmula:
(Quantidade*PreoUnitrio)*(1-Desconto)
7. Para criar um campo calculado, basta digitar a expresso de clculo diretamente na primeira coluna em branco, aps o ltimo campo
da consulta. No use u! sinal de igual 1>3 no in/&io da e%"resso . Por exemplo, para criar o campo Total Geral, utilize a expresso
indicada anteriormente. Aps digitar a expresso pressione Enter e observe que voc j obtm os resultados indicados na Figura 2.53:
Figura 2.53 - ampo para o c=lculo do total por item do pedido.
8. Observe que a expresso torna-se o nome da coluna. Para atribuir um nome para a coluna, basta dar um clique duplo na expresso de
clculo. Ser exibida a janela Editar coluna. Nesta janela preencha o campo Cabealho da coluna conforme indicado na Figura 2.54:
Figura 2.54 - *e(inindo um ca/e-alho para o campo alculado.
9. Clique em OK para fechar a janela Editar coluna. Observe que a coluna j aparece com o Cabealho TotalGeral, ao invs da expresso
de clculo.
10. Agora vamos alterar os critrios. Na primeira linha temos o filtro para Brasil e primeiro trimestre de 1997. Vamos alterar este filtro
para que sejam exibidos apenas os pedidos onde o primeiro nome do pas est na faixa de A at M. Exclua os critrios da primeira linha
de critrios. Para definir este critrio utilizaremos o operador Like, descrito na Lio 14: Digite o seguinte critrio:
Like '[A-M]%'
11. Exclua os critrios da segunda linha. Exclua a segunda coluna de critrios. Sua janela deve estar conforme indicado na Figura 2.55:
Figura 2.55 - rit:rio usando o operador 3iNe.
12. Observe que so exibidos apenas os pedidos para os pases em que a primeira letra do nome est na faixa de A at M.
Nota: Para maiores detalhes sobre o uso do operador Like (Como), consulte a Lio 14.
13. Agora temos que fazer com que o Query totalize por nota fiscal. Se voc observar os resultados, ver que aparecem vrios registros
com o mesmo nmero de pedido. Cada registro um item do pedido. Por exemplo, o Pedido nmero 10342 apresenta dois registros, isso
significa que este pedido tem dois itens. O que queremos que sejam agrupados todos os itens de cada pedido e calculada a soma
destes itens, o que na prtica ser o total geral do pedido.
14. Para fazer este agrupamento vamos utilizar a funo Soma, na coluna Total Geral. D um clique duplo em Total Geral (no nome da
coluna). Ser exibida a janela Editar coluna. Nesta janela, na lista Total selecione Soma, conforme indicado na Figura 2.56:
Figura 2.5" - Fa8endo a soma dos itens do pedido.
15. Clique em OK e observe os resultados, indicados na Figura 2.57. Cada pedido aparece uma nica vez e exibido o total geral por
pedido:
Figura 2.5& - Fa8endo a soma dos itens do pedido.
16. O prximo passo fechar o Microsoft Query, retornando estes dados para a planilha do Excel. Para fazer isso utilize o comando:
(r)ui*o ,. Cetornar dados ao 5i&roso+t $%&el' O Excel abre a janela solicitando que voc informe a faixa da planilha onde os dados
da consulta devem ser exibidos. Por padro o Excel sugere a partir da clula A1. Clique em OK. O Excel executa a consulta e dentro de
alguns instantes os dados sero exibidos na planilha, conforme indicado na Figura 2.58:
Figura 2.5) - ?esultados da consulta5 retornados para o Excel.
17. Observe que retornada somente uma linha para cada pedido, com o total geral do pedido e somente pedidos para os pases em que
a primeira letra do nome est na faixa de A at M.
Nota: Voc pode utilizar o comando Formatar -> Clulas para formatar os dados da coluna G, definindo um nmero de casas decimais e
a exibio ou no do smbolo da moeda (R$). Para maiores detalhes sobre formatao de clulas no Excel, consulte o Curso de Excel em
120 Lies, disponvel no seguinte endereo: http://www.juliobattisti.com.br/excel120/excel120.asp .
18. Salve a planilha com o nome de $%er&/&io 22'%lsT na pasta C:\ExcelAvanado.
19. Mantenha o Microsoft Excel aberto, pois iremos alterar esta consulta na prxima lio .
Lio 1%: 23 - &riao de consultas e an/lise de dados com o ;uer<
Neste item vamos editar a consulta criada na Lio 16. Agora vamos fazer o clculo do total de vendas por PasDeDestino e, dentro do
PasDeDestino, por Cidade. Para que possamos fazer estas agregaes, importante que os campos estejam nesta posio, ou seja,
primeiro (mais esquerda) o PasDeDestino e depois, (a sua direita), o campo CidadeDeDestino.
No vamos alterar os filtros da consulta.
$%er&/&io 23 Alterar a consulta criada na Lio 16. Observe que os campos PasDeDestino e CidadeDeDestino esto em posies
inversas ao que devem estar (primeiro PasDeDestino e depois CidadeDeDestino), para que possamos fazer os clculos propostos. Neste
exemplo iremos excluir todos os campos existentes e adicionar os campos na ordem correta.
Em seguida faremos a totalizao por PasDeDestino e, dentro do PasDeDestino por CidadeDeDestino.
1. Voc j deve estar com a planilha Exemplo 22.xls, conforme orientaes da Lio anterior.
2. Para alterar a consulta clique em uma das clulas que contenha dados e selecione o seguinte comando: #ados ,. -bter dados
e%ternos ,. $ditar &onsulta'''
3. O Microsoft Query ser aberto com a consulta criada na lio anterior.
4. Agora vamos excluir todos os campos da consulta. Para excluir um campo clique no nome do campo para seleciona-la, depois
pressione a tecla Delete. Pronto, o campo ser excludo. Utilizando este procedimento exclua todos os campos da consulta, inclusive o
campo calculado, pois iremos cria-lo novamente.
5. Adicione novamente o campo PasDeDestino e em seguida o campo CidadeDeDestino.
6. Agora vamos acrescentar um campo que faz o clculo do total geral, usando a frmula proposta anteriormente. Observe que este
campo no existe diretamente na tabela Detalhes do Pedido, ou seja, teremos que acrescentar um campo que ser calculado (montado)
a partir de outros campos disponveis em uma ou mais tabelas da consulta. No nosso exemplo vamos criar um campo calculado chamado
Total Geral, o qual composto pela seguinte frmula:
(Quantidade*PreoUnitrio)*(1-Desconto)
7. Para criar um campo calculado, basta digitar a expresso de clculo diretamente na primeira coluna em branco, aps o ltimo campo
da consulta. No use u! sinal de igual 1>3 no in/&io da e%"resso . Por exemplo, para criar o campo Total Geral, utilize a expresso
indicada anteriormente. Aps digitar a expresso pressione Enter e observe que voc j obtm os resultados indicados na Figura 2.59:
Figura 2.5+ - ampo Total Beral 0= calculado. Falta agrupar por cidade.
8. Observe que a expresso torna-se o nome da coluna. Para atribuir um nome para a coluna, basta dar um clique duplo na expresso de
clculo. Ser exibida a janela Editar coluna. Nesta janela preencha o campo Cabealho da coluna conforme indicado na Figura 2.60:
Figura 2."! - *e(inindo um ca/e-alho para o campo alculado.
9. Clique em OK para fechar a janela Editar coluna. Observe que a coluna j aparece com o Cabealho TotalGeral, ao invs da expresso
de clculo.
10. Exclua todos os critrios que estiverem definidos.
11. Vamos classificar a listagem por PasDeDestino e, dentro do pas, por CidadeDeDestino. Clique na coluna PasDeDestino para
seleciona-la. Pressione a tecla Shift e mantenha-a pressionada. Clique na coluna CidadeDeDestino. As duas colunas ficaro selecionadas.
Agora clique no boto ( ). Com isso a listagem ficar classificada pelo PasDeDestino e, dentro do PasDeDestino, pela
CidadeDeDestino.
12. Agora temos que fazer com que o Query totalize pelo campo CidadeDeDestino. Se voc observar os resultados, ver que aparecem
vrios registros para a mesma cidade. Cada registro um item de pedido. Por exemplo, para a cidade Aachen, aparecem 10 registros.
Estes so todos os itens de pedidos enviados para esta cidade. O que queremos que sejam agrupados todos os itens de cada cidade e
calculada a soma destes itens, o que na prtica ser o total geral de vendas para a cidade.
14. Para fazer este agrupamento vamos utilizar a funo Soma, na coluna Total Geral. D um clique duplo em Total Geral (no nome da
coluna). Ser exibida a janela Editar coluna. Nesta janela, na lista Total selecione Soma, conforme indicado na Figura 2.61:
Figura 2."1 - Fa8endo a soma dos itens do pedido.
15. Clique em OK e observe os resultados, indicados na Figura 2.62. Cada Cidade aparece uma nica vez e exibido o total geral por
cidade:
Figura 2."2 - Fa8endo a soma das %endas por idade.
16. Ao invs da Soma por cidade voc poderia, por exemplo, calcular o valor mdio dos pedidos por cidade. Para isso d um clique duplo
no cabealho da coluna TotalGeral para exibir a janela com propriedades da coluna. Observe que na lista Campo exibida a seguinte
expresso: Soma((Quantidade*PreoUnitrio)*(1-Desconto)). Basta alterar a funo Soma para Avg (Average significa mdia, em
ingls). Altere a funo para Avg e clique em OK. Ser exibida a mdia do valor dos itens por cidade, conforme indicado na Figura 2.63:
Figura 2."3 - Exi/indo a m:dia dos itens por idade.
16. O prximo passo fechar o Microsoft Query, retornando estes dados para a planilha do Excel. Para fazer isso utilize o comando:
(r)ui*o ,. Cetornar dados ao 5i&roso+t $%&el' O Excel abre a janela solicitando que voc informe a faixa da planilha onde os dados
da consulta devem ser exibidos. Por padro o Excel sugere a partir da clula A1. Clique em OK. O Excel executa a consulta e dentro de
alguns instantes os dados sero exibidos na planilha, conforme indicado na Figura 2.64:
Figura 2."4 - ?esultados da consulta5 retornados para o Excel.
17. Observe que retornada somente uma linha para cada cidade, com a mdia dos itens por cidade. Voc pode utilizar o comando
Formatar -> Clulas para formatar os dados da coluna G, definindo um nmero de casas decimais e a exibio ou no do smbolo da
moeda (R$). Para maiores detalhes sobre formatao de clulas no Excel, consulte o Curso de Excel em 120 Lies, disponvel no
seguinte endereo: http://www.juliobattisti.com.br/excel120/excel120.asp .
18. Salve a planilha com o nome de $%er&/&io 23'%lsT na pasta C:\ExcelAvanado.
19. Mantenha o Microsoft Excel aberto, pois iremos alterar esta consulta na prxima lio.
Lio 1(: 23 0! - &riao de consultas e an/lise de dados com o ;uer<
Neste item vamos editar a consulta criada na Lio 17. Aprenderemos a criar uma consulta parametrizada. Uma consulta parametrizada
solicita que seja digitado um ou mais valores (os parmetros), toda vez que a consulta for executada. Por exemplo, podemos definir um
parmetro para o campo PasDeDestino. Toda vez que a consulta for executada o Microsoft Query solicita que voc digite um valor para o
parmetro no campo PasDeDestino. Vamos supor que voc digitou Brasil. O valor digitado ser utilizado para filtrar o resultado da
consulta e sero exibidos apenas os pedidos, no nosso exemplo, para o Brasil. Com isso a consulta fica mais dinmica, no precisamos
alterar diretamente os critrios, basta fornecer um valor diferente para os parmetros, cada vez que a consulta for executada.
$%er&/&io 24 Alterar a consulta criada na Lio 17. Excluir todos os campos da consulta e adicionar os seguintes campos:
NmeroDoPedido Tabela: Pedidos
DataDoPedido Tabela: Pedidos
CidadeDeDestino Tabela: Pedidos
PasDeDestino Tabela: Pedidos
Definir dois parmetros: Um no campo PasDeDestino e outro no campo CidadeDeDestino. Ao executar a consulta o Microsoft Query
solicitar que voc digite o valor destes parmetros. Sero retornados apenas os registros para os valores de Cidade e Pas digitados nos
parmetros.
1. Voc j deve estar com a planilha Exemplo 23.xls, conforme orientaes da Lio anterior.
2. Para alterar a consulta clique em uma das clulas que contenha dados e selecione o seguinte comando: #ados ,. -bter dados
e%ternos ,. $ditar &onsulta'''
3. O Microsoft Query ser aberto com a consulta criada na lio anterior.
4. Agora vamos excluir todos os campos da consulta. Para excluir um campo clique no nome do campo para seleciona-la, depois
pressione a tecla Delete. Pronto, o campo ser excludo. Utilizando este procedimento exclua todos os campos da consulta, inclusive o
campo calculado, pois iremos cria-lo novamente.
5. Adicione novamente os seguintes campos, bem como o campo calculado, descrito a seguir:
NmeroDoPedido Tabela: Pedidos
DataDoPedido Tabela: Pedidos
CidadeDeDestino Tabela: Pedidos
PasDeDestino Tabela: Pedidos
6. Agora vamos definir parmetros nas colunas PasDeDestino e CidadeDeDestino.
7. Para definir um parmetro extremamente simples. Basta adicionar o campo, no qual ser definido o parmetro, na lista de critrios.
Ao invs de digitar um critrio diretamente, digite uma expresso entre colchetes, conforme indicado a seguir:
[Digite o nome do Pas:]
8. Ao executar a consulta o Microsoft Query encontra a expresso [Digite o nome do Pas:], e abre uma janela com o texto "Digite o
nome do Pas:". O usurio digite um valor, por exemplo Brasil, e o valor digitado pelo usurio utilizado como critrio de pesquisa. No
nosso exemplo seriam retornados apenas os registros para o Brasil. Observe que desta maneira a consulta fica mais dinmica. Cada vez
que a consulta for executada, podemos informar um valor diferente para uma ou mais parmetros, de tal maneira que obteremos um
conjunto de resultados diferente.
9. Antes de definir os parmetros importante que voc desative o recurso de Consulta Automtica. Com este recurso habilitado o
Microsoft Query atualiza os resultados, sempre que alguma alterao for feita na consulta. Se a Consulta Automtica estiver habilitada,
voc no conseguir definir parmetros, pois ser gerada uma mensagem de erro. Para desabilitar este recurso clique no boto Consulta
automtica, indicado na Figura 2.65:
Figura 2."5 - *esa/ilitando a onsulta ,utom=tica.
10. Agora defina os parmetros nos campos PasDeDestino e CidadeDeDestino, conforme indicado na Figura 2.66:
Figura 2."" - *e(inindo parOmetros nos campos Pa4s*e*estino e idade*e*estino.
11. O prximo passo fechar o Microsoft Query, retornando estes dados para a planilha do Excel. Para fazer isso utilize o comando:
(r)ui*o ,. Cetornar dados ao 5i&roso+t $%&el'
12. O Excel abre uma janela solicitando que voc digite um valor para o parmetro no campo PasDeDestino. Digite Brasil, conforme
indicado na Figura 2.67 e clique em OK.
Figura 2."& - *igitando o %alor para o parOmetro Pa4s*e*estino.
13. O Excel abre uma janela solicitando que voc digite um valor para o parmetro no campo CidadeDeDestino. Digite Rio de Janeiro,
conforme indicado na Figura 2.68 e clique em OK.
Figura 2.") - *igitando o %alor para o parOmetro idade*e*estino.
14. O Excel abre a janela solicitando que voc informe a faixa da planilha onde os dados da consulta devem ser exibidos. Por padro o
Excel sugere a partir da clula A1. Clique em OK. O Excel executa a consulta e dentro de alguns instantes os dados sero exibidos na
planilha, conforme indicado na Figura 2.69:
Figura 2."+ - ?esultados da consulta5 retornados para o Excel.
15. Observe que so retornados apenas os registros para Brasil/Rio de Janeiro, ou seja, exatamente os valores digitados nos parmetros
da consulta. Voc pode atualizar a consulta utilizando o comando Dados -> Atualizar dados. Cada vez que voc usar este comando, ser
solicitado o nome de um Pas e de uma Cidade. A consulta executada e so retornados ao Excel, apenas os registros que atendem os
valores digitados nos parmetros.
16. Salve a planilha com o nome de $%er&/&io 24'%lsT na pasta C:\ExcelAvanado.
17. Feche o Microsoft Excel.
MDULO !
Lio 01 Tabelas Dinmicas - Introduo
Lio 02 Tabelas Dinmicas - Conceito e Apresentao
Lio 03 Tabelas Dinmicas - um exemplo para comear
Lio 04 Tabelas Dinmicas - Descobrindo o poder
Lio 05 Tabelas Dinmicas - Mais sobre filtros bsicos
Lio 06 Tabelas Dinmicas - mltiplos campos de Coluna
Lio 07 Tabelas Dinmicas - mltiplos campos de Linha
Lio 08 Tabelas Dinmicas - Dois Exerccios Propostos.
Lio 09 Tabelas Dinmicas - Resoluo do Exerccio 01
Lio 10 Tabelas Dinmicas - Resoluo do Exerccio 02
Lio 11 Tabelas Dinmicas - Seleo Estruturada
Lio 12 Tabelas Dinmicas - O Recurso de AutoFormatao
Lio 13 Classificao e Formatao de Clulas Vazias
Lio 14 Tabelas Dinmicas - Mais opes de configurao
Lio 15 Grficos Dinmicos - Conceitos e um exemplo simples
Lio 16 Grficos Dinmicos - Formataes e Alterao de Tipo
Lio 17 Alterando os campos que compem o grfico
Lio 18 Exerccios propostos - Tabelas Dinmicas
Lio 19 Mais exerccios com Tabelas Dinmicas e Grficos Dinmicos
Lio 01: 6a8elas Din=micas - Introduo
Neste mdulo aprenderemos a trabalhar com Tabelas Dinmicas. Essa uma ferramenta muito poderosa, e de fcil utilizao, para
anlise de dados e tomada de deciso. Com o uso de Tabelas Dinmicas podemos, facilmente, obter mltiplas vises do mesmo conjunto
de dados. As tabelas dinmicas do Excel so conhecidas como: Relatrio de Tabelas Dinmicas.
Gabelas #inR!i&as , :iso Yeral:
Um relatrio de tabela dinmica uma tabela interativa que voc pode usar para resumir rapidamente grandes quantidades de dados.
Voc pode girar suas linhas e colunas para ver resumos diferentes dos dados de origem, filtrar os dados por meio da exibio de pginas
diferentes ou exibir os detalhes de reas de interesse. Considere o exemplo da Figura 3.1:
Figura 3.1 - Um exemplo simples de relatPrio de ta/ela dinOmica.
Um exemplo de um relatrio de tabela dinmica simples. Os dados de origem esto na lista esquerda. Nesse exemplo so exibidos os
totais de vendas trimestrais por produto e filtrados para uma determinada categoria. Por exemplo, na Figura 3.1, esto sendo exibidos os
totais para a categoria Esporte, a qual tem os produtos Golfe e Tnis, bem com o total geral para essa categoria. Poderamos selecionar
uma outra categoria e o Excel, rapidamente, filtraria apenas os produtos daquela categoria e recalcularia os totais e o total geral.
Tambm poderamos filtrar as ventas para um nico trimestre, selecionando o respectivo trimestre na lista de trimestres. Esse apenas
um pequeno exemplo dos relatrios dinmicos que podem ser construdos com o uso de Tabelas Dinmicas. Nesse mdulo veremos
diversos exemplos prticos do uso de tabelas dinmicas.
Suando usar u! relat;rio de tabela dinR!i&a:
Use um relatrio de tabela dinmica quando voc desejar comparar totais relacionados, especialmente quando voc tiver uma longa lista
de valores a serem resumidos/totalizados e desejar comparar vrios fatos sobre cada valor. Use relatrios de tabela dinmica quando
desejar que o Microsoft Excel faa a classificao, a subtotalizao e a totalizao por voc. No exemplo acima, voc pode facilmente ver
como as vendas de artigos de golfe no terceiro trimestre, na clula F5, superaram as vendas para outro esporte ou trimestre, ou as
vendas totais globais. Como um relatrio de tabela dinmica interativo, voc ou outros usurios podem alterar a exibio dos dados
para ver mais detalhes ou calcular resumos diferentes.
Criar u! relat;rio de tabela dinR!i&a:
Para criar um relatrio de tabela dinmica, usaremos o Assistente de tabela dinmica e grfico dinmico como um guia para localizar e
especificar os dados de origem que voc desejar para analisar e criar a estrutura do relatrio. Voc pode, em seguida, usar a barra de
ferramentas Tabela dinmica para organizar os dados dentro dessa estrutura. Aprenderemos a criar relatrios de tabela dinmica a partir
de dados de fontes externas, como por exemplo, dados de um banco de dados do Microsoft Access.
Nota: No Mdulo 2 foram apresentadas informaes detalhadas sobre como acessar dados externos, inclusive utilizando o Microsoft
Query para definir critrios de pesquisa, fazer clculos e definir parmetros.
Gi"os de relat;rios de tabela dinR!i&a:
Um relatrio de tabela dinmica padro se assemelha ao do exemplo da Figura 3.1. Voc tambm pode exibir um relatrio de tabela
dinmica no formato recuado, para visualizar todos os valores de resumo do mesmo tipo em uma coluna. Voc pode criar um relatrio de
grfico dinmico para visualizar os dados graficamente. Voc tambm pode tornar um relatrio de tabela dinmica disponvel na Web
usando uma lista de tabela dinmica em uma pgina da Web. Quando voc publica um relatrio de tabela dinmica do Excel em uma lista
de tabela dinmica, outras pessoas podem visualizar e interagir com os dados a partir de seus navegadores da Web.
Lio 02: 6a8elas Din=micas - &onceito e +presentao
Nessa lio vamos apresentar os diversos elementos que compem um tabela dinmica, desde a origem dos dados, passando pelo
formato de apresentao, at os detalhes sobre cada elemento que compe uma Tabela Dinmica no Excel.
Gabelas #inR!i&as , #ados de -rige!:
#ados de orige! de u! relat;rio de tabela dinR!i&a: Voc pode criar um relatrio de tabela dinmica a partir de uma lista do
Microsoft Excel, de um banco de dados externo, de vrias planilhas do Excel ou de outro relatrio de tabela dinmica. Os dados de
origem da Figura 3.2 sero usados no restante dos relatrios de exemplo desta lio para que voc possa comparar apresentaes
distintas dos mesmos dados.
Co!o &on+igurar os dados de orige!: Os dados de origem de listas do Excel e da maioria dos bancos de dados so organizados em
linhas e colunas. Seus dados de origem devem apresentar fatos semelhantes na mesma coluna. No exemplo da Figura 3.2, a regio em
que uma venda ocorre sempre se encontra na coluna E, o valor da venda encontra-se na coluna D e assim por diante.
Figura 3.2 - Fonte de dados para os exemplos dessa li-.o.
#ados de orige! -L(4 1-n Line (nalQti&al 4ro&essing3: Os bancos de dados OLAP organizam grandes quantidades de dados em
dimenses e nveis em vez de linhas e colunas. Voc pode usar relatrios de tabela dinmica para exibir e analisar dados de bancos de
dados OLAP. Como o servidor OLAP, no o Excel, calcula os valores resumidos do relatrio de tabela dinmica, a recuperao de dados de
um banco de dados OLAP mais eficiente e voc pode analisar quantidades maiores de dados do que em outros tipos de bancos de
dados. O Excel tambm permite que voc crie cubos OLAP a partir de dados de bancos de dados externos e salve os arquivos de cubo
para que possa trabalhar off-line com os dados.
Nota: -L(4 14ro&essa!ento (nal/ti&o -n,line3: Tecnologia de banco de dados que foi otimizada para consultas e relatrios, em vez
de transaes de processamento. Os dados OLAP so hierarquicamente organizados e armazenados em cubos em vez de tabelas. O
Microsoft SQL Server OLAP Services um exemplo de produto que fornece os servios de dados OLAP. O uso de cubos OLAP muito
comum em sistemas de BI - Business Intelligence.
Gabelas #inR!i&as , -rgani<ao dos #ados:
Ca!"os e itens: Um relatrio de tabela dinmica contm campos, cada um deles correspondente a uma coluna (ou dimenso OLAP) dos
dados de origem e resume vrias linhas de informaes dos dados de origem. Os campos do relatrio de tabela dinmica apresentam
uma lista dos itens de dados das linhas ou colunas. As clulas de interseo entre as linhas e colunas exibem dados resumidos referentes
aos itens situados no topo da coluna e esquerda da linha. Considere o exemplo da Figura 3.3:
Figura 3.3 - 6esse relatPrio de ta/ela dinOmica5 o campo Produto cont:m os itens 3atic4nios e arnes.
Ca!"os de dados e &9lulas: Um campo de dados, como Total de vendas, fornece os valores resumidos no relatrio de tabela dinmica.
No exemplo, a clula C6 apresenta o total de vendas de laticnios de Amaral em maio - ou seja, a soma das cifras de vendas de cada
linha dos dados de origem referentes ao ms de maio, onde Amaral era o vendedor e laticnios, a categoria de produto.
=un6es de resu!o: Para resumir os valores dos campos de dados, os relatrios de tabela dinmica utilizam funes de resumo como
Soma, Contagem ou Mdia. Essas funes tambm apresentam automaticamente os subtotais e totais gerais se voc optar por exibi-los.
Neste exemplo, os dados da coluna Vendas da lista de origem apresentam um resumo de Soma, indicando os subtotais referentes aos
meses e totais gerais referentes s linhas e colunas. No caso de dados de origem OLAP, o servidor OLAP fornece funes de resumo pr-
calculadas. Nas prximas lies aprenderemos como usar totais e subtotais em um relatrio de tabela dinmica.
:isuali<ao de detalhes: Na maior parte dos relatrios de tabela dinmica, possvel ver as linhas de detalhes baseadas nos dados de
origem que compem o valor resumido de uma determinada clula de dados. Os dados de origem OLAP no so organizados em linhas
que possam ser visualizadas dessa forma, mas possvel alterar o nvel de detalhes exibidos no relatrio de tabela dinmica se ela for
baseada em dados de origem OLAP. Nas prximas lies aprenderemos como controlar a quantidade de detalhes exibida em um relatrio
de tabela dinmica.
(lterao do laQout: Ao arrastar um boto de campo para outra parte do relatrio de tabela dinmica, voc poder visualizar seus
dados de vrias maneiras e calcular valores resumidos distintos. Por exemplo, voc poder ver os nomes dos vendedores nas colunas em
vez de v-los nas linhas. Nas prximas lies aprenderemos como alterar o layout do relatrio ao arrastar um campo ou item. Na Figura
3.4 temos um exemplo onde o campo Vendedor arrastado para uma nova posio no relatrio de tabela dinmica:
Figura 3.4 - ampo Gendedor sendo arrastado para orienta-.o em colunas
Gabelas #inR!i&as , $le!entos de u! Celat;rio de Gabela #inR!i&a:
Considere o exemplo da Figura 3.5:
Figura 3.5 - Um exemplo de um relatPrio de ta/ela dinOmica padr.o.
Ca!"os de linha: Campos dos dados de origem subjacentes aos quais atribuda uma orientao de linha em um relatrio de tabela
dinmica. No exemplo da Figura 3.5, Produto e Vendido por so campos de linha. Um relatrio de tabela dinmica que tem mais de um
campo de linha tem um campo de linha interno (Vendido por, no exemplo), o que est mais prximo da rea de dados. Os outros campos
de linha so denominados campos de linha externos. Campos de linha internos e externos tm atributos diferentes. Itens no campo mais
externo so exibidos apenas uma vez, mas os itens no restante dos campos so repetidos conforme necessrio.
Ca!"o de &oluna: Um campo ao qual atribuda uma orientao de coluna em um relatrio de tabela dinmica. No exemplo anterior,
Trimestres um campo de coluna com dois itens, Trim2 e Trim3. Um relatrio de tabela dinmica pode ter vrios campos de coluna do
mesmo modo que pode ter vrios campos de linha.
te!: Uma subcategoria, ou membro, de um campo de tabela dinmica. No exemplo anterior, Laticnios e Carne so itens do campo
Produto. Itens representam entradas isoladas no mesmo campo, ou coluna, nos dados de origem. Os itens aparecem como rtulos de
linhas ou colunas ou nas listas suspensas dos campos de pgina.
Ca!"o de "Agina: Um campo ao qual atribuda uma orientao de pgina, ou filtro. No exemplo, Regio um campo de pgina que
voc pode usar para filtrar o relatrio por regio. Com o campo Regio, voc pode exibir dados resumidos apenas para a regio Leste,
apenas para a regio Oeste, ou para outras regies. Quando voc clica em um item diferente em um campo de pgina, o relatrio de
tabela dinmica inteiro se altera para exibir apenas os dados resumidos associados quele item.
te! de &a!"o de "Agina: Cada entrada ou valor isolado do campo, ou coluna, na lista ou tabela de origem se transforma em um item
na lista de campos de pgina. No exemplo, Leste o item atualmente selecionado para o campo de pgina Regio, e o relatrio de tabela
dinmica exibe os dados resumidos apenas para a regio Leste.
Ca!"o de dados: Um campo de uma lista de origem ou de um banco de dados de origem que contm dados a serem resumidos. No
exemplo, Soma das vendas um campo de dados que resume as entradas do campo, ou da coluna, Vendas nos dados de origem. No
exemplo do relatrio em formato recuado, esse campo denominado Vendas, em vez de Soma das vendas.
Um campo de dados geralmente resume dados numricos, como estatsticas e valores de vendas, mas os dados subjacentes tambm
podem ser texto. Por padro, o Microsoft Excel resume dados de texto em relatrios de tabela dinmica usando a funo de resumo
Contagem e resume dados numricos usando Soma. Em relatrios de tabela dinmica baseados em dados de origem OLAP, voc no
pode alterar a funo de resumo para um campo: funes de resumo so selecionadas pelo administrador de sistema OLAP e pr-
calculadas no servidor OLAP.
Lrea de dados: A parte de um relatrio de tabela dinmica que contm dados de resumo. As clulas da rea de dados mostram dados
resumidos para os itens nos campos de linha e coluna. Cada valor na rea de dados representa um resumo de dados dos registros de
origem, ou linhas.
No exemplo da Figura 3.5, o valor na clula C6 um resumo das vendas de laticnios de Pereira no segundo trimestre - ou seja, um
resumo dos valores de vendas para cada registro, ou linha, nos dados de origem que contm os itens laticnios, Pereira e Trim2. No
exemplo de relatrio em formato recuado, essa informao mostrada na clula D7.
?eta sus"ensa de &a!"o: A seta ao lado direito de cada campo. Clique nessa seta para selecionar os itens que voc deseja mostrar.
Em relatrios de tabela dinmica baseados em dados de origem de bancos de dados OLAP, a seta de campo aparece apenas no campo de
nvel mais alto em uma dimenso, e voc pode selecionar itens de nveis diferentes no campo. Clicar na seta suspensa para um campo
Ano pode mostrar uma lista de valores semelhante a indicada na Figura 3.6:
Figura 3." - Um exemplo de uma lista suspensa para um campo de dimens.o O3,P.
O ano 1998 est oculto. Dentro de 1999, Trim1 est oculto. As marcas de seleo duplas nas caixas 1999 e Trim2 indicam que alguns ou
todos os itens de nvel inferior de 1999 e Trim2 esto exibidos. A marca de seleo simples na caixa 2000 indica que 2000 est
atualmente selecionado para exibio.
ndi&ador de e%"anso: O indicador ou ao lado dos itens de um campo. Clique no indicador de um item para mostrar ou ocultar
detalhes do item.
Lio 0!: 6a8elas Din=micas - um e3emplo para comear
Nessa lio vamos criar o nosso primeiro Relatrio de Tabela Dinmica. Vamos utilizar, como fonte de dados, uma lista de informaes
sobre vendas, de uma planilha do Excel. A lista composta dos seguintes campos:
Nmero do Pedido
Nome da Empresa
Data do Pedido
Cidade de Destino
Pas de Destino
Ano
Trimestre
Vendas
A planilha composta de 830 registros. Parte dos dados exibida na Figura 3.7.
Figura 3.& - Os dados para o nosso primeiro exemplo de Ta/ela *inOmica.
Na Lista da Figura 3.7 temos o que chamamos de uma listagem "bruta", ou seja, sem nenhuma forma de totalizao, cruzamento ou
agrupamento. Com base na listagem "bruta", podemos fazer algumas anlises e perguntas, tais como:
Qual o total de vendas por trimestre para o ano de 1997?
Qual o total de Vendas para cada empresa, no segundo trimestre de 1996?
Alm de responder a essas perguntas (e outras tantas), seria importante ter uma ferramenta que nos permitisse, rapidamente alterar um
ou mais critrios. Por exemplo, com um simples clique de mouse eu poderia passar a exibir o total de vendas trimestrais para o ano de
1997, ao invs de para o ano de 1996. Tudo isso possvel com o uso de Tabelas Dinmicas???
GB#- ??- $ 5BG- 5(?ZZZ
Ento vamos pratica, criando o nosso primeiro Relatrio de Tabela Dinmica.
$%e!"lo 3,1: Usar os dados da planilha Modulo 3 - Exemplo 1.xls , da pasta C:\ExcelAvanado, para criar um relatrio dinmico, onde
possamos analisar, facilmente, o total de vendas por Cliente, por trimestre. Usar o campo Ano como Campo de pgina, para que possa
ser feita a Filtragem das vendas por ano.
1. Abra o Microsoft Excel.
2. Abra a planilha C:\ExcelAvanado\Modulo 3 - Exemplo 1.xls.
3. Selecione o comando #ados ,. Celat;rio de tabela e grA+i&o dinR!i&os'''
4. Ser aberto o Assistente de tabela dinmica e grfico dinmico. Na primeira etapa do assistente devemos informar qual a fonte de
dados que ser utilizada como base para a tabela dinmica. No nosso exemplo usaremos os dados da lista na prpria planilha do Excel.
Certifique-se de que a opo Banco de dados ou lista do Microsoft Excel esteja selecionada, conforme indicado na Figura 3.8:
Figura 3.) - *e(inindo a (onte de dados.
5. Clique no boto Avanar para seguir para a prxima etapa do assistente.
6. Nessa etapa o Excel pergunta onde esto os dados que faro parte do relatrio de tabela dinmica. Observe que, por padro, ele j
sugere toda a faixa onde est a lista de dados, conforme indicado na Figura 3.9. Caso seja necessrio voc pode alterar a faixa de
dados.
Figura 3.+ - *e(inindo a (onte de dados.
7. Clique no boto Avanar para seguir para a etapa final do assistente.
8. Nessa etapa voc define se o relatrio de tabela dinmica ser construdo na prpria planilha onde esto os dados, ou em uma nova
planilha. Selecione a opo Nova planilha, conforme indicado na Figura 3.10 e clique em OK.
Figura 3.1! - Etapa (inal do assistente.
9. Voc estar de volta ao Excel. Nesse momento o Excel exibe uma planilha com as reas bem definidas da tabela dinmica e tambm
exibe a barra de ferramentas Tabela dinmica. Nessa barra esto os campos da fonte de dados. Para construir a tabela dinmica, basta
arrastar cada campo para a respectiva posio.
10. Na Figura 3.11 temos a tela inicial, onde os campos ainda no foram arrastados para as respectivas posies no relatrio de tabela
dinmica.
Figura 3.11 - ,rraste os campos para as respecti%as posi-Ies5 na ta/ela dinOmica.
11. No nosso exemplo vamos comear pelo campo Ano. Esse campo ser um item de pgina, ou seja, ao selecionarmos um valor para o
ano, o relatrio ser filtrado para exibir o total de vendas apenas para o ano selecionado.
12. Arraste o campo Ano para a rea onde est escrito: Solte campos de pgina aqui.
13. O campo Nome da Empresa ir formar as linhas do nosso relatrio, ou seja, para cada cliente diferente, teremos uma linha diferente
no relatrio.
14. Arraste o campo Nome da Empresa para a rea onde est escrito: Solte campos de linha aqui.
15. O campo Trimestre ir formar as colunas do nosso relatrio, ou seja, para cada trimestre diferente, teremos uma coluna diferente no
relatrio.
16. Arraste o campo Trimestre para a rea onde est escrito: Solte campos de coluna aqui.
17. Os itens do nosso relatrio sero formados pelas vendas.
18. Arraste o campo Vendas para a rea onde est escrito: Solte itens de dados aqui.
19. Observe que, rapidamente, o Excel calcula o total de vendas por Empresa e por trimestre, conforme indicado na Figura 3.12:
Figura 3.12 - Total por liente e por Trimestre.
20. Observe que tambm calculado o Total Global, com a soma dos quatro trimestres - coluna F, bem como o Total Global por cliente -
linha 94.
21. Mas onde est o dinamismo do relatrio de tabela dinmica?? Bem, mantenha a planilha aberta e descobriremos isso na Prxima
Lio.
Lio 0": 6a8elas Din=micas - Desco8rindo o oder
Nessa lio vamos trabalhar com a Tabela Dinmica criada na lio anterior. Caso voc tenha fechado essa planilha, abra-a novamente, a
partir do arquivo C:\ExcelAvanado\Modulo 3 - Exemplo 1.xls. Vamos aprender a filtrar os dados usando o campo de pgina e tambm os
campos de coluna e de linha.
$%e!"lo 3,2: Usar o campo de pgina - Ano, e o campo de linha - Nome da empresa e o campo de coluna - Trimestre, para aplicar
filtros Consulta Dinmica criada na lio anterior.
1. Abra a lista Ano. Observe que so exibidos os valores para os anos em que existem pedidos, conforme indicado na Figura 3.13:
Figura 3.13 - , lista de %alores do campo de p=gina - ,no.
2. Clique no valor 1997 e depois clique em OK. Observe que os valores da tabela dinmica so filtrados para exibir apenas os totais
correspondentes aos pedidos de 1997. Compare os valores da Figura 3.14 (somente pedidos para 1997) com os valores da Figura 3.12
(todos os pedidos).
Figura 3.14 - Total de %endas somente para o ano de 1++&.
3. Agora j tivemos, digamos assim, uma pequena idia do que possvel de ser feito com tabelas dinmicas. Com um simples clicar de
mouse, aplicamos um filtro para o ano de 1997.
4. Vamos continuar testando as capacidades de filtragem da tabela dinmica.
5. Abra a lista Trimestre. Observe que so exibidos os valores para os trimestres do ano de 1997 nos quais existem vendas. Cabe
lembrar que estamos com o filtro para o ano de 1997 ainda ativo. Caso no fossem exibidos os quatro trimestres na lista, isso significaria
que no houve vendas para os trimestres que no estivessem sendo exibidos. Para o ano de 1997 existem vendas para todos os
trimestres, conforme indicado na Figura 3.15:
Figura 3.15 - ,plicando um (iltro por trimestre.
6. Vamos supor que voc queira exibir apenas as vendas para o segundo semestre de 1997 (Trim3 e Trim4). Desmarque o Trimestre 1 e
o Trimestre 2. Clique em OK. Observe que os valores da tabela dinmica so filtrados para exibir apenas os totais correspondentes aos
pedidos do segundo trimestre de 1997. Compare os valores da Figura 3.14 (somente pedidos para 1997) com os valores da Figura 3.16
(somente os pedidos para o segundo semestre de 1997).
Figura 3.1" - Total de %endas somente para o ano de 1++&.
7. Mantenha a planilha Modulo 3 - Exemplo 1.xls aberta.
Lio 0#: 6a8elas Din=micas - Mais so8re 0iltros 8/sicos
Nessa lio vamos continuar trabalhando com a Tabela Dinmica criada na Lio 3 e alterada na Lio 4. Caso voc tenha fechado essa
planilha, abra-a novamente, a partir do arquivo C:\ExcelAvanado\Modulo 3 - Exemplo 1.xls. Vamos aprender a filtrar os dados usando o
campo de pgina e tambm os campos de coluna e de linha.
$%e!"lo 3,3: Voltar a exibir o total de vendas para todos os pedidos, ou seja, retirar os filtros aplicados na Lio 4 e aplicar novos
filtros, por cliente. Adicionar os campos Pas de Destino e Cidade de Destino como campos de pgina. Utilizaremos esses campos para
aplicar dois ou mais critrios de filtragem, como por exemplo: Pedidos para o Brasil, cidade de So Paulo no ano de 1998.
1. Abra a lista Ano, clique na opo Tudo e depois clique em OK. Com isso estamos removendo o filtro para o ano de 1997.
2. Abra a lista Trimestre e marque os quatro trimestres, conforme indicado na Figura 3.17 e clique em OK:
Figura 3.1& - Total de %endas somente para o ano de 1++&.
3. Agora estamos sem nenhum filtro aplicado Tabela Dinmica. O prximo passo ser adicionar os campos Pas de Destino e Cidade de
Destino, como campos de pgina.
4. Parra arrastar os campos preciso que a barra de ferramentas Tabela Dinmica, indicada na Figura 3.18 esteja sendo exibida:
Figura 3.1) - , Carra de Ferramentas Ta/ela *inOmica.
Nota: Se a barra de ferramentas Tabela Dinmica no estiver sendo exibida, selecione o comando: $%ibir ,. 0arra de +erra!entas ,.
Gabela dinR!i&a .
5. Clique no campo Pas de Destino e arraste-o para a rea de campos de pgina, ao lado do campo Ano.
6. Clique no campo Cidade de Destino e arraste-o para a rea de campos de pgina, ao lado do campo Pas de Destino.
7. A sua planilha deve estar conforme indicado na Figura 3.19:
Figura 3.1+ - 6o%os campos adicionados como campos de p=gina.
8. Agora podemos aplicar filtros por Ano, por Pas de Destino e por Cidade de Destino. Vamos iniciar filtrando apenas o total de vendas
para os pedidos do Brasil.
9. Abra a lista Pas de Destino. Observe que so exibidos os valores para todos os pases para os quais existem pedidos, conforme
indicado na Figura 3.20:
Figura 3.2! - , lista de %alores do campo de p=gina - Pa4s de *estino.
10. Clique em Brasil e depois clique em OK. Observe que os valores da tabela dinmica so filtrados para exibir apenas os totais
correspondentes aos pedidos do Brasil.
11. Agora, dentro do Brasil, vamos filtrar apenas o total de vendas para o ano de 1997, ou seja, ser calculado o total de vendas, por
trimestre, para o ano de 1997.
12. Abra a lista Ano. Observe que so exibidos os valores para os anos em que existem pedidos.
13 Clique no valor 1997 e depois clique em OK. Observe que os valores da tabela dinmica so filtrados para exibir apenas os totais
correspondentes aos pedidos de 1997 para o Brasil, conforme indicado na Figura 3.21.
Figura 3.21 - Total de %endas para o Crasil no ano de 1++&.
14. Observe que no incio da planilha so exibidos os filtros que esto sendo aplicados. Pas de destino Brasil e Ano = 1997.
15. Vamos filtrar um pouco mais. Vamos definir que seja exibido o total de vendas, por trimestre, apenas para a Cidade de So Paulo,
mantendo os critrios anteriores, ou seja, ficaremos com Brasil - So Paulo - 1997.
16. Abra a lista Cidade de Destino. Observe que so exibidos os valores para todos as cidades para as quais existem pedidos. Clique em
So Paulo e depois em OK. Pronto, ser exibido o total de vendas apenas para os pedidos que atendem aos trs critrios: Brasil - So
Paulo - 1997.
17. Observe que com o uso e tabelas dinmicas "extremamente" simples definir e alterar critrios de filtragem. De uma maneira rpida
e fcil, podemos obter diferentes vises do mesmo conjunto de dados.
18. Mantenha essa planilha aberta, pois iremos utiliza-la na prxima lio.
Lio 0$: 6a8elas Din=micas - mltiplos campos de coluna
Nos exemplos das Lies 04, 05 e 06, apresentamos uma tabela dinmica com um ou mais campos de pgina, porm com um nico
campo para colunas (Trimestre) e um nico campo para as linhas (Nome da Empresa).
Nessa lio aprenderemos a trabalhar com dois ou mais campos de coluna. Por exemplo, iremos alterar a tabela dinmica da lio
anterior, retirando o campo Ano da rea de campos de pgina e arrastando ele para a rea de campos de coluna. Vamos fazer isso
atravs de um exemplo prtico:
$%e!"lo 3,4: Voltar a exibir o total de vendas para todos os pedidos, ou seja, retirar os filtros aplicados na Lio 5. Em seguida vamos
arrastar o campo Ano da rea de Campos de pgina para a rea de campos de coluna.
1. Abra a lista Ano, clique na opo Tudo e depois clique em OK. Com isso estamos removendo o filtro para o campo Ano.
2. Abra a lista Pas de Destino, clique na opo Tudo e depois clique em OK. Com isso estamos removendo o filtro para o campo Pas de
Destino.
3. Abra a lista Cidade de Destino, clique na opo Tudo e depois clique em OK. Com isso estamos removendo o filtro para o campo
Cidade de Destino.
4. Abra a lista Trimestre e marque os quatro trimestres, com isso estamos removendo o filtro para o campo Trimestre.
5. Agora estamos sem nenhum filtro aplicado Tabela Dinmica. O prximo passo ser arrastar o campo Ano, da rea de campos de
pgina para a rea de campos de coluna, ao lado esquerdo (ou seja: antes do) do campo trimestre.
6. Voc pode arrastar o campo Ano diretamente da lista Ano, a partir da rea de campos de pgina ou a partir da barra de ferramentas
Tabela Dinmica.
Nota: Se a barra de ferramentas Tabela Dinmica no estiver sendo exibida, selecione o comando: $%ibir ,. 0arra de +erra!entas ,.
Gabela dinR!i&a . Ao arrastar a partir da barra de ferramentas, o campo ser retirado da rea de campos de pgina e includo na rea
de campos de coluna.
7. Arraste o campo Ano para a rea de campos de coluna, ao lado esquerdo do campo trimestre. Para que o campo Ano fique ao lado
esquerdo do campo Trimestre, basta arrastar o campo Ano e solt-lo em cima do campo Trimestre. Na Figura 3.22 temos o campo Ano j
como um campo do tipo Coluna.
8. Observe que o Excel, rapidamente, refaz toda a disposio da Tabela Dinmica. Agora temos os totais de vendas, por cliente, por
trimestre e por ano. Por exemplo, na coluna B temos o total de vendas por cliente, para o terceiro trimestre de 1996, na coluna C temos
o total de vendas por cliente, para o quarto trimestre de 1996, na coluna D temos o total geral de vendas por cliente para o ano de 1996,
na coluna E temos o total de vendas por cliente, para o primeiro trimestre de 1997 e assim por diante.
9. Observe como uma simples operao de arrastar e soltar, nos fornece uma nova viso dos dados, com subtotais por trimestre, por ano
e tambm o total geral com a soma de todas as vendas, para cada cliente (coluna M).
Figura 3.22 - O ampo ,no na =rea de campos de coluna.
10. Voc pode continuar usando a lista Ano (agora como um campo de Coluna) para filtrar os dados. Por exemplo, abra a lista Ano, deixe
selecionado apenas 1998 e depois clique em OK. Observe que somente apresentado o total de vendas, por cliente, para os trimestres
de 1998, conforme indicado na Figura 3.23. Observe que tambm exibido o total por ano e o total geral.
Figura 3.23 - Filtro para o ano de 1++).
11. Mantenha essa planilha aberta, pois iremos utiliz-la na prxima lio.
Lio 0%: 6a8elas Din=micas - mltiplos campos de lin>a
Nos exemplo da Lio anterior aprendemos a adicionar mais um campo na rea de campos de coluna. Com isso obtivemos o total de
vendas por cliente, por trimestre, separadamente para cada ano.
Nessa lio vamos avanar um pouco mais. Vamos alterar os campos que formam as linhas da tabela dinmica. At agora utilizamos o
campo Nome da Empresa como campo para formar as linhas da tabela dinmica. Nesse lio vamos alterar a estrutura da tabela
dinmica, iremos adicionar os campos Pas de Destino e Cidade de Destino e depois remover o campo Nome da Empresa, da rea de
campos de linha. Com isso teremos o total por Pas, dentro do pas por cidade, sendo exibidos os totais por trimestre e por ano. A melhor
maneira de entender a tabela dinmica proposta v-la em ao, na prtica.
$%e!"lo 3,5: Alterar a tabela dinmica criada na lio anterior , adicionando os campos Pas de Destino e Cidade de Destino como
campos de linha e deslocando o campo Nome da Empresa para a rea de campos de pgina.
1. Arraste o campo Pas de Destino, a partir da barra de ferramentas Tabela Dinmica para a rea de campos de linha, ao lado esquerdo
do campo Nome da Empresa.
Nota: Se a barra de ferramentas Tabela Dinmica no estiver sendo exibida, selecione o comando: $%ibir ,. 0arra de +erra!entas ,.
Gabela dinR!i&a . Ao arrastar a partir da barra de ferramentas, o campo ser retirado da rea de campos de pgina e includo na rea
de campos de coluna.
2. Arraste o campo Cidade de Destino, a partir da barra de ferramentas Tabela Dinmica para a rea de campos de linha, ao lado direito
do campo Pas de Destino.
3. Arraste o campo Nome da Empresa para a rea de Campos de Pgina. A sua planilha deve estar conforme indicado na Figura 3.24:
Figura +.22 - #ampos &a's de <estino e #idade de <estino como campos de linha.
4. Observe que o Excel, rapidamente, refaz toda a disposio da Tabela Dinmica. Agora temos os totais de vendas, por Pas de Destino,
dentro de cada pas por Cidade de Destino e, para cada Cidade de Destino por trimestre e por ano.
5. Abra a lista Ano e deixe marcada apenas a opo 1997. Voc deve obter os resultados indicados na Figura 3.25:
Figura +.28-6esultados segmentados por &a's de <estino e por #idade de <estino.
6. Por exemplo, na Clula C10 temos o total de vendas para a cidade Brandenburg para o primeiro trimestre de 1997. Na coluna G temos
o total de vendas para o ano de 1997, por Cidade de Destino. Na linha 19 esto os totais de vendas para a Alemanha. Observe que
exibido o nome do Pas de Destino uma nica vez, ao lado uma lista das cidades do Respectivo pas e em seguida os totais de vendas
trimestrais, por ano, para cada uma das cidades. Ao final da lista de Cidades exibido o total geral para o pas.
7. Observe como uma simples operao de arrastar e soltar, nos fornece uma nova viso dos dados, com subtotais por Pas, por Cidade,
trimestre, por ano e tambm o total geral com a soma de todas as vendas por Pas, Cidade, Trimestre e Ano.
8. Salve e Feche a planilha Modulo 3 - Exemplo 1.xls.
Com esses exemplos j comeamos a perceber o quo poderosa a ferramenta de tabelas dinmicas, com a qual podemos, sem maiores
dificuldades, fazer anlise dos dados. Com um simples arrastar e soltar obtemos vises diferentes do mesmo conjunto de dados.
Na prxima lio proporei dois exerccios, os quais sero resolvidos, passo a passo, nas lies 9 e 10 .
Lio 0(: 6a8elas Din=micas - Dois 23erc?cios ropostos
$%er&/&io 01: Abra a planilha Modulo 3 - Exerccio 01.xls e, a partir dos dados dessa planilha, crie o seguinte relatrio de tabela
dinmica:
Temos o total de vendas por funcionrio por pas de destino, com a possibilidade de aplicar filtros por ano e/ou trimestre.
$%er&/&io 02: Abra a planilha Modulo 3 - Exerccio 02.xls e, a partir dos dados dessa planilha, crie o seguinte relatrio de tabela
dinmica:
Nessa tabela dinmica temos a contagem do nmero de pedidos por funcionrio por trimestre e ano. Tambm existe a possibilidade de
aplicar filtros por Pas de Destino e por Cidade de Destino.
Tente fazer os exerccios propostos, identificando quais os campos de coluna, quais os campos de linha e quais os campos de pgina. Nas
prximas duas lies vamos apresentar a resoluo, passo-a-passo, desses exerccios.
Lio 0*: 6a8elas Din=micas - @esoluo do 23erc?cio 01
Nessa lio vamos apresentar a resoluo, passo-a-passo para o Exerccio 01, proposto na Lio 08 .
4ara &onstruir a tabela dinR!i&a "ro"osta no $%er&/&io 01 +aa o seguinte:
1. Abra o Microsoft Excel.
2. Abra a planilha C:\ExcelAvanado\ Modulo 3 - Exerccio 01.xls.
3. Selecione o comando #ados ,. Celat;rio de tabela e grA+i&o dinR!i&os'''
4. Ser aberto o Assistente de tabela dinmica e grfico dinmico. Na primeira etapa do assistente devemos informar qual a fonte de
dados que ser utilizada como base para a tabela dinmica. No nosso exemplo usaremos os dados da lista na prpria planilha do Excel.
Certifique-se de que a opo Banco de dados ou lista do Microsoft Excel esteja selecionada.
5. Clique no boto Avanar para seguir para a prxima etapa do assistente.
6. Nessa etapa o Excel pergunta onde esto os dados que faro parte do relatrio de tabela dinmica. Observe que, por padro, ele j
sugere toda a faixa onde est a lista de dados, conforme indicado na Figura 3.26. Caso seja necessrio voc pode alterar a faixa de
dados.
Figura 3.2" - *e(inindo a (onte de dados.
7. Clique no boto Avanar para seguir para a etapa final do assistente.
8. Nessa etapa voc define se o relatrio de tabela dinmica ser construdo na prpria planilha onde esto os dados, ou em uma nova
planilha. Selecione a opo Nova planilha.
9. Voc estar de volta ao Excel. Nesse momento o Excel exibe uma planilha com as reas bem definidas da tabela dinmica e tambm
exibe a barra de ferramentas Tabela dinmica. Nessa barra esto os campos da fonte de dados. Para construir a tabela dinmica, basta
arrastar cada campo para a respectiva posio.
10. Na Figura 3.27 temos a tela inicial, onde os campos ainda no foram arrastados para as respectivas posies no relatrio de tabela
dinmica.
Figura 3.2& - ,rraste os campos para as respecti%as posi-Ies5 na ta/ela dinOmica.
11. No nosso exemplo vamos comear pelo campo S Ano. Esse campo ser um item de pgina, ou seja, ao selecionarmos um valor para
o Ano, o relatrio ser filtrado para exibir o total de vendas apenas para o ano selecionado.
12. Arraste o campo S Ano para a rea onde est escrito: Solte campos de pgina aqui.
13. Agora vamos adicionar o campo S Trimestre. Esse campo ser mais um item de pgina, ou seja, ao selecionarmos um valor para o
Trimestre, o relatrio ser filtrado para exibir o total de vendas apenas para o Trimestre selecionado.
14. Arraste o campo S Trimestre para a rea onde est escrito: Solte campos de pgina aqui, abaixo do campo S Ano.
15. O campo Funcionrio ir formar as linhas do nosso relatrio, ou seja, para cada funcionrio teremos uma linha diferente no relatrio.
16. Arraste o campo Funcionrio para a rea onde est escrito: Solte campos de linha aqui.
17. O campo Pas de Destino ir formar as colunas do nosso relatrio, ou seja, para cada Pas diferente, teremos uma coluna diferente no
relatrio.
18. Arraste o campo Pas de Destino para a rea onde est escrito: Solte campos de coluna aqui.
19. Os itens do nosso relatrio sero formados pelas vendas.
20. Arraste o campo Vendas para a rea onde est escrito: Solte itens de dados aqui.
21. Observe que, rapidamente, o Excel calcula o total de vendas por Funcionrio e por Pas de Destino, conforme indicado na Figura
3.28:
Figura 3.2) - Total de %endas por Funcion=rio e por Pa4s de *estino.
22. Observe que tambm calculado o Total Global, com a soma do total de vendas por funcionrio e tambm por pas (linha 15).
23. Voc pode utilizar a lista S Ano e S Trimestre para filtrar os resultados obtidos, conforme descrito em lies anteriores.
24. Salve e feche a planilha Modulo 3 - Exerccio 01.xls.
Lio 10: 6a8elas Din=micas - @esoluo do 23erc?cio 02
Nessa lio vamos apresentar a resoluo, passo-a-passo para o Exerccio 02, proposto na Lio 08.
4ara &onstruir a tabela dinR!i&a "ro"osta no $%er&/&io 02 +aa o seguinte:
1. Abra o Microsoft Excel.
2. Abra a planilha C:\ExcelAvanado\ Modulo 3 - Exerccio 02.xls.
3. Selecione o comando #ados ,. Celat;rio de tabela e grA+i&o dinR!i&os'''
4. Ser aberto o Assistente de tabela dinmica e grfico dinmico. Na primeira etapa do assistente devemos informar qual a fonte de
dados que ser utilizada como base para a tabela dinmica. No nosso exemplo usaremos os dados da lista na prpria planilha do Excel.
Certifique-se de que a opo Banco de dados ou lista do Microsoft Excel esteja selecionada.
5. Clique no boto Avanar para seguir para a prxima etapa do assistente.
6. Nessa etapa o Excel pergunta onde esto os dados que faro parte do relatrio de tabela dinmica. Observe que, por padro, ele j
sugere toda a faixa onde est a lista de dados. Caso seja necessrio voc pode alterar a faixa de dados.
7. Clique no boto Avanar para seguir para a etapa final do assistente.
8. Nessa etapa voc define se o relatrio de tabela dinmica ser construdo na prpria planilha onde esto os dados, ou em uma nova
planilha. Selecione a opo No*a "lanilha .
9. Voc estar de volta ao Excel. Nesse momento o Excel exibe uma planilha com as reas bem definidas da tabela dinmica e tambm
exibe a barra de ferramentas Tabela dinmica. Nessa barra esto os campos da fonte de dados. Para construir a tabela dinmica, basta
arrastar cada campo para a respectiva posio.
10. No nosso exemplo vamos comear pelo campo Pas de Destino. Esse campo ser um item de pgina, ou seja, ao selecionarmos um
valor para o Pas, o relatrio ser filtrado para exibir nmero de pedidos apenas para o Pas selecionado.
11. Arraste o campo PasDeDestino para a rea onde est escrito: Solte campos de pgina aqui.
12. Agora vamos adicionar o campo Cidade de Destino. Esse campo ser mais um item de pgina, ou seja, ao selecionarmos um valor
para a Cidade, o relatrio ser filtrado para exibir o total de vendas apenas para a Cidade selecionada.
13. Arraste o campo Cidade de Destino para a rea onde est escrito: Solte campos de pgina aqui, abaixo do campo S Ano.
14. O campo Funcionrio ir formar as linhas do nosso relatrio, ou seja, para cada funcionrio teremos uma linha diferente no relatrio.
15. Arraste o campo Funcionrio para a rea onde est escrito: Solte campos de linha aqui.
16. O campo S Ano ir formar as colunas do nosso relatrio, ou seja, para cada Ano diferente, teremos uma coluna diferente no
relatrio.
17. Arraste o campo S Ano para a rea onde est escrito: Solte campos de coluna aqui.
18. O campo S Trimestre ir formar as colunas do nosso relatrio, ou seja, para cada Trimestre diferente, dentro de cada ano, teremos
uma coluna diferente no relatrio.
19. Arraste o campo S Trimestre para a rea onde est escrito: Solte campos de coluna aqui, ao lado direito do campo S Ano.
20. Os itens do nosso relatrio sero formados pelas Nmero do Pedido, ou seja, queremos que o Excel conte quantos nmeros de
pedidos diferentes existem em cada cruzament0: Funcionrio - Ano - Trimestre, ou seja, o nmero de pedidos por Funcionrio - Ano -
Trimestre.
21. Arraste o campo Nmero do Pedido para a rea onde est escrito: Solte itens de dados aqui.
22. Observe que, o Excel fornece uma quantia de pedidos que no tem nada a ver com a realidade, conforme indicado na Figura 3.29.
Isso ocorre porque ao invs de contar os pedidos, o Excel est somando os nmeros dos pedidos. Por exemplo, vamos supor que para
um determinado funcionrio tenhamos trs pedidos diferentes, em um determinado Ano - Trimestre: 10001, 10003 e 10005. Ao invs de
informar 3 pedidos, o Excel est somando esses nmeros, ou seja: 10001+10003+10005 = 30009. Isso ocorre porque, por padro, o
assistente de tabela dinmica usa a funo Soma. Vamos alterar de Soma para Contar.
Figura 3.2+ - O Excel est= somando ao in%:s de contar o n7mero de pedidos.
23. Vamos configurar a tabela dinmica para que faa a contagem dos pedidos, ao invs da soma. Voc deve estar com a barra de
ferramentas Tabela Dinmica aberta. Se essa barra de ferramentas no estiver aberta, selecione o comando Exibir -> Barras de
ferramentas -> Tabela dinmica.
24. Na barra de ferramentas Tabela dinmica clique na flechinha ao lado da opo Tabela dinmica e selecione o comando Configuraes
de campo..., conforme indicado na Figura 3.30.
Figura 3.3! - O omando on(igura-Ies de campo...
25. Ser exibida a janela Campo da Tabela dinmica, onde selecionamos a funo de clculo a ser utilizada. Por padro utilizada a
funo Soma, conforme indicado na Figura 3.31:
Figura 3.31 - , (un-.o #oma : utili8ada por padr.o.
26. Na lista de funes selecione a funo Cont.Valores, conforme indicado na Figura 3.32 e clique em OK.
27. Observe que agora o Excel exibe, corretamente, a quantia de pedidos por Funcionrio - Ano - Trimestre, conforme indicado na Figura
3.33.
Figura 3.32 - ,lterando para a (un-.o ont.Galores.
Figura 3.33 - ontagem dos pedidos sendo (eita corretamente.
28. Observe que tambm feita a contagem Global, com a o nmero total de pedidos por funcionrio e tambm por Ano.
29. Voc pode utilizar a lista Pas de Destino e Cidade de Destino para filtrar os resultados obtidos, conforme descrito em lies
anteriores.
30. Salve e feche a planilha Modulo 3 - Exerccio 02.xls.
Lio 11: 6a8elas Din=micas - 7eleo 2struturada
Agora que j conhecemos bem como criar e utilizar tabelas dinmicas, vamos aprender a alterar a formatao e algumas propriedades da
tabela dinmica. Nessa lio aprenderemos a utilizar o recurso de Formatao Estruturada, com o qual possvel selecionar apenas os
rtulos ou apenas os dados de uma tabela dinmica.
Por exemplo, veremos que existe um comando que permite a seleo somente dos rtulos da tabela dinmica, existe um outro comando
que permite a seleo apenas dos valores e assim por diante.
?ele&ionando ele!entos de u!a tabela dinR!i&a:
Vamos considerar a tabela dinmica da Figura 3.34:
Figura 3.34 - Ta/ela *inOmica usada nos exemplos dessa li-.o.
Nessa tabela calculado o total de vendas por Funcionrio - Ano - Trimestre. Foi utilizado um filtro (na lista S Ano), para que fossem
exibidos os totais de vendas para o ano de 1997.
Podemos fazer a formatao manual ou automtica, dos dados de uma tabela dinmica. Para fazer a formatao manual, existem alguns
comandos de seleo que so bastante teis. Por exemplo, voc pode clicar em um dos rtulos da tabela dinmica e depois utilizar um
comando de seleo que seleciona todos os demais rtulos. Esse comando til, por exemplo, se voc deseja aplicar uma mesma
formatao para todos os rtulos.
Esse recurso conhecido como Seleo Estruturada. Por padro a Seleo Estruturada est desabilitada. Para habilita-la siga os
seguintes passos:
1. Se a barra de ferramentas Tabela Dinmica no estiver sendo exibida selecione o comando Exibir -> Barras de ferramentas -> Tabela
dinmica...
2. Na barra de ferramentas Tabela Dinmica, clique na flechinha para baixo, ao lado do boto Tabela dinmica e selecione o comando
Selecionar -> Ativar seleo.
Nota: Se ao lado de Ativar seleo j existir o desenho de uma pequena flecha, porque essa opo j est ativada. Nesse caso no
necessrio executar o comando do passo 2.
Feita a ativao do recurso de Seleo Estruturada, podemos fazer a seleo de elementos especficos. A seguir descrevo os comandos
utilizados na seleo estruturada:
4ara sele&ionar a"enas os r;tulos da tabela dinR!i&aT siga os seguintes "assos:
1. Na barra de ferramentas Tabela Dinmica, clique na flechinha para baixo, ao lado do boto Tabela dinmica e selecione o comando
Selecionar -> Tabela inteira.
2. Na barra de ferramentas Tabela Dinmica, clique na flechinha para baixo, ao lado do boto Tabela dinmica e selecione o comando
Selecionar -> Rtulo.
3. Sero selecionados apenas os rtulos da tabela dinmica, conforme indicado na Figura 3.35:
Figura 3.35 - #elecionando apenas os ?Ptulos da ta/ela dinOmica.
4. Aps ter selecionado os rtulos voc pode utilizar os comandos de formatao do Excel para aplicar a formatao desejada.
Nota: Para uma descrio completa dos comandos de formatao do Excel, bem como para exemplos passo-a-passo sobre formatao,
consulte o Curso de Excel Bsico em 120 Lies, disponvel no seguinte endereo: http://www.juliobattisti.com.br/excel120/excel120.asp
.
4ara sele&ionar a"enas os dados da tabela dinR!i&aT siga os seguintes "assos:
1. Na barra de ferramentas Tabela Dinmica, clique na flechinha para baixo, ao lado do boto Tabela dinmica e selecione o comando
Selecionar -> Tabela inteira.
2. Na barra de ferramentas Tabela Dinmica, clique na flechinha para baixo, ao lado do boto Tabela dinmica e selecione o comando
Selecionar -> Dados.
3. Sero selecionados apenas os dados da tabela dinmica, conforme indicado na Figura 3.36:
Figura 3.3" - #elecionando apenas os *ados da ta/ela dinOmica.
4. Aps ter selecionado os dados voc pode utilizar os comandos de formatao do Excel para aplicar a formatao desejada.
Nota: Para uma descrio completa dos comandos de formatao do Excel, bem como para exemplos passo-a-passo sobre formatao,
consulte o Curso de Excel Bsico em 120 Lies, disponvel no seguinte endereo: http://www.juliobattisti.com.br/excel120/excel120.asp
.
Agora que j sabemos como fazer seleo estruturado em uma tabela dinmica, estamos prontos para aprender o recurso de
AutoFormatao. Mas isso assunto para a Prxima Lio .
Lio 12: 6a8elas Din=micas - O @ecurso de +uto)ormatao
O Excel oferece diversas combinaes prontas para autoformatao de tabelas dinmicas. Com esse recurso podemos definir uma
aparncia profissional para um relatrio de tabela dinmica. O mais interessante que o recurso de AutoFormatao extremamente
simples de ser utilizado. Com alguns poucos cliques de mouse podemos formatar o relatrio de tabela dinmica, aplicando recursos como
cor de fonte, cor de fundo, negrito, etc.
Nessa lio veremos alguns exemplos simples de utilizao do recurso de AutoFormatao.
Para os exemplos dessa lio, vamos utilizar os dados da tabela dinmica indicada na Figura 3.37:
Figura 3.3& - Ta/ela *inOmica usada nos exemplos dessa li-.o.
Nessa tabela calculado o total de vendas por Funcionrio - Ano - Trimestre. Foi utilizado um filtro (na lista S Ano), para que fossem
exibidos os totais de vendas para o ano de 1997.
4ara utili<ar o re&urso de (uto=or!atao siga os seguintes "assos:
1. Abra a planilha com o relatrio de tabela dinmica a ser formatado.
2. Clique em uma das clulas do relatrio de tabela dinmica.
3. A barra de ferramentas Tabela dinmica deve estar sendo exibida. Se essa barra no estiver sendo exibida, selecione o comando Exibir
-> Barras de ferramentas -> Tabela dinmica.
4. Na barra de ferramentas tabela dinmica, clique na flechinha ao lado da opo Tabela dinmica. No menu que exibido clique em
Formatar relatrio.
5. Ser exibida a janela AutoFormatao, na qual esto disponveis mais de vinte diferentes tipos e conjuntos de formatao, conforme
indicado na Figura 3.38.
Figura 3.3) - , 0anela ,utoFormata-.o.
6. Clique em um dos formatos disponveis e depois clique em OK.
7. O Excel automaticamente aplica as formataes relacionadas com o formato selecionado, conforme exemplo da Figura 3.39:
Figura 3.3+ - Planilha onde (oi usado o recurso de ,utoFormata-.o.
Observe que o recurso de AutoFormatao apenas aplica formataes de fonte, cor, etc. Porm os nmeros do nosso exemplo ainda no
foram formatados como Moeda e duas casas decimais. Podemos fazer essa formatao manualmente, da maneira tradicional, ou seja,
selecionando todo o intervalo com valores numricos e depois usando o comando Formatar -> Clulas para definir a formatao
desejada. Tambm podemos usar um pequeno atalho, conforme descrito a seguir.
Para formatar todas as clulas com valores numricos, siga os seguintes passos:
1. Abra a planilha com o relatrio de tabela dinmica a ser formatado.
2. Clique em uma das clulas com valor numrico.
3. A barra de ferramentas Tabela dinmica deve estar sendo exibida. Se essa barra no estiver sendo exibida, selecione o comando
$%ibir ,. 0arras de +erra!entas ,. Gabela dinR!i&a .
4. Na barra de ferramentas tabela dinmica, clique no boto Configuraes de campo ( ), penltimo boto da barra.
5. Ser exibida a janela Campo da tabela dinmica. D um clique no boto Nmero..., nessa janela. Ser exibida a janela Formatar
clulas. Selecione Moeda, duas casas decimais e para smbolo da moeda selecione R$, conforme indicado na Figura 3.40:
Figura 3.4! - *e(inindo o (ormato dos dados da ta/ela dinOmica.
6. Clique em OK. Voc estar de volta janela Campo da Tabela dinmica. Clique em OK para fecha-la.
7. Voc estar de volta planilha, onde os nmeros j esto formatados como Moeda e com duas casas decimais, conforme indicado na
Figura 3.41:
Figura 3.41 - *ados da ta/ela dinOmica (ormatados como 2oeda.
Lio 1!: 6a8elas Din=micas - &lassi0icao e )ormatao de &4lulas
Aa'ias
Conforme foi visto no Curso de Excel Bsico podemos, facilmente, classificar os itens de uma planilha. Tambm possvel classificar os
itens de uma tabela dinmica. Voc pode classificar os itens de uma tabela dinmica usando o comando Dados -> Classificar ou utilizando
o recurso de AutoClassificao. O recurso de AutoFormatao tem algumas.
Nessa lio veremos, atravs de um exemplo prtico, as diferentes opes de classificao que podemos utilizar em uma tabela
dinmica.
$%e!"lo: Abra a planilha C:\Excelavanado\Modulo 3 - Ex Lio 13.xls. Agora vamos utilizar alguns comandos de classificao.
1. Abra a planilha C:\Excelavanado\Modulo 3 - Ex Lio 13.xls.
2. Ser aberta a planilha indicada na Figura 3.42:
Figura 3.42 - Planilha para o exemplo de classi(ica-.o de dados.
3. Agora vamos usar o recurso de AutoClassificao. O recurso de AutoClassificao permite que os dados da planilha sejam classificados
com base nos valores calculados, o que no possvel de ser feito como comando Dados Classificar.
4. Vamos classificar os dados da planilha da Figura 3.42 em ordem decrescente do valor de vendas.
5. Selecione dois ou mais clulas que contenham valores de vendas. Por exemplo, selecione a faixa de B7 at B11. importante
selecionar tambm a clula de rtulo, no nosso caso a clula B7.
6. A barra de ferramentas Tabela dinmica deve estar sendo exibida. Se essa barra no estiver sendo exibida, selecione o comando
$%ibir ,. 0arras de +erra!entas ,. Gabela dinR!i&a .
7. Na barra de ferramentas tabela dinmica, clique no boto Configuraes de campo ( ), penltimo boto da barra.
8. Ser exibida a janela Campo da tabela dinmica. D um clique no boto Avanado. Ser exibida a janela Opes avanadas do campo
de tabela dinmica, conforme indicado na Figura 3.43:
Figura 3.43 - Op-Ies a%an-adas do campo de ta/ela dinOmica.
9. No grupo "Opes de AutoClassificao", por padro, selecionada a opo Manual. Podemos definir uma ordem Crescente ou
Decrescente e selecionar com base em qual campo, por exemplo S trimestre ou S ano.
10. Marque a opo Decrescente e na lista usando o campo selecione S trimestre. Com isso estamos pedindo para que o Excel
classifique a tabela dinmica em ordem decrescente dos valores dos totais de vendas por trimestre.
11. Clique em OK. Voc estar de volta janela Campo da tabela dinmica.
12. Clique em OK. Voc obter os resultados indicados na Figura 3.44. Ao invs de exibir os totais para o primeiro trimestre, em seguida
para o segundo e assim por diante, os totais so classificados, da esquerda para a direita, do maior total de vendas (R$ 14179,00) para o
menor (R$ 9469,82).
Figura 3.44 - lassi(ica-.o em ordem decrescente do total de %endas por trimestre.
Outra formatao que pode ser alterada a maneira como o Excel exibe clulas vazias. No nosso exemplo, uma clula vazia significa que
no houve vendas para aquele cliente no respectivo trimestre. Por padro o Excel exibe essas clulas em branco. Podemos alterar essa
padro.
4ara alterar a !aneira &o!o o $%&el e%ibe &9lulas *a<ias e! u!a tabela dinR!i&aT siga os seguintes "assos:
1. Abra a planilha a ser formatada e clique em qualquer clula da tabela dinmica. A barra de ferramentas Tabela dinmica deve estar
sendo exibida. Se essa barra no estiver sendo exibida, selecione o comando $%ibir ,. 0arras de +erra!entas ,. Gabela dinR!i&a .
2. Clique na flechina ao lado da opo Tabela dinmica e no menu de opes que exibido clique na opo "Opes da tabela."
3. Ser exibida a janela Opes da tabela dinmica. No campo em branco, ao lado da opo Para clulas vazias, mostrar: Digite: Sem
vendas, conforme indicado na Figura 3.45.
Figura 3.45 - , 0anela Op-Ies da ta/ela dinOmica.
4. Clique em OK e observe que a expresso Sem vendas exibida nas clulas vazias, conforme indicado na Figura 3.46.
Figura 3.4" - , express.o #em Gendas nas c:lulas %a8ias.
Lio 1": 6a8elas Din=micas - Mais op9es de con0i,urao
Nesse lio veremos as demais opes de configurao da janela "Opes da tabela dinmica, indicada na Figura 3.45 da lio anterior.
-"6es da Danela -"6es da tabela dinR!i&a:
No!e: Digite um novo nome para alterar o nome do relatrio. Em um relatrio de grfico dinmico, esta caixa contm o nome
do relatrio de tabela dinmica associado. A alterao desse nome far com que o relatrio de tabela dinmica seja renomeado,
e no o relatrio de grfico dinmico. Por padro criada uma nomeao seqencial, como por exemplo: Tabela dinmica 1,
Tabela dinmica 2 e assim por diante.
Gotais gerais "ara &olunas: Exibe totais gerais para colunas em um relatrio de Tabela dinmica. Em um relatrio de Grfico
dinmico, os totais gerais so exibidos no relatrio de Tabela dinmica associado. No exemplo da lio Anterior so os totais
gerais por trimestre.
Gotais gerais "ara linhas: Exibe totais gerais para linhas em um relatrio de tabela dinmica. Em um relatrio de grfico
dinmico, os totais gerais so exibidos no relatrio de tabela dinmica associado. No exemplo da lio anterior so os totais
gerais para cada cliente.
(uto +or!atao da tabela: Aplica a autoformatao padro do Microsoft Excel ao relatrio de tabela dinmica. Use o
comando Formatar relatrio da barra de ferramentas Tabela dinmica para aplicar uma autoformatao diferente ao seu
relatrio de tabela dinmica, conforme descrito na Lio 12 . Esta opo no est disponvel em relatrios de grfico dinmico.
S ubtotali<ar itens de "Agina o&ultos: Inclui itens de campo de pgina ocultos nos subtotais do relatrio de tabela dinmica.
Em um relatrio de grfico dinmico, os subtotais so afetados no relatrio de tabela dinmica associado. Esta opo no est
disponvel em relatrios baseados em dados de origem de bancos de dados OLAP.
5es&lar r;tulos: Selecione para mesclar clulas para todos os rtulos de linha e coluna externos no relatrio de tabela
dinmica. Esta opo no est disponvel em relatrios de grfico dinmico. Por exemplo, podemos selecionar essa opo para
mesclar todas as clulas com os rtulos de ano e trimestre, no exemplo da lio anterior.
4reser*ar +or!atao: Mantm qualquer formatao aplicada aos dados do relatrio de tabela dinmica sempre que voc
atualiza o relatrio ou altera seu layout. Esta opo no est disponvel em relatrios de grfico dinmico.
Ce"etir r;tulos de ite! e! &ada "Agina i!"ressa: Selecione para imprimir rtulos de item de campo de linha externos na
parte superior de cada pgina impressa. Os rtulos de item so repetidos para todos os campos de linha esquerda do campo
para o qual a quebra de pgina separa um grupo de itens. Desmarque esta caixa de seleo para imprimir os rtulos de item
apenas nas primeiras pginas impressas onde eles aparecem.
5ar&ar totais &o! 2: Exibe um asterisco (*) aps cada subtotal e total geral nos relatrios de Tabela dinmica que so
baseados em fonte de dados OLAP para indicar que estes valores incluem qualquer item oculto assim como os itens exibidos.
Limpe esta caixa de verificao se no quiser ver estes asteriscos.
LaQout de "Agina: Selecione a ordem na qual voc deseja que os campos de pgina apaream. O layout de campo de pgina
padro Abaixo e acima. Esta opo no est disponvel em relatrios de grfico dinmico.
Ca!"os "or &oluna: Selecione o nmero de campos de pgina que voc deseja incluir em uma linha ou coluna antes de iniciar
outra linha ou coluna de campos de pgina. Esta opo no est disponvel e! relatrios de grfico dinmico.
4ara *alores de erroT !ostrar: Marque a caixa de seleo Para valores de erro , mostrar para exibir um valor em vez de um
erro; em seguida, digite um valor para exibio. Esta opo no est disponvel para relatrios de Grfico dinmico.
4ara &9lulas *a<iasT !ostrar: Marque a caixa de seleo Para clulas vazias, mostrar para exibir um valor em vez de clulas
em branco; em seguida , digite um valor para exibio. Esta opo no est disponvel em relatrios de grfico dinmico.
#e+inir r;tulos de i!"resso: Selecione para usar os rtulos de campos e de itens no relatrio de tabela dinmica como
ttulos de impresso de linha e coluna. Se voc alterar o layout do relatrio para que os rtulos de campos e de itens fiquem em
diferentes linhas e colunas, as novas colunas e linhas de rtulo sero automaticamente usadas como os ttulos de impresso.
Antes de marcar esta caixa de seleo, clique em Con+igurar "Agina no menu (r)ui*o , clique na guia 4lanilha e desmarque
as caixas de seleo Linhas "ara re"etir na "arte su"erior e Colunas "ara re"etir O es)uerda e certifique-se de que o
relatrio atual seja o nico na rea de impresso. Com essa opo voc pode fazer com que o nome das colunas seja exibido no
incio de cada pgina, o que facilita a leitura de relatrios de tabela dinmica com mltiplas pginas.
-"6es da Area J-"6es de dadosJ:
?al*ar dados &o!o laQout de tabela: Salva uma cpia dos dados internos do relatrio no arquivo da pasta de trabalho para
que voc no tenha que atualizar o relatrio antes de trabalhar com ele quando voc abrir o arquivo da pasta de trabalho. Se
voc no selecionar esta opo, o arquivo da pasta de trabalho ser muito menor. Entretanto, voc deve marcar a caixa de
seleo Atualizar ao abrir ou clicar em Atualizar dados na barra de ferramentas Tabela dinmica quando voc abrir a pasta de
trabalho, antes de trabalhar com o relatrio. Se voc no salvar esses dados, eles tambm sero descartados de outros
relatrios na pasta de trabalho que so baseados nesse relatrio de tabela dinmica ou no relatrio de tabela dinmica
associado ao relatrio de tabela dinmica atual. Esta opo ignorada em arquivos de modelos de relatrios.
(ti*ar anAlise de dados: Desmarque a caixa de seleo para evitar a exibio de detalhes ao clicar duas vezes em uma clula
na rea de dados de um relatrio de tabela dinmica. Em um relatrio de grfico dinmico, esta opo afeta apenas o relatrio
de tabela dinmica associado. Esta opo no est disponvel para relatrios baseados em dados de origem de bancos de dados
OLAP.
(tuali<ar ao abrir: Atualiza os dados do relatrio de tabela dinmica e do relatrio de grfico dinmico a partir dos dados de
origem sempre que voc abre a pasta de trabalho.
(tuali<ar a &ada J%J !inutos: Selecione para atualizar automaticamente o relatrio de tabela dinmica ou grfico dinmico a
partir dos dados de origem externos e digite na caixa minutos o nmero de minutos que deve haver entre as atualizaes.
-"6es da Area J-"6es de dados e%ternosJ:
?al*ar senha: Se voc usar um banco de dados externo que necessite de uma senha como a sua origem de dados para o
relatrio de tabela dinmica ou de grfico dinmico, marque a caixa de seleo Salvar senha para armazenar a senha como
parte do relatrio. Ao atualizar seu relatrio, voc no precisar reinserir a senha. Por exemplo, pode ser que voc esteja
criando um relatrio de tabela dinmica a partir de dados de um banco de dados do SQL Server, no qual deve ser fornecido
informaes de logon. Voc pode marcar essa caixa para no ter que informar a senha cada vez que abrir o relatrio de tabela
dinmica.
Consulta e! segundo "lano: Desmarque para esperar que os dados sejam recuperados quando voc executar a consulta
para recuperar os dados externos do relatrio. Quando esta caixa de seleo for marcada, o Microsoft Excel executar a
consulta em segundo plano enquanto voc prossegue com o seu trabalho. Esta opo no est disponvel para relatrios
baseados em dados de origem de bancos de dados OLAP.
-ti!i<ar !e!;ria: Selecione para economizar memria durante a atualizao do relatrio a partir de uma fonte de dados
externa. Esta opo no est disponvel para relatrios baseados em dados de origem de listas do Microsoft Excel ou de bancos
de dados OLAP.
Aps ter configurado as opes desejadas, basta clicar em OK para aplica-las.
Lio 1#: Br/0icos Din=micos - &onceitos e um e3emplo simples
Nessa lio aprenderemos a criar um Grfico Dinmico, a partir dos dados de um relatrio de tabela dinmica. O grfico dito dinmico
porque, no prprio grfico, podemos aplicar filtros e mover campos de posio de tal maneira que o grfico dinamicamente alterado
para refletir os filtros e/ou alteraes efetuadas.
Utilizaremos um exemplo prtico a partir do qual aprenderemos a criar um grfico dinmico, passo-a-passo.
$%e!"lo: Abra a planilha C:\Excelavanado\ Modulo 3 - Ex Lio 15.xls . Criar um grfico dinmico com base nos dados da planilha.
1. Abra a planilha C:\Excelavanado\Modulo 3 - Ex Lio 15.xls.
2. Ser aberta a planilha indicada na Figura 3.47:
Figura 3.4& - Planilha para o exemplo de cria-.o de gr=(icos dinOmicos.
3. Nessa tabela dinmica temos o total de vendas por Cliente - Ano, com o campo Pas de Destino como campo de pgina. Com isso
podemos filtrar o relatrio para que sejam exibidos apenas os totais de vendas para os clientes de um determinado pas.
4. Vamos criar um grfico onde sejam exibidos apenas os totais de vendas para o Brasil. Abra a lista Pas de Destino e clique em Brasil
para seleciona-lo. Clique em OK. Os dados sero filtrados para exibir apenas os totais de vendas para os clientes do Brasil.
5. Selecione o comando Inserir -> Grfico.
6. O Excel, automaticamente, cria um grfico dinmico, do tipo Barras, conforme indicado na Figura 3.48:
Figura 3.4) - Br=(ico dinOmico5 criado com um cli$ue de mouse.
7. Observe que, no prprio grfico, voc tem opes para aplicar filtros por Pas de Destino, Ano ou Nome da Empresa. Vamos aplicar um
filtro por Ano, lembrando que, antes de criarmos o grfico, j havamos aplicado um filtro para Pas de Destino = Brasil.
8. Abra a lista S Ano e deixe marcada apenas a opo 1997, conforme indicado na Figura 3.49:
Figura 3.4+ - Filtrando o gr=(ico dinOmico.
9. Clique em OK. Observe que o grfico, DINAMICAMENTE, refeito para refletir o critrio de filtragem definido para o ano. Agora o
grfico reflete o total de vendas para os clientes do Brasil, apenas para o ano de 1997, conforme indicado na Figura 3.50:
Figura 3.5! - Br=(ico dinOmico5 apPs a aplica-.o de um (iltro para ,no M 1++&.
10. Experimente mais alguns filtros. Abra a lista S Ano e marque novamente 1996, 1997 e 1998. Clique em OK. Agora so exibidos os
totais de vendas para o Brasil para todos os anos.
11. Abra a lista Pas de Destino e selecione Alemanha. Agora so exibidos os totais de vendas por cliente para a Alemanha para todos os
anos.
12. Mantenha a planilha aberta, pois na Prxima lio aprenderemos a fazer algumas alteraes no grfico dinmico, como por exemplo
alterar o tipo do grfico e fazer formatao de cores e outros elementos do grfico dinmico.
Lio 1$:Br/0icos Din=micos - )ormata9es e +lterao de 6ipo
Nessa lio aprenderemos a fazer algumas alteraes no grfico dinmico. Faremos as seguintes alteraes:
Alterar o tipo do grfico dinmico.
Formatar ttulos, cores e outras opes do grfico dinmico.
4ara alterar o ti"o do grA+i&o siga os seguintes "assos:
Nota: Voc deve estar com o grfico do exemplo da Lio 15 ainda aberto. Caso voc tenha fechado a planilha onde est o referido
grfico, abra-a novamente.
1. Clique com o boto direito do mouse no grfico, na rea cinza de fundo.
2. No menu de opes que exibido selecione a opo Tipo de grfico.
3. Ser exibida a janela com Tipos padro e Tipos personalizados. Nessa janela podemos selecionar um novo tipo para o nosso grfico.
4. Selecione o tipo Colunas, com o subtipo indicado na Figura 3.51:
Figura 3.51 - ,lterando o tipo do gr=(ico dinOmico.
5. Clique em OK. O grfico ser formatado com o tipo selecionado, conforme indicado na Figura 3.52.
Figura 3.52 - Br=(ico do tipo oluna 3*.
5. Vamos alterar novamente o tipo do grfico.
6. Clique com o boto direito do mouse no grfico, na rea cinza de fundo.
7. No menu de opes que exibido selecione a opo Tipo de grfico.
8. Ser exibida a janela com Tipos padro e Tipos personalizados. Nessa janela podemos selecionar um novo tipo para o nosso grfico.
9. Selecione o tipo Pizza, com o subtipo indicado na Figura 3.53:
Figura 3.53 - Tipo Pi88a 3*.
10. Clique em OK. Voc obter o grfico indicado na Figura 3.54.
Figura 3.54 - Br=(ico do tipo Pi88a 3*.
11. Altere o tipo do grfico para o tipo indicado na Figura 3.55:
Figura 3.55 - Goltando ao tipo original do gr=(ico.
12. Agora vamos aprender a alterar algumas formataes do nosso grfico dinmico. Vamos incluir ttulos no grfico.
13. Clique com o boto direito do mouse na rea em branco do grfico. No menu de opes que exibido clique em Opes de grfico.
Ser exibida a janela Opes de grfico. Clique na guia Ttulo e digite as informaes indicadas na Figura 3.56.
Nota: Todas as formataes que aprendemos para os grficos bsicos tambm so vlidas para grficos dinmicos. Para saber mais
sobre as formataes bsicas, consulte o Mdulo 5 do Curso de Excel Bsico em 120 Lies, disponvel no seguinte endereo:
http://www.juliobattisti.com.br/excel120/excel120.asp .
Figura 3.5" - *e(inindo os t4tulos do gr=(ico.
14. Clique em OK.
15. Voc obter o grfico indicado na Figura 3.57:
Figura 3.5& - Br=(ico com T4tulos.
16. Mantenha o grfico aberto pois iremos utiliz-lo na prxima lio.
Lio 1%: +lterando os campos :ue comp9em o ,r/0ico
Outra caracterstica interessante dos grficos dinmicos que possvel alterar os campos que fazem parte do grfico dinamicamente,
simplesmente arrastando campos a partir da barra de ferramentas Tabela dinmica. Tambm podemos retirar campos do grfico
arrastando-os de volta para a barra de Ferramentas Tabela dinmica.
Vamos alterar o grfico dinmico criado nas lies anteriores, simplesmente arrastando campos.
$%er&/&io: Alterar o grfico dinmico criado na lio anterior, para que seja exibido o total de vendas por funcionrio, ao invs do total
de vendas por Cliente.
1. O primeiro passo fazer com que a barra de ferramentas Tabela dinmica seja exibida.
2. Se a barra de ferramentas Tabela dinmica no estiver sendo exibida, selecione o comando Exibir -> Barras de ferramentas -> Tabela
dinmica.
3. Arraste o campo Funcionrio sobre o campo Nome da Empresa, na parte de baixo do grfico.
4. Voc obter um grfico onde so exibidos os totais de vendas para cada Cliente e, dentro de cada cliente, exibido quanto das vendas
foi feita por cada funcionrio, conforme indicado na Figura 3.48. como se tivssemos dois campos de linha: Clientes e Funcionrios:
Figura 3.5) - Br=(ico com dois campos no eixo hori8ontal.
5. Agora arraste o campo Nome da Empresa do grfico de volta para a barra de ferramentas Tabela dinmica. Com isso estamos
retirando o campo Nome da Empresa do grfico. Sero exibidos apenas os totais de vendas por funcionrio, conforme indicado na Figura
3.59:
Figura 3.5+ - Totais de %endas por Funcion=rio.
6. Voc tambm pode alterar, facilmente, os clculos que so efetuados no grfico. Por exemplo, no grfico da Figura 3.59 esto sendo
calculados os totais de vendas por Funcionrio. Vamos alterar para que seja calculada a mdia de vendas ao invs do total de vendas.
7. D um clique duplo no campo Soma de Vendas (na parte de cima do grfico, ao lado do valor R$ 30.000,00).
8. Ser exibida a janela Campo da Tabela dinmica, na qual est selecionada a funo Soma. Selecione a funo Mdia, conforme
indicado na Figura 3.60.
Figura 3."! - ,lterando a (un-.o de c=lculo.
9. Clique em OK.
10. Observe que os valores do grfico so alterados. Agora exibida a mdia de vendas por funcionrio, por ano, conforme indicado na
Figura 3.61.
Figura 3."1 - 2:dia de %endas por lientes.
11. Salve e feche a planilha.
Lio 1(: 6a8elas Din=micas - 23erc?cios propostos
$%er&/&io 03: Abra a planilha Modulo 3 - Exerccio 03.xls e, a partir dos dados dessa planilha, crie o seguinte relatrio de tabela
dinmica:
Temos o total de vendas por Produto por pas de destino, com a possibilidade de aplicar filtros por ano e/ou trimestre.
Tambm foram aplicadas formataes utilizando o recurso de AutoFormatao. Os dados de vendas foram formatados como Contbil,
com duas casas decimais.
?al*e essa "lanilha na "asta C:[$%&el(*an&ado &o! o no!e de #ados "ara o $%er&/&io 05'%ls'
$%er&/&io 04: Abra a planilha Modulo 3 - Exerccio 04.xls e, a partir dos dados dessa planilha, crie o seguinte relatrio de tabela
dinmica:
Temos o total de vendas por Produto por trimestre-ano, com a possibilidade de aplicar filtros por funcionrio.
Tambm foram aplicadas formataes utilizando o recurso de AutoFormatao. Os dados de vendas foram formatados como Contbil,
com duas casas decimais.
?al*e essa "lanilha na "asta C:[$%&el(*an&ado &o! o no!e de #ados "ara o $%er&/&io 06'%ls'
Lio 1*: 6a8elas Din=micas e Br/0icos Din=micos - Mais 23erc?cios
$%er&/&io 05: Abra a planilha C:\ExcelAvancado\Dados para o Exerccio 05.xls e, a partir dos dados dessa planilha, crie o seguinte
grfico dinmico:
Temos o total de vendas por Produto por pas de destino, sendo que foram aplicados filtros, no prprio grfico, para exibir apenas as
vendas para o Brasil, no segundo trimestre de 1997.
Salve a planilha e feche-a.
$%er&/&io 06: Abra a planilha C:\ExcelAvancado\Dados para o Exerccio 06.xls e, a partir dos dados dessa planilha, crie o seguinte
grfico dinmico:
Temos o total de vendas por Produto por funcionrios, sendo que foram aplicados filtros, no prprio grfico, para exibir apenas as vendas
para o funcionrio Robert King, no segundo trimestre de 1997.
Salve a planilha e feche-a.
MDULO "
Lio 01 Introduo e contedo do Mdulo 4
Lio 02 Calculando SubTotais/Resumos
Lio 03 Criando Subtotais - Mais um exemplo simples
Lio 04 Configuraes e alteraes em dados consolidados
Lio 05 Exerccios com totalizaes
Lio 06 Introduo consolidao de dados
Lio 07 Consolidao de dados: e um exemplo simples
Lio 08 Consolidao por categoria - um exemplo prtico
Lio 09 Configuraes relacionadas a consolidao de dados
Lio 10 Consolidao com dados de mltiplos arquivos
Lio 11 Anlise de Dados com o Excel - Introduo e Conceitos
Lio 12 Anlise/Simulaes baseadas em uma Tabela de Dados
Lio 13 Anlise/Simulaes: Simulao com mltiplos valores
Lio 14 Anlise/Simulaes: Simulao com duas variveis
Lio 15 Atingindo Objetivos - A Ferramenta Atingir Metas
Lio 16 Gerenciando Cenrios - Introduo e Exemplo
Lio 17 Criando Cenrios - Criao dos cenrios
Lio 18 Utilizando os Cenrios Criados na Lio Anterior
Lio 19 Gerando um Relatrio Consolidado de Cenrios
Lio 20 Resumo do Mdulo 4
Lio 01: Introduo e contedo do Mdulo "
Neste mdulo aprenderemos a utilizar uma srie de funes do Excel para a anlise de dados e simulaes de hipteses. Trataremos dos
seguintes tpicos:
Totalizao de dados: Totais/subtotais.
Consolidao de dados.
Anlise de dados.
Simulao de cenrios.
Atingindo Metas em cenrios.
Utilizando cenrios.
Gotali<ao de dados:
O recurso de totalizao de dados bastante interessante, pois permite a criao de totais e subtotais de uma maneira rpida e eficiente.
Com um simples comando de menu podemos fazer com que o Excel crie uma srie de totais e subtotais teis para a anlise dos dados da
planilha.
Alm da criao de totais/subtotais o Excel cria uma estrutura que facilita a navegao pelos resultados. Simplesmente utilizando o
mouse possvel ocultar ou exibir mais nveis de detalhes. Na Figura 4.1 temos um exemplo onde foram calculados totais por
funcionrio, bem como uma estrutura para navegao pelos diferentes nveis de totais e subtotais.
Figura 4.1 - Utili8ando o recurso de Totais<#u/totais.
Consolidao de dados:
O recurso de consolidao permite que faamos clculos com base em dados de diferentes planilhas, inclusive com diferentes fontes de
dados. Por exemplo, podemos fazer o clculo do total anual de vendas com base em 12 planilhas, cada uma contendo o total mensal de
vendas.
Tambm possvel fazer totalizaes a partir de recursos de fontes externas, por exemplo, voc pode consolidar o total de vendas a
partir de uma planilha de vendas da matriz, somando os resultados de vendas de uma filial, a partir de dados de um arquivo de texto ou
de um banco de dados do Microsoft Access.
Com o recurso de consolidao possvel obter dados que facilitam a anlise e a tomada de decises, sendo que esses dados podem vir
de diferentes fontes e estar em diferentes formatos. A Figura 4.2 nos d uma noo geral do recurso de consolidao de dados:
Figura 4.2 - onsolida-.o de dados no Excel.
(nAlise de &enArios:
Um cenrio um conjunto de valores que o Microsoft Excel salva e pode substituir automaticamente na sua planilha. Voc pode usar
cenrios para prever o resultado de um modelo de planilha. Voc pode criar e salvar diferentes grupos de valores em uma planilha e
alternar para qualquer um desses novos cenrios para exibir resultados diferentes.
Criar &enArios: Por exemplo, se voc deseja criar um oramento mas no tem certeza de sua receita, pode definir valores diferentes
para a receita e alternar entre os cenrios para efetuar anlises hipotticas.
No exemplo acima, voc poderia chamar o cenrio de Pior Caso, definir o valor na clula B1 para R$ 50.000 e definir o valor na clula B2
para R$ 13.200.
Voc poderia chamar o segundo cenrio de Melhor Caso e alterar os valores em B1 para R$ 150.000 e B2 para R$ 26.000.
Celat;rios de resu!o do &enArio: Para comparar vrios cenrios, voc pode criar um relatrio que os resuma na mesma pgina. O
relatrio pode listar os cenrios lado a lado ou resumi-los em um relatrio de tabela dinmica. Aqui comeamos a combinar diferentes
recursos do Excel: usamos o recurso de cenrios para fazer anlises e, em seguida, o recurso de tabelas dinmicas, para obter uma viso
consolidada dos dados.
Aprenderemos a utilizar os recursos para anlise e consolidao de dados, atravs de uma srie de exemplos prticos, de acordo com a
metodologia que adotamos nos Mdulos 1 , 2 e 3 .
Lio 02: &alculando 7u86otaisC@esumos
Uma funcionalidade bastante til do Excel a possibilidade de, rapidamente, criarmos subtotais para grupos de dados em uma planilha.
Por exemplo, podemos criar subtotais de vendas por pas, dentro de cada pas podemos criar subtotais por cidade. Ou poderamos criar
subtotais por vendedor ou cliente. A criao de subtotais uma maneira rpida de compararmos o desempenho de diferentes grupos. Por
exemplo, com o clculo de subtotais por vendedor, podemos comparar, facilmente, o desempenho de cada vendedor.
Nesta lio veremos um exemplo bsico do uso de subtotais. Nas prximas lies abordaremos o assunto de subtotais, quando falaremos
das ferramentas de anlise e simulao do Microsoft Excel.
Nesta lio veremos um exemplo simples de como criar subtotais por vendedor.
$%er&/&io 01: Abrir o arquivo C:\ExcelAvanado\Modulo 4 - Exerccio 01.xls e calcular subtotais de vendas por vendedor - coluna
Funcionrio.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Exemplo 14.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos.
7. Em primeiro lugar vamos classificar a planilha em ordem crescente do campo Funcionrio. Clique em qualquer clula da coluna
Funcionrio.
8. Selecione o comando Dados -> Classificar. Na janela Classificar selecione as opes indicadas na Figura 4.3:
Figura 4.3 - lassi(icando pelo campo Funcion=rio.
9. Clique em OK. A planilha ser classificada pela coluna Funcionrio.
10. Selecione o comando #ados ,. ?ubtotais'''
11. Ser exibida a janela Subtotais indicada na Figura 4.4:
Figura 4.4 - , 0anela #u/totais.
12. Na lista A cada alterao em, selecionamos o campo no qual queremos que os subtotais sejam calculados. No nosso exemplo
selecione o campo Funcionrio.
13. Na lista Usar funo, selecionamos qual o clculo de subtotal ser realizado. Por padro uma Soma, mas tambm pode ser contar o
nmero de linhas, Mximo, Mnimo, Mdia, etc. Selecione Soma.
14. Na lista Adicionar subtotal a, selecionamos o campo no qual esto os valores onde sero efetuados os clculos. No nosso caso
queremos somar o total de vendas para cada funcionrio. Selecione a coluna Valor.
15. Na parte de baixo da janela temos opes para Substituir os subtotais atuais, caso j existam subtotais calculados; inserir uma
quebra de pgina aps cada subtotal e Resumir abaixo dos dados. Esta ltimo opo, se marcada, faz com que o excel calcule totais
gerais.
16. Suas opes devem estar conforme indicado na Figura 4.4.
17. Clique em OK.
18. O Excel calcula os subtotais e insere uma estrutura de tpicos, no lado esquerdo da planilha.
19. Observe que a estrutura de tpicos apresenta diferentes nveis: 1, 2 e 3 . Por padro so exibidos todos os registros e tambm os
subtotais. Esta visualizao no muito prtica. Para ver apenas o subtotal por funcionrio, clique no boto com o nmero 2, conforme
destacado na Figura 4.5:
Figura 4.5 - Exi/indo o su/total por (uncion=rio.
20. Clique no boto 1 da estrutura de nveis. Observe que ser exibido apenas o total geral, conforme indicado na Figura 4.6.
Figura 4." - Exi/indo Total Blo/al.
21. Salve a planilha Modulo 4 - Exerccio 01.xls.
22. Feche o Excel.
Nas prximas lies aprenderemos mais sobre o recurso de Totais/subtotais.
Lio 0!: &riando 7u8totais - Mais um e3emplo simples
Nessa lio vamos apresentar mais um exemplo prtico, passo-a-passo de subtotais, para fixarmos a criao e a navegao atravs dos
subtotais. Tambm aprenderemos algumas opes de configuraes dos subtotais.
$%er&/&io 02: Abrir o arquivo C:\ExcelAvanado\Modulo 4 - Exerccio 02.xls e calcular subtotais de vendas por Pas de Destino e por
Cidade.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Modulo 4 - Exerccio 02.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com 830 pedidos, bem como o valor total de cada pedido.
7. Em primeiro lugar vamos classificar a planilha em ordem crescente do campo Pas de Destino e, dentro de Pas de Destino vamos
classificar por Cidade de Destino. Clique em qualquer clula da coluna Funcionrio.
8. Selecione o comando #ados ,. Classi+i&ar . Na janela Classificar selecione as opes indicadas na Figura 4.7:
Figura 4.& - lassi(icando pelos campos Pa4s e idade.
9. Clique em OK. A planilha ser classificada pela coluna Pas de Destino e em seguida por Cidade de Destino.
10. Selecione o comando #ados ,. ?ubtotais'''
11. Ser exibida a janela Subtotais indicada na Figura 4.8:
Figura 4.) - , 0anela #u/totais.
12. Na lista A cada alterao em, selecionamos o campo no qual queremos que os subtotais sejam calculados. No nosso exemplo
selecione, inicialmente, o campo Pas de Destino.
13. Na lista Usar funo, selecionamos qual o clculo de subtotal ser realizado. Por padro uma Soma, mas tambm pode ser contar o
nmero de linhas, Mximo, Mnimo, Mdia, etc. Selecione Soma.
14. Na lista Adicionar subtotal a, selecionamos o campo no qual esto os valores onde sero efetuados os clculos. No nosso caso
queremos somar o total de vendas para cada Pas de Destino. Selecione a coluna Vendas.
15. Na parte de baixo da janela temos opes para Substituir os subtotais atuais, caso j existam subtotais calculados; inserir uma
quebra de pgina aps cada subtotal e Resumir abaixo dos dados. Esta ltimo opo, se marcada, faz com que o excel calcule totais
gerais.
16. Suas opes devem estar conforme indicado na Figura 4.8.
17. Clique em OK.
18. O Excel calcula os subtotais e insere uma estrutura de tpicos, no lado esquerdo da planilha. Nesse momento so calculados os totais
por Pas de Destino. Porm tambm queremos os totais por Cidade de Destino. Isso feito simplesmente utilizando o comando Dados ->
Subtotais... novamente, conforme veremos logo a seguir.
19. Observe que a estrutura de tpicos apresenta diferentes nveis: 1, 2 e 3 . Por padro so exibidos todos os registros e tambm os
subtotais. Esta visualizao no muito prtica. Para ver apenas o subtotal por Pas de Destino, clique no boto de navegao com o
nmero 2, conforme descrito na lio anterior. Voc obter os resultados indicados na Figura 4.9, onde so exibidos apenas o nome do
Pas e o respectivo total de vendas.
Figura 4.+ - Exi/indo o su/total por Pa4s de *estino.
20. Clique no boto 1 da estrutura de nveis. Observe que ser exibido apenas o total geral, conforme indicado na Figura 4.10.
Figura 4.1! - Exi/indo Total Blo/al.
21. Clique no boto 3 da estrutura de nveis, para que voltem a ser exibidos todos os registros.
22. Agora temos que definir um subtotal para o campo cidade.
23. Selecione o comando #ados ,. ?ubtotais'''
24. Ser exibida a janela Subtotais.
25. Na lista A cada alterao em, selecionamos o campo no qual queremos que os subtotais sejam calculados. No nosso exemplo
selecione o campo Cidade de Destino.
26. Na lista Usar funo, selecionamos qual o clculo de subtotal ser realizado. Por padro uma Soma, mas tambm pode ser contar o
nmero de linhas, Mximo, Mnimo, Mdia, etc. Selecione Soma.
27. Na lista Adicionar subtotal a, selecionamos o campo no qual esto os valores onde sero efetuados os clculos. No nosso caso
queremos somar o total de vendas para cada Cidade de Destino. Selecione a coluna Vendas.
29. 5BG- 54-CG(NG$: Desmarque a opo "Substituir subtotais atuais", seno o subtotal por Pas de Destino, criado anteriormente,
ser excludo.
30. Suas opes devem estar conforme indicado na Figura 4.11:
Figura 4.11 - *e(inindo su/totais para o campo idade de *estino.
31. Clique em OK.
32. O Excel calcula os subtotais para o campo Cidade de Destino e insere mais um nvel na estrutura de tpicos, no lado esquerdo da
planilha. Nesse momento so calculados os totais por Pas de Destino e tambm por Cidade de Destino.
33. Observe que a estrutura de tpicos apresenta diferentes nveis: 1, 2, 3 e 4 . Por padro so exibidos todos os registros e tambm os
subtotais. Esta visualizao no muito prtica. Para ver apenas o subtotal por Pas de Destino, clique no boto de navegao com o
nmero 3, conforme descrito na lio anterior. Voc obter os resultados onde so exibidos apenas o total geral para cada cidade (e no
os diversos registros para cada cidade) e o total geral para cada pas, conforme indicado na Figura 4.12:
Figura 4.12 - #u/totais por Pa4s e idade.
34. Clique no boto 2 da estrutura de navegao. Sero exibidos somente os totais por Pas de Destino e o total geral.
35. Clique no boto 1 da estrutura de navegao. Ser exibido apenas o total global. Observe que utilizando os botes da estrutura de
navegao, podemos ter diferentes vises do mesmo conjunto de dados, de uma maneira rpida e prtica.
36. Salve a planilha Modulo 4 - Exerccio 02.xls.
22. Feche o Excel.
Nas prximas lies aprenderemos mais sobre o recurso de Totais/subtotais.
Lio 0": &on0i,ura9es e altera9es em dados consolidados
Nessa lio veremos algumas configuraes e formataes que podem ser feitas em uma planilha com dados consolidados. Para tal
vamos utilizar, mais uma vez, um exemplo prtico, passo-a-passo.
$%er&/&io 03: Abrir o arquivo C:\ExcelAvanado\Modulo 4 - Exerccio 03.xls. Essa planilha contm um subtotal de vendas por
funcionrio. Vamos aprender a executar algumas configuraes e formataes com essa planilha.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Modulo 4 - Exerccio 03.xls.
5. Clique em Abrir.
6. Ser aberta uma planilha com uma lista com um subtotal por funcionrio, conforme indicado na Figura 4.13:
Figura 4.13 - #u/totais por Funcion=rio.
Vamos aprender algumas configuraes que podem ser feitas nessa planilha.
(lterando as &on+igura6es de totali<a6es do $%&el:
Quando voc cria um novo subtotal, por padro, o Excel exibo os totais gerais ao final de um grupo e nas colunas direita da planilha.
Por exemplo, os totais para cada funcionrio so exibidos aps a lista de registros para o respectivo funcionrio. Podemos alterar essas
configuraes.
Para alterar as configuraes de exibio dos subtotais, siga os seguintes passos:
1. Clique no boto de navegao com o nmero 2 para exibir apenas os totais por Funcionrio. Aumente a coluna Funcionrio para que
seja exibido o nome completo do funcionrio.
3. Voc estar com a planilha indicada na Figura 4.14:
Figura 4.14 - Ocultando os detalhes de cada Funcion=rio.
4. Se voc quiser visualizar os itens individuais de um determinado funcionrio, basta clicar no sinal de + ao lado do nome do
funcionrio. Por exemplo, clique no sinal de + ao lado do funcionrio King, Robert. Voc obter os resultados indicados na Figura 4.15.
Para ocultar os detalhes do funcionrio, clique na linha vertical, ao lado de um dos registros do funcionrio, que voltar a ser exibido
apenas o subtotal para o funcionrio.
Figura 4.15 - Exi/indo os detalhes apenas para um (uncion=rio.
5. Selecione o comando: Dados -> Organizar estrutura da tpicos -> Definies.
6. Ser exibida a janela Configuraes, indicada na Figura 4.16, na qual temos as seguintes opes de configuraes:
Linhas de resu!o abai%o do detalhe: Especifica onde as linhas de resumo ficam em relao s linhas de detalhes nos dados
a serem colocados em uma estrutura de tpicos. O padro abaixo do detalhe. Se voc desmarcar essa opo, as linhas sero
exibidas
Colunas de resu!o O direita do detalhe: Especifica onde as colunas de resumo ficam em relao s colunas de detalhes nos
dados a serem colocados em uma estrutura de tpicos.
Figura 4.1" - Op-Ies de con(igura-Ies dos su/totais.
Lio 0#: 23erc?cios com totali'a9es
$%er&/&io 01: Abra a planilha Modulo 4 - DadosEx 01.xls e, a partir dos dados dessa planilha, calcule os subtotais indicados na figura a
seguir:
Temos o total de vendas por ano e, dentro do ano, por trimestre, com a possibilidade de expandir a exibio para mais detalhes, usando
a estrutura de botes de navegao.
$%er&/&io 02: Abra a planilha Modulo 4 - DadosEx 02.xls e, a partir dos dados dessa planilha, calcule os subtotais indicados na figura a
seguir:
Temos os subtotais por Pas de Destino e, dentro de cada pas, os subtotais dos pedidos emitidos por cada funcionrio.
Em caso de dvidas na resoluo desses exerccios, entre em contato pelo e-mail: webmaster@juliobattisti.com.br .
Lio 0$: Introduo D &onsolidao de dados
O Recurso de 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 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+Dez!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:
Figura 4.1& - Totais de %endas por regi.o<produto - 9aneiro
Figura 4.1) - Totais de %endas por regi.o<produto - Fe%ereiro
Figura 4.1+ - Totais de %endas por regi.o<produto - 2ar-o.
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, conforme veremos no exemplo prtico da prxima lio.
Existem duas maneiras diferentes de fazermos a consolidao de dados:
Por posio.
Por categoria.
Consolidao de dados "or "osio:
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 "or &ategoria:
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, 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.
=un6es de &Al&ulo dis"on/*eis "ara a &onsolidao 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:
Lio 0%: &onsolidao de dados: e um e3emplo simples
Nessa lio faremos um exemplo prtico, de consolidao, passo-a-passo.
$%er&/&io 04: Abrir o arquivo C:\ExcelAvanado\Modulo 4 - Exerccio 04.xls. Esse arquivo contm quatro planilhas, conforme indicado
nas figuras da lio Anterior. 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.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Modulo 4 - Exerccio 04.xls.
5. Clique em Abrir.
6. Ser aberto o arquivo com quatro planilhas: Jan, Fev, Mar e Trim1.
7. Clique na guia Trim1 para ir para a planilha onde ser feita a consolidao de dados.
8. Clique na clula B5 para indicar o local onde iniciaro os dados consolidados.
9. Selecione o comando #ados ,. Consolidar'''
10. Ser exibida a janela Consolidar, indicada na Figura 4.20:
Figura 4.2! - , 0anela onsolidar.
11. Agora temos que informar ao Excel, as faixas onde esto os dados a serem consolidados.
12. Clique no boto ( ), ao lado do campo Referncia.
13. A janela Consolidar ser ocultada e a planilha exibida. Voc pode usar o mouse para indicar a primeira faixa de clulas. No nosso
exemplo clique na planilha Jan e depois selecione a faixa B5:F9, conforme indicado na Figura 4.21:
Figura 4.21 - #elecionando a primeira (aixa de c:lulas.
14. Clique no boto ( ), na janela Consolidar - Referncia. Voc estar de volta janela Consolidar, com o endereo Jan!$B$5:$F$9.
Observe que o Excel est utilizando endereos absolutos.
15. Clique no boto Adicionar. A faixa Jan!$B$5:$F$9 ser includo na lista de faixas para consolidao, conforme indicado na Figura
4.22:
Figura 4.22 - ,dicionando a primeira (aixa para consolida-.o.
16. Repita os passos de 12 a 15, para adicionar as faixas =e*ZF0F5:F=F9 e 5arZF0F5:F=F9 . A janela Consolidar deve estar conforme
indicado na Figura 4.23:
Figura 4.23 - *e(inindo as demais (aixas para consolida-.o.
17. Certifique-se de que esteja selecionada a funo Soma.
18. 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.
19. Clique em OK. Rapidamente o Excel calcula os totais consolidados para o primeiro trimestre, sem que tenhamos que ter digitado uma
nica frmula, conforme indicado na Figura 4.24:
Figura 4.24 - *ados consolidados para o primeiro trimestre.
Lio 0(: &onsolidao por cate,oria - um e3emplo pr/tico
Nessa lio vamos utilizar os mesmos dados do exerccio da lio 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.
Nesse exemplo utilizaremos o arquivo Modulo 4 - Exerccio 04.xls. Observe que na planilha Trim1 no tem rtulos, os quais sero
copiados diretamente das planilhas Jan, Fev e Mar.
$%er&/&io 05: Abrir o arquivo C:\ExcelAvanado\Modulo 4 - Exerccio 05.xls. Esse arquivo contm quatro planilhas, conforme indicado
nas figuras da lio Anterior. 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.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Modulo 4 - Exerccio 05.xls.
5. Clique em Abrir.
6. Ser aberto o arquivo com quatro planilhas: Jan, Fev, Mar e Trim1.
7. Clique na guia Trim1 para ir para a planilha onde ser feita a consolidao de dados. Observe que a planilha Trim1 no possui os
rtulos dos dados, conforme indicado na Figura 4.25:
Figura 4.25 - Planilha de consolida-.o - sem rPtulos.
8. Clique na clula A4 para indicar o local onde iniciaro os dados consolidados, incluindo os rtulos.
9. Selecione o comando #ados ,. Consolidar'''
10. Ser exibida a janela Consolidar, indicada na Figura 4.26:
Figura 4.2" - , 0anela onsolidar.
11. Agora temos que informar ao Excel, as faixas onde esto os dados a serem consolidados.
12. Clique no boto ( ), ao lado do campo Referncia.
13. A janela Consolidar ser ocultada e a planilha exibida. Voc pode usar o mouse para indicar a primeira faixa de clulas. No nosso
exemplo clique na planilha Jan e depois selecione a faixa A4:F9, conforme indicado na Figura 4.27:
Figura 4.2& - #elecionando inclusi%e os rPtulos.
14. Clique no boto ( ), na janela Consolidar - Referncia. Voc estar de volta janela Consolidar, com o endereo Jan!$A$A:$F$9.
Observe que o Excel est utilizando endereos absolutos.
15. Clique no boto Adicionar. A faixa \anZF(F4:F=F9 ser includo na lista de faixas para consolidao, conforme indicado na Figura
4.28:
Figura 4.2) - ,dicionando a primeira (aixa para consolida-.o.
16. Repita os passos de 12 a 15, para adicionar as faixas =e*ZF(F4:F=F9 e 5arZF(F4:F=F9 . A janela Consolidar deve estar conforme
indicado na Figura 4.29:
Figura 4.2+ - *e(inindo as demais (aixas para consolida-.o.
17. Certifique-se de que esteja selecionada a funo Soma.
18. 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.
19. Clique em OK. Rapidamente o Excel calcula os totais consolidados para o primeiro trimestre, sem que tenhamos que ter digitado uma
nica frmula, conforme indicado na Figura 4.30:
Figura 4.3! - *ados consolidados para o primeiro trimestre.
20. 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, conforme indicado na Figura 4.31:
Figura 4.31 - *etalhes da consolida-.o para a regi.o #ul.
21. O sinal de + se transforma em um sinal de -. Ao clicar no sinal de - os detalhes so ocultados. Salve e feche a planilha.
Lio 0*: &on0i,ura9es relacionadas a consolidao de dados
Nessa lio veremos como alterar algumas configuraes e clculos em planilhas onde foram feitos dados consolidados. Veremos como
alterar os clculos que esto sendo realizados e como aplicar algumas formataes bsicas ao resultado da consolidao.
$%er&/&io 06: Abrir o arquivo C:\ExcelAvanado\Modulo 4 - Exerccio 06.xls. Esse arquivo contm quatro, sendo que a quarta planilha -
Trim1 - a consolidao das trs primeiras planilhas. Na planilha Trim1 est sendo calculado o total de vendas, vamos alterar para que
seja feito o clculo da mdia.
1. Abra o Excel.
2. Selecione o comando Arquivo -> Abrir.
3. Navegue at a pasta C:\ExcelAvanado.
4. Selecione o arquivo Modulo 4 - Exerccio 06.xls.
5. Clique em Abrir.
6. Ser aberto o arquivo com quatro planilhas: Jan, Fev, Mar e Trim1.
7. Clique na guia Trim1 para ir para a planilha onde feita a consolidao de dados. Observe que a planilha Trim1apresenta os totais
consolidados.
8. Selecione o comando Dados -> Consolidar...
9. Ser exibida a janela Consolidar com a funo Soma j selecionada. Selecione a funo Mdia, conforme indicado na Figura 4.32:
Figura 4.32 - ,lterando a (un-.o de c=lculo.
10. Clique em OK. A planilha ser atualizada para exibir as mdias de vendas por regio/produto, nos trs primeiros meses do ano,
conforme indicado na Figura 4.33.
Figura 4.33 - 2:dia de %endas por regi.o<produto.
11. Agora vamos formatar os dados usando o formato Contbil com duas casas decimais. Selecione a faixa de valores.
12. Selecione o comando Formatar -> Clulas. Marque a opo Contbil, com duas casas decimais, conforme indicado na Figura 4.34:
Figura 4.34 - Formatando as c:lulas de %alores.
13. Clique em OK. Os dados sero formatados conforme indicado na Figura 4.35:
Figura 4.35 - Galores (ormatados.
14. Salve e feche a planilha.
Lio 10: &onsolidao com dados de mltiplos ar:ui-os
Nessa lio aprenderemos a fazer a consolidao de dados no Excel, a partir de dados de diferentes arquivos. Vamos utilizar dois
arquivos no formato .txt.
Nota: Para maiores detalhes sobre acessar dados externos no formato de arquivos .txt, consulte as lies do Mdulo 1 .
Utilizaremos dados do arquivo Pedidos - 1997.txt, onde temos o total de vendas por pas, para o ano de 1997, conforme indicado na
Figura 4.36:
Figura 2.+6 - ;otal de endas para 1((7 - no !ormato .t)t
Tambm utilizaremos dados do arquivo Pedidos - 1998.txt, onde temos o total de vendas por pas, para o ano de 1998, conforme
indicado na Figura 4.37:
Figura 2.+7 - ;otal de endas para 1((% - no !ormato .t)t
Vamos utilizar o Excel para calcular o total de vendas consolidado para os dois anos. O Excel ir acessar os dados diretamente nos
arquivos .txt e, a partir desses dados fazer o clculo do total consolidado. Para isso teremos que criar fontes externas de dados,
conforme descrito nas lies do Mdulo 2.
Nota: Os arquivos .txt esto na pasta C:\ExcelAvancado, conforme veremos no exerccio prtico a seguir.
$%er&/&io 07: Abrir o Excel e criar uma nova planilha, na qual ser calculado o total consolidado de vendas para 1997 e 1998. Salvar a
planilha com o nome de Modulo 4 - Exerccio 07.xls na pasta C:\ExcelAvancado.
1. Abra o Excel.
2. Vamos acessar, inicialmente, os dados do arquivo Pedidos - 1998.txt.
3. Selecione o comando #ados ,. -bter dados e%ternos ,. !"ortar ar)ui*o de te%to'''
4. Ser aberta a janela Importar arquivo de texto. Navegue at a pasta C:\ExcelAvancado e clique no arquivo Pedidos - 1998.txt para
seleciona-lo.
5. Clique no boto Importar.
6. Ser aberto o assistente para importao de texto. Na primeira tela voc precisa informar se os dados esto no formato delimitado ou
largura fixa. Selecione Delimitado e d um clique no boto Avanar.
7. Na segunda tela do assistente voc tem que informar o caractere separador de campo. Selecione somente ponto e vrgula. Na lista
qualificador de texto selecione Nenhum e clique em Avanar.
8. Ser exibida a terceira etapa do assistente. Clique em Concluir.
9. Ser exibida a janela Importar dados. Clique em OK.
10. Os dados do arquivo Pedidos - 1998.txt sero importados para a planilha Plan1, conforme indicado na Figura 4.38:
Figura 2.+% - <ados de endas para 1((%.
11. V para a planilha Plan2 e clique na Clula A1. Repita os passos de 3 a 9 para importar os dados do arquivo Pedidos - 1998.txt para a
planilha Plan2.
12. Agora temos os dados de 1998 na planilha Plan1 e os dados de 1997 na planilha Plan2. Na Planilha Plan3 vamos calcular o
consolidado desses dois anos.
13. Clique na planilha Plan3 e em seguida clique na Clula A1.
14. Selecione o comando #ados ,. Consolidar'''
15. Ser exibida a janela Consolidar, indicada na Figura 4.39:
Figura 2.+( - A 1anela #onsolidar.
16. Agora temos que informar ao Excel, as faixas onde esto os dados a serem consolidados.
17. Clique no boto ( ), ao lado do campo Referncia.
18. A janela Consolidar ser ocultada e a planilha exibida. Voc pode usar o mouse para indicar a primeira faixa de clulas. No nosso
exemplo clique na planilha Plan1 e depois selecione a faixa A1:C22.
19. Clique no boto ( ), na janela Consolidar - Referncia. Voc estar de volta janela Consolidar, com o endereo Plan1!
$A$1:$C$22. Observe que o Excel est utilizando endereos absolutos.
20. Clique no boto Adicionar. A faixa 4lan1ZF(F1:FCF22 ser includo na lista de faixas para consolidao.
21. Repita os passos de 16 a 20, para adicionar a faixa 4lan2ZF(F1:FCF22 . A janela Consolidar deve estar conforme indicado na Figura
4.40:
Figura 2.2, - <e!inindo as demais !ai)as para consolidao.
22. Certifique-se de que esteja selecionada a funo Soma.
23. 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.
24. Clique em OK. Rapidamente o Excel calcula os totais consolidados para os anos de 1997 e 1998, sem que tenhamos que ter digitado
uma nica frmula, conforme indicado na Figura 4.41:
Figura 2.21 - <ados consolidados para 1((7 e 1((%.
25. Salvar a planilha com o nome de Modulo 4 - Exerccio 07.xls na pasta C:\ExcelAvancado.
26. Feche a planilha.
Nota: Os dados exibidos nas planilhas do excel, podem ser atualizados para refletir alteraes que tenham sido feitas nos arquivos .txt, a
partir dos quais os dados foram importados. Para isso selecione o comando Dados -> Obter dados externos -> Propriedades do intervalo
de dados. Na janela que exibida voc pode configurar um intervalo de atualizao, para que o Excel sincronize os dados da planilha
com os dados dos arquivos de texto. Voc tambm pode exibir a barra de ferramentas Dados externos: Exibir -> Barra de ferramentas
-> Dados externos. Em seguida clique em uma das clulas de dados e depois clique no boto Atualizar dados ( ), para que o Excel
faa uma atualizao imediata dos dados. Quaisquer alteraes que tenham sido feitas nos arquivos .txt, sero refletidas na planilha
quando a sincronizao for efetuada.
Lio 11: +n/lise de Dados com o 23cel - Introduo e &onceitos
O Excel tambm pode ser utilizado para fazer Anlise de Hipteses (tambm conhecida com anlise de cenrios). Por exemplo, voc est
analisando qual a melhor opo de compra para um imvel, onde voc quer achar a melhor alternativa entre o quantitativo a ser pago
vista e o quantitativo a ser financiado. Quanto mais voc pagar a vista, menos ter que financiar, em contrapartida mais dinheiro ter
que retirar das suas aplicaes para cobrir a entrada maior. Nessa situao voc pode variar o valor da entrada e fazer com que o Excel
recalcule as demais variveis que dependem do valor de entrada.
Podemos criar cenrios mais complexos, dependentes de duas ou mais variveis. No exemplo anterior podemos introduzir como segunda
varivel a taxa de juros mensal do financiamento. Nesse caso teremos um cenrio onde variam os valores da entrada e da taxa de juros.
O objetivo definir qual a melhor proposta, ou seja, aquela em que ser pago o menor valor j includos os juros, ao mesmo tempo em
que otimizamos o rendimento do dinheiro aplicado, reduzindo a entrada a ser paga.
A anlise feita a partir da construo de Tabelas de Dados. A seguir vemos o conceito de Tabela de Dados.
- &on&eito de Gabela de #ados:
Uma Tabela de Dados um intervalo de clulas que mostra os resultados da substituio de diferentes valores em uma ou mais
frmulas. Existem dois tipos de tabelas de dados: tabelas de entrada nica e tabelas de dupla entrada. Para tabelas de entrada nica,
voc insere valores diferentes para uma varivel e v o efeito em uma ou mais frmulas. Para uma tabela de entrada dupla, voc insere
diferentes valores para duas variveis e verifica os efeitos em uma frmula.
Uma tabela de dados um intervalo de clulas que mostra como a alterao de determinados valores em suas frmulas afeta os
resultados das frmulas. As tabelas de dados fornecem um atalho para calcular vrias verses em uma operao e uma maneira de exibir
e comparar os resultados de todas as variaes diferentes em sua planilha.
Gabelas de dados de *ariA*el 8ni&a : Por exemplo, use uma tabela de dados de varivel nica se voc desejar ver como diferentes
taxas de juros afetam o pagamento mensal de uma hipoteca. No exemplo a seguir, a clula D2 contm a frmula de pagamento,
=PGTO(B3/12,B4,-B5), que se refere clula de entrada B3.
Nota: Para maiores detalhes sobre funes financeiras tais como PGTO, consulte o curso de Excel Bsico em 120 Lies, no seguinte
endereo: http://www.juliobattisti.com.br/excel120/excel120.asp .
Gabelas de dados &o! duas *ariA*eis: Uma tabela de dados com duas variveis pode mostrar, por exemplo, como diferentes taxas de
juros e prazos de emprstimos afetaro o pagamento da hipoteca. No exemplo seguinte, a clula C2 contm a frmula de pagamento,
=PGTO(B3/12,B4,-B5), que usa duas clulas de entrada, B3 e B4.
- Con&eito de CenArios:
Um cenrio um conjunto de valores que o Microsoft Excel salva e pode substituir automaticamente na sua planilha. Voc pode usar
cenrios para prever o resultado de um modelo de planilha. Voc pode criar e salvar diferentes grupos de valores em uma planilha e
alternar para qualquer um desses novos cenrios para exibir resultados diferentes.
Por exemplo, se voc deseja criar um oramento mas no tem certeza de sua receita, pode definir valores diferentes para a receita e
alternar entre os cenrios para efetuar anlises hipotticas.
No exemplo acima, voc poderia chamar o cenrio de Pior Caso, definir o valor na clula B1 para R$ 50.000 e definir o valor na clula B2
para R$ 13.200.
Voc poderia chamar o segundo cenrio de Melhor Caso e alterar os valores em B1 para R$ 150.000 e B2 para R$ 26.000.
Celat;rios de resu!o do &enArio: Para comparar vrios cenrios, voc pode criar um relatrio que os resuma na mesma pgina. O
relatrio pode listar os cenrios lado a lado ou resumi-los em um relatrio de tabela dinmica.
(tingir !etas e o ?ol*er:
Quando voc sabe o resultado desejado de uma nica frmula mas no o valor de entrada que a frmula precisa para determinar o
resultado, pode usar o recurso Atingir meta. Ao atingir meta, o Microsoft Excel varia o valor em uma clula especfica at uma frmula
dependente daquela clula retornar o resultado desejado.
Por exemplo, use Atingir meta para alterar a taxa de juros na clula B3 de forma incremental at que o valor do pagamento em B4 seja
igual a R$ 900,00.
?ol*er:
Voc tambm pode determinar os valores resultantes quando precisar alterar mais de uma clula usada em uma frmula e tiver vrias
restries para esses valores. O Solver ajusta os valores nas clulas especificadas para produzir o resultado desejado da frmula.
Por exemplo, use o Solver para maximizar o lucro mostrado na clula F7 alterando o oramento trimestral de publicidade (clulas B5:E5)
e limitando o oramento total de publicidade (clula F5) para R$ 40.000.
Nas prximas lies veremos exemplos prticos de anlise de cenrios e simulaes usando o Excel.
Lio 12: +n/liseC7imula9es 8aseadas em uma 6a8ela de Dados
Nessa lio criaremos uma tabela de dados baseada em uma nica varivel e utilizaremos o Excel para fazer uma anlise de hipteses,
variando o valor dessa varivel.
$%e!"lo "ro"osto: Vamos utilizar um exemplo que clssico para simulaes de uma varivel. Esse exemplo utilizado em diversos
livros de Excel que tratam sobre simulaes. Imagine que voc est analisando a hiptese de um emprstimo para aquisio da casa
prpria. Nesse caso voc far um emprstimo de R$ 150.000,00, em 30 anos e quer calcular o valor da prestao mensal, com base em
diferentes taxas de juros oferecidas pelo mercado.
$%e!"lo 07: Nesse exemplo vamos fazer uma anlise de cenrio, para clculo do valor da prestao mensal de um emprstimo com
prazo de 30 anos - 360 meses. Usaremos os dados da planilha C:\ExcelAvancado\Modulo 4 - Exerccio 07.xls, indicada na Figura 4.42:
Figura 4.42 - *ados para a an=lise de hipPteses.
1. Abra o Excel.
2. Abra a planilha C:\ExcelAvancado\Modulo 4 - Exerccio 07.xls.
3. Na Clula C3 digite o valor do emprstimo desejado. No nosso exemplo digite 150000.
4. A taxa de juros a chamada Varivel de Entrada, ou seja, para cada valor diferente da Taxa de Juros teremos um valor diferente para
o valor da prestao. Para calcular o valor da prestao vamos utilizar a funo PGTO, a qual foi vista no Curso Bsico de Excel em 120
lies.
5. Para fazer a simulao, devemos colocar a funo de clculo em uma clula qualquer da planilha. Essa clula servir como referncia
para o Excel, para que ele saiba quais os clculos devem ser efetuados com os diferentes valores de entrada. Apenas para recordar, a
funo PGTO recebe trs parmetros: A taxa mensal de juros, o prazo em meses e o valor do emprstimo. Na nossa planilha, as taxas
esto na Coluna B, o prazo de 360 meses e o valor do emprstimo est na clula C3. Com isso a funo PGTO de referncia fica assim:
>4YG-1(6I360I#33
Digite essa frmula na Clula C5. Voc deve estar se perguntando: " - \8lio estA lou&o@ ". A6 uma clula vazia. Ao invs de A6 no
seria B6. Utilizamos uma clula vazia, acima do primeiro valor de entrada, para que o Excel possa fazer a simulao. Quando inicia a
simulao, o Excel usa a clula A6 como um local para clculos temporrios, onde ele coloca a frmula de referncia, calcula o valor para
a primeira taxa de juros e em seguida transporta esse valor para o local definitivo. Em seguida o Excel usa a prxima taxa de juros,
calcula um novo valor e transporta esse valor para o destino e assim por diante.
6. Nesse momento o Excel calcula um valor negativo, pois a clula B5 contm um valor zero. Dessa maneira a funo PGTO ir calcular
um valor de prestao negativo, indicado pelo nmero em vermelho e entre parnteses, conforme indicado na Figura 4.43:
Figura 4.43 - Galor de re(er@ncia.
Agora estamos aptos a iniciar a nossa simulao.
7. Selecione o intervalo de clulas que inclui todos os valores de entrada, mais a clula de referncia. No nosso exemplo selecione o
intervalo B5:C13, conforme indicado na Figura 4.44:
Figura 4.44 - Faixa para a simula-.o.
8. Selecione o comando #ados ,. Gabela'''
9. Ser exibida a janela Tabela, indicada na Figura 4.45:
Figura 4.45 - , 0anela Ta/ela.
Nessa janela temos os seguintes campos:
C9lula de entrada da linha: Insira a referncia da clula de entrada para uma tabela de dados de uma nica varivel quando os valores
de entrada estiverem em uma linha. Para uma tabela de dados de duas variveis, insira referncias nessa caixa e na caixa Clula de
entrada da coluna. No nosso exemplo os valores esto em uma coluna, na coluna B. Deixe esse campo em branco.
C9lula de entrada da &oluna: Insira a referncia da clula de entrada para uma tabela de dados de uma nica varivel quando os
valores de entrada estiverem em uma coluna. Para uma tabela de dados de duas variveis, insira referncias nessa caixa e na caixa
Clula de entrada da linha. o caso do nosso exemplo, onde os valores de entrada esto na coluna B. A clula de entrada o endereo
da clula de referncia. Essa a clula em branco, ao lado dos valores de entrada. No nosso exemplo a clula A5. Digite o endereo
absoluto $A$5, conforme indicado na Figura 4.46:
Figura 4.4" - , c:lula de re(er@ncia.
10. Clique em OK.
11. Voc obter os resultados indicados na Figura 4.47:
Figura 4.4& - =lculos (eitos pelo Excel para o %alor da presta-.o.
12. Os valores so negativos pois representam pagamentos. Altere o valor do emprstimo de 150000 para 100000 e observe que,
automaticamente, o Excel recalcula os valores dos pagamentos, conforme indicado na Figura 4.48:
Figura 4.4) - #imula-.o com um no%o %alor para o empr:stimo.
13. Dessa maneira voc poder fazer diferente simulaes, com diferentes valores para o emprstimo.
14. Salve e feche a planilha.
Lio 1!: +n/liseC7imula9es: 7imulao com mltiplos -alores
Quando fazemos simulaes baseadas em uma varivel (no caso do exemplo anterior, na taxa de juros) possvel utilizar mais do que
uma frmula. Por exemplo, poderamos criar simulaes para duas ou mais colunas, cada uma baseada em um montante diferente.
Nessa lio vamos fazer um exemplo, passo-a-passo, no qual vamos calcular o valor das prestaes baseadas em diferentes taxas de
juros e em diferentes valores de capital.
$%e!"lo 08: Nesse exemplo vamos fazer uma anlise de cenrio, para clculo do valor da prestao mensal de um emprstimo com
prazo de 30 anos - 360 meses, baseado em diferentes taxas de juros e diferentes valores para o emprstimo. Usaremos os dados da
planilha C:\ExcelAvancado\Modulo 4 - Exerccio 08.xls, indicada na Figura 4.49:
Figura 2.2( - <ados para a anAlise de hipHteses.
1. Abra o Excel.
2. Abra a planilha C:\ExcelAvancado\Modulo 4 - Exerccio 08.xls.
3. Nas Clulas C3, C4 e C5 temos os valores para o total do emprstimo. Na coluna B temos os valores de taxas de juros. O prximo
passo ser inserir as frmulas de referncia.
4. A taxa de juros a chamada Varivel de Entrada, ou seja, para cada valor diferente da Taxa de Juros teremos um valor diferente para
o valor da prestao. Para calcular o valor da prestao vamos utilizar a funo PGTO, a qual foi vista no Curso Bsico de Excel em 120
lies. O interessante da anlise de cenrios que independente do nmero de valores diferentes para a Varivel de Entrada, o Excel
calcular valores de prestao para todos, sem que tenhamos que informar a faixa dos valores de entrada.
5. Para fazer a simulao, devemos colocar a funo de clculo em uma clula qualquer da planilha - frmula de referncia. Essa clula
servir como referncia para o Excel, para que ele saiba quais os clculos devem ser efetuados com os diferentes valores de entrada.
Apenas para recordar, a funo 4YG- recebe trs parmetros: A taxa mensal de juros, o prazo em meses e o valor do emprstimo. Na
nossa planilha, as taxas esto na Coluna B, o prazo de 360 meses e o primeiro valor do emprstimo est na clula C3. Digite as
seguintes funes nas seguintes clulas:
=uno Na C9lula
>4YG-1(6I360IC33 C5
>4YG-1(6I360I#33 #5
>4YG-1(6I360I$33 $5
6. Agora estamos aptos a iniciar a nossa simulao.
7. Selecione o intervalo de clulas que inclui todos os valores de entrada, mais as clulas de referncia. No nosso exemplo selecione o
intervalo B5:E15, conforme indicado na Figura 4.50:
Figura 2.8, - Fai)a para a simulao.
8. Selecione o comando #ados ,. Gabela'''
9. Ser exibida a janela Tabela.
10. No campo Clula de entrada da coluna digite $B$5, conforme indicado na Figura 4.51.
Figura 2.81 - A c$lula de re!erIncia.
10. Clique em OK.
11. Voc obter os resultados indicados na Figura 4.52:
Figura 2.82 - #Alculos !eitos pelo 3)cel para o alor das prestaJes.
12. Os valores so negativos pois representam pagamentos. Observe que o Excel calcula, automaticamente, o valor para todas as
prestaes, com base em diferentes taxas de juros e diferentes valores para o emprstimo.
13. Dessa maneira voc poder fazer diferente simulaes, com diferentes valores para o emprstimo.
14. Salve e feche a planilha.
Lio 1": +n/liseC7imula9es: 7imulao com duas -ari/-eis
Os exemplos das Lies 12 e 13 so de simulaes baseadas em uma nica varivel: Taxa de Juros. Na Lio 13 utilizamos vrias
frmulas, uma para cada valor de emprstimo, para poder fazer simulaes para diferentes emprstimos diferentes taxas. possvel
fazer simulaes para duas variveis, sem que tenhamos que utilizar vrias frmulas, uma para cada valor da segunda varivel. Nessa
lio vamos fazer um exemplo, passo-a-passo, no qual vamos calcular o valor das prestaes baseadas diferentes prazos, onde no ser
necessria a utilizao de diferentes frmulas. Nesse caso uma das variveis ser a taxa de juros e a outra ser o prazo, em meses.
$%e!"lo 09: Nesse exemplo vamos fazer uma anlise de cenrio, para clculo do valor da prestao mensal de um emprstimo com
diferentes prazos, em meses, baseado em diferentes taxas de juros, para um valor fixo do emprstimo. Usaremos os dados da planilha
C:\ExcelAvancado\Modulo 4 - Exerccio 09.xls, indicada na Figura 4.53:
Figura 4.53 - *ados para a an=lise de hipPteses.
1. Abra o Excel.
2. Abra a planilha C:\ExcelAvancado\Modulo 4 - Exerccio 09.xls.
3. Nas Clulas C5, D5 e E5, F5 e G5 temos os valores para os prazos. Na coluna B temos os valores de taxas de juros. O prximo passo
ser inserir a frmula de referncia.
4. Um detalhe importante que a frmula de referncia deve ser inserida na clula de interseo entre a coluna das taxas de juros e a
linha dos valores de prazos, no nosso exemplo a clula B5.
5. Digite a seguinte frmula na Clula B5:
>4YG-1(5I04IC33
Observe os seguintes detalhes:
(5 -> a primeira clula esquerda da frmula de referncia.
04 -> a primeira clula acima da frmula de referncia
C3 -> a clula onde est o valor do emprstimo.
Aps ter inserido a frmula ser gerado um erro #DIV/0!. Por enquanto isso mesmo, voc no fez nada de errado.
6. Agora estamos aptos a iniciar a nossa simulao.
7. Selecione o intervalo de clulas que inclui todos os valores de entrada, mais as clulas de referncia. No nosso exemplo selecione o
intervalo B5:G15, conforme indicado na Figura 4.54:
Figura 4.54 - Faixa para a simula-.o.
8. Selecione o comando #ados ,. Gabela'''
9. Ser exibida a janela Tabela.
10. Nesse exemplo temos duas clulas de referncia: A5 para coluna e B4 para linha. Preencha os campos da janela Tabela, conforme
indicado na Figura 4.55.
Figura 4.55 - *uas %ari=%eis M duas c:lulas de re(er@ncia.
10. Clique em OK.
11. Voc obter os resultados indicados na Figura 4.56:
Figura 4.5" - #imula-.o com /ase em duas %ari=%eis.
12. Os valores so negativos pois representam pagamentos. Observe que o Excel calcula, automaticamente, o valor para todas as
prestaes, com base em diferentes taxas de juros e diferentes prazos de pagamento para o emprstimo.
13. Dessa maneira voc poder fazer diferente simulaes, com diferentes valores para as taxas de juros, para os prazos e, at mesmo
variando o valor do emprstimo.
14, Na clula C3 digite 450000 para o emprstimo e observe como o Excel atualiza a planilha.
14. Salve e feche a planilha.
Lio 1#: +tin,indo O8Eeti-os - + )erramenta +tin,ir Metas
Nessa lio aprenderemos a utilizar o comando Atingir meta.
Quando voc sabe o resultado desejado de uma nica frmula mas no o valor de entrada (ou das entradas) que a frmula precisa para
determinar o resultado, pode usar o recurso Atingir meta. Ao atingir meta, o Microsoft Excel varia o valor em uma clula especfica at
uma frmula dependente daquela clula retornar o resultado desejado.
Por exemplo, use Atingir meta para alterar a taxa de juros na clula B3 de forma incremental at que o valor do pagamento em B4 seja
igual a R$ 900,00.
O comando Atingir Metas utiliza um mtodo iterativo para achar o valor que atenda a situao proposta. Uma das limitaes desse
comando que ele somente pode ser utilizado para problemas de uma nica varivel. Por exemplo, voc no pode utilizar o comando
Atingir Metas para determinar a taxa de juros e o prazo, para um determinado emprstimo, que produzam um valor especfico para a
prestao.
Por padro o comando Atingir Metas interrompe os clculos aps 100 iteraes ou depois de encontrar uma resposta que esteja dentro
de 0,001 de seu valor de destino especificado. Caso seja necessria uma preciso maior, podemos alterar o nmero de iteraes e a
preciso desejada. Para isso selecione o comando =erra!entas ,. -"6es . Clique na guia Clculo e altere o valor dos campos N Mx.
de iteraes: e Alterao mxima, conforme indicado na Figura 4.
O comando Atingir Metas est disponvel no menu Ferramentas. Vamos utilizar um exemplo prtico de uso da ferramenta Atingir Metas.
Figura 4.5& - ,lterando a precis.o do comando ,tingir 2etas.
$%e!"lo 10: Nesse exemplo vamos criar uma nova planilha e usar a ferramenta Atingir Metas:
1. Abra o Excel.
2. Digite os dados indicados na Figura 4.58:
Figura 4.5) - *ados para o exemplo proposto.
3. Nessa planilha usamos a funo PGTO, na clula B4, para calcular a prestao correspondente a um emprstimo de 300000, a juros de
2% ao ms, durante 30 anos (360 meses). Na clula B4 digite a frmula: = =PGTO(B2;360;B1)
4. Agora vamos imaginar que voc queira calcular qual o emprstimo que corresponde a uma prestao de 2000,00, que o valor
mximo que voc poderia pagar.
5. Clique na clula B4, onde est a frmula de clculo da prestao.
6. Selecione o comando Ferramentas ->Atingir Meta...
7. Ser aberta a janela Atingir meta. No campo Definir clula, digite o endereo da clula que voc quer fixar. No nosso exemplo
queremos fixar a prestao em 2000. Digite B4 nesse campo.
8. No campo Para valor, digite o valor a ser fixado para a clula B4. No nosso exemplo digite -2000. importante que voc use o sinal de
-, para indicar que um pagamento.
9. No campo Variando clula digite o endereo da clula cujo valor ser alterado, para que se chegue a prestao de 2000. No nosso
exemplo queremos variar o valor do emprstimo, que est na Clula B1. Digite B1. A janela Atingir meta dever estar conforme indicado
na Figura 3.59:
Figura 4.5+ - *ados para atingir meta.
10. Clique em OK. O Excel chega a um capital de 99919,84361 , ou seja, na prtica voc poderia fazer um emprstimo de 100000, a taxa
de 2%, com um prazo de 360 meses, para pagar uma prestao de 2000.
11. A janela Status do comando atingir meta fica aberta. Clique em OK para fecha-la.
12. Salve a planilha na pasta C:\ExcelAvanado\ Modulo 4 - Exerccio 10.xls.
13. Feche o Excel.
Lio 1$: Berenciando &en/rios - Introduo e 23emplo
A partir dessa lio aprenderemos a trabalhar com cenrios.
- )ue 9 u! CenArio@
Um cenrio um conjunto de valores que o Microsoft Excel salva e pode substituir automaticamente na sua planilha. Voc pode usar
cenrios para prever o resultado de um modelo de planilha. Voc pode criar e salvar diferentes grupos de valores em uma planilha e
alternar para qualquer um desses novos cenrios para exibir resultados diferentes.
As tabelas de dados que utilizamos para simulaes nas Lies 12, 13 e 14 so indicadas para problemas relativamente simples, com
uma ou duas variveis. Para a soluo de problemas mais complexos, de at 32 variveis, podemos utilizar o recurso de Gerenciador de
Cenrios, a partir do comando Cenrios no menu Ferramentas.
possvel criar vrios cenrios para um nico modelo de simulao, onde cada cenrio apresenta um conjunto diferente de variveis.
possvel proteger os cenrios com senha para que no sejam modificados.
Criar &enArios: Por exemplo, se voc deseja criar um oramento mas no tem certeza de sua receita, pode definir valores diferentes
para a receita e alternar entre os cenrios para efetuar anlises hipotticas.
No exemplo acima, voc poderia chamar o cenrio de Pior Caso, definir o valor na clula B1 para R$ 50.000 e definir o valor na clula B2
para R$ 13.200.
Voc poderia chamar o segundo cenrio de Melhor Caso e alterar os valores em B1 para R$ 150.000 e B2 para R$ 26.000.
Celat;rios de resu!o do &enArio: Para comparar vrios cenrios, voc pode criar um relatrio que os resuma na mesma pgina. O
relatrio pode listar os cenrios lado a lado ou resumi-los em um relatrio de tabela dinmica.
Nessa lio vamos apresentar a planilha de dados que ser utilizada nos exemplos prticos das prximas lies. Na prxima lio vamos
aprofundar o estudo de cenrios, atravs de exemplos prticos.
A planilha que utilizaremos nos exemplos da prxima lio:
Nos exemplos das prximas lies vamos usar os dados da planilha indicada na Figura 4.60:
Figura 4."! - *ados para os exemplos das prPximas li-Ies.
Nessa planilha temos o acompanhamento de rendas (Fluxo de caixa) provenientes do aluguel de imveis. Com base no valor mdio do
aluguel mensal imvel, no valor mdio das despesas mensais, no nmero de imveis, na taxa de ocupao mdia (quantos meses por
ano o imvel fica alugado) e no valor de uma prestao de financiamento, queremos calcular qual seria a receita lquida anual. Por
exemplo, na linha 7 teramos uma receita anual negativa de -6130 reais, para uma ocupao mdia de apenas um ms por ano. Observe
que a partir de uma ocupao mdia de 3 meses, a receita lquida anual j passa para 270 reais, ou seja, basta que os imveis passem
alugados apenas 3 meses por ano, para que seja possvel pagar todas as despesas, mais o financiamento e ainda sobraria 270 reais.
Podemos criar diferentes cenrios. Por exemplo, podemos criar um cenrio com valores diferentes para o valor mdio do aluguel e
tambm aumentando o valor do endividamento (valor da prestao). Ou poderamos criar um cenrio onde o nmero de imveis seja
aumentado atravs de um novo financiamento, com o conseqente aumento do valor da prestao do financiamento.
Lio 1%: &riando &en/rios - &riao dos cen/rios
Vamos usar a planilha da Figura 4.60, da Lio anterior, para criar diferentes cenrios.
$%e!"lo 10: Nesse exemplo vamos abrir a planilha C:[$%&el(*an&ado[5odulo 4 , $%er&/&io 10'%ls . Em seguida criaremos 4
cenrios diferentes. O cenrio principal ser composto pelos dados que j esto na planilha, em seguida criaremos mais trs cenrios
com os dados indicados a seguir:
CenArio 1: Aumentamos o nmero de imveis e, conseqentemente, aumento o valor da prestao do financiamento.
!;*eis 15
59dia do aluguel 320
59dia das des"esas 65
=inan&ia!ento 3520
CenArio 2: Aumentamos o nmero de imveis e, conseqentemente, aumento o valor da prestao do financiamento e ao mesmo tempo
diminumos a mdia mensal das despesas, pois imveis novos do menos despesas de manuteno.
!;*eis 15
59dia do aluguel 320
59dia das des"esas 45
=inan&ia!ento 3520
CenArio 3: Mantemos o nmero original de imveis e, porm aumentamos o valor do aluguel. Isso pode fazer com que diminua a taxa
mdia de ocupao, porm queremos ver o efeito combinado desses fatores no fluxo de caixa anual.
!;*eis 10
59dia do aluguel 370
59dia das des"esas 65
=inan&ia!ento 1530
Ao criarmos um cenrio, conforme veremos logo em seguida, temos que informar ao Excel, onde esto as clulas que iro ter seu valor
alterado de um cenrio para o outro. No nosso exemplo sero as clulas B1, B2, B3 e B4, onde esto os valores do nmero de imveis,
do valor mdio do aluguel, do valor mdio das despesas e do financiamento, respectivamente.
1. Abra o Excel.
2. C:\ExcelAvancado\Modulo 4 - Exerccio 10.xls
3. Vamos criar um novo cenrio.
4. Selecione as clulas onde esto os valores que iro variar de cenrio para cenrio. No nosso exemplo selecione as clulas de B1 at
B4.
5. Selecione o comando =erra!entas ,. CenArios'''
6. Ser exibida a janela Gerenciador de cenrios, indicado na Figura 4.61:
Figura 4."1 - , 0anela Berenciador de cen=rios.
7. Clique no boto Adicionar.
8. Ser exibida a janela Adicionar cenrio.
9. No campo nome digite Cenrio principal.
10. No campo Clulas variveis informe o intervalo B1:B4, que o intervalo onde esto as clulas que tero seus valores alterados de um
cenrio para o outro.
11. Comentrio digite: Cenrio com os valores originais.
12. Sua janela deve estar conforme indicado na Figura 4.62:
Figura 4."2 - *e(ini-Ies para o cen=rio principal.
13. Clique em OK.
14. Ser exibida a janela Valores de cenrio. Nessa janela j esto os valores da faixa B1 at B4, pois selecionamos essa faixa, antes de
iniciar a criao de cenrios, conforme indicado na Figura 4.63:
Figura 4."3 - Galores para o cen=rio principal.
15. Clique em OK. O cenrio Principal ser criado e a janela Gerenciador de Cenrios ser exibida. Observe que o Cenrio Principal j
aparece na lista de cenrios, conforme indicado na Figura 4.64:
Figura 4."4 - en=rio Principal5 0= criado.
16. Clique no boto Adicionar..., para criar mais um cenrio.
17. Ser exibida a janela Adicionar cenrio. Informe os valores indicados na Figura 4.65:
Figura 4."5 - riando o en=rio 2ais'mP%eis.
18. Clique em OK.
19. Ser exibida a janela Valores de cenrio. Nessa janela vamos informar os valores para esse cenrio, conforme indicado na tabela a
seguir:
!;*eis 15 $B$1
59dia do aluguel 320 $B$2
59dia das des"esas 65 $B$3
=inan&ia!ento 3520 $B$4
20. Clique em OK. O cenrio 5ais!;*eis ser criado e a janela Gerenciador de Cenrios ser exibida. Observe que o Cenrio
5ais!;*eis j aparece na lista de cenrios.
21. Clique no boto Adicionar..., para criar mais um cenrio.
22. Ser exibida a janela Adicionar cenrio. Informe os valores indicados na Figura 4.66.
23. Clique em OK.
24. Ser exibida a janela Valores de cenrio. Nessa janela vamos informar os valores para esse cenrio, conforme indicado na tabela a
seguir:
!;*eis 15 $B$1
59dia do aluguel 320 $B$2
59dia das des"esas 45 $B$3
=inan&ia!ento 3520 $B$4
25. Clique em OK. O cenrio 5enos#es"esas ser criado e a janela Gerenciador de Cenrios ser exibida. Observe que o Cenrio
5enos#es"esas j aparece na lista de cenrios.
Figura 4."" - riando o en=rio 2enos*espesas.
26. Clique no boto Adicionar..., para criar mais um cenrio.
27. Ser exibida a janela Adicionar cenrio. Informe os valores indicados na Figura 4.67.
Figura 4."& - riando o en=rio ,luguel2aisaro.
28. Clique em OK.
29. Ser exibida a janela Valores de cenrio. Nessa janela vamos informar os valores para esse cenrio, conforme indicado na tabela a
seguir:
!;*eis 10 $B$1
59dia do aluguel 370 $B$2
59dia das des"esas 65 $B$3
=inan&ia!ento 1530 $B$4
30. Clique em OK. O cenrio (luguel5aisCaro ser criado e a janela Gerenciador de Cenrios ser exibida. Observe que o Cenrio
(luguel5aisCaro j aparece na lista de cenrios, conforme indicado na Figura 4.68:
Figura 4.") - Huatro cen=rios criados.
31. Mantenha essa janela aberta pois iremos utiliza-la para simular clculos para os diferentes cenrios. Mas isso s na prxima lio.
Lio 1(: Utili'ando os &en/rios &riados na Lio +nterior
Nessa lio aprenderemos a utilizar os cenrios definidos na Lio 17. Em primeiro lugar veremos como fazer com que o Excel recalcule
os valores da planilha, com base nas entradas de um cenrio especfico. Na prxima lio veremos como criar um relatrio consolidado,
onde so comparados os clculos com base nos valores dos diferentes cenrios.
$%e!"lo 11: Nesse exemplo vamos abrir a planilha C:[$%&el(*an&ado[5odulo 4 , $%er&/&io 11'%ls . Essa planilha contm os quatro
cenrios criados na lio anterior. Em seguida vamos utilizar os quatro cenrios definidos na lio anterior.
1. Abra a planilha C:\ExcelAvancado\Modulo 4 - Exerccio 11.xls.
2. Vamos fazer com que o Excel recalcule os valores da planilha, com base nos valores do Cenrio 2, que foi salvo com o nome de
MenosDespesas, onde temos os seguintes valores:
!;*eis 15
59dia do aluguel 320
59dia das des"esas 45
=inan&ia!ento 3520
3. Selecione o comando Ferramentas -> Cenrios...
4. Ser exibida a janela Gerenciador de Cenrios. Marque o Cenrio MenosDespesas, conforme indicado na Figura 4.69:
Figura 4."+ - Utili8ando o en=rio; 2enos*espesas.
5. Clique no boto Mostrar.
6. O Excel refaz os clculos, com base nos valores definidos para o cenrio MenosDespesas e exibe os resultados na planilha, conforme
indicado na Figura 4.70:
Figura 4.&! - Galores recalculados para o cen=rio; 2enos*espesas.
7. Observe que a janela Gerenciador de Cenrios continua aberta. Vamos fazer uma nova simulao. Vamos refazer os clculos de Fluxo
anual de caixa, com base nos valores do cenrio AlguelMaisCaro.
8. Marque o cenrio AluguelMaisCaro e clique no boto Mostrar. Os valores sero recalculados, conforme indicado na Figura 4.71. Salve e
Feche a planilha.
Figura 4.&1 - Galores recalculados para o cen=rio; ,luguel2aisaro.
Lio 1*: Berando um @elatrio &onsolidado de &en/rios
Nessa lio veremos como 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.
$%e!"lo 11: Nesse exemplo vamos abrir a planilha C:[$%&el(*an&ado[5odulo 4 , $%er&/&io 11'%ls . Essa planilha contm os quatro
cenrios criados na lio anterior. Em seguida vamos utilizar os quatro cenrios definidos na lio anterior.
1. Abra a planilha C:\ExcelAvancado\Modulo 4 - Exerccio 12.xls.
2. Vamos criar um relatrio de cenrio. Selecione o comando Ferramentas -> Cenrios... Ser exibida a janela Gerenciador de cenrios.
3. Clique no boto Resumir...
4. Ser exibida a janela Resumo de cenrio. Nessa janela voc define quais as clulas que faro parte do relatrio final e o tipo de
relatrio. Por padro selecionada a faixa de clula com os valores que so calculados com base nos valores para cada cenrio. No nosso
exemplo ser selecionada, automaticamente, a faixa B7:B18, onde so calculados os valores para o Fluxo de Caixa.
5. Selecione a faixa =$A$7:$B$18, conforme indicado na Figura 4.72:
Figura 4.&2 - #elecionando a (aixa $ue (ar= parte do relatPrio.
6. Marque a opo Resumo de relatrio. Nessa tela temos duas opes:
Cesu!o de relat;rio: 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.
Gabela dinR!i&a de &enArio: 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.
7. Clique em OK.
8. Ser gerado um relatrio, consolidado, com base nos valores dos quatro cenrios existentes, conforme indicado na Figura 4.73:
Figura 4.&3 - ?elatPrio consolidado5 com /ase nos %alores de $uatro cen=rios.
Observe que, em cada coluna, temos os valores para um cenrio. Em cada linha a simulao para uma taxa de ocupao, comeando por
um ms, at 12 meses. Com o relatrio consolidado, temos uma viso global de todas as possibilidades, fornecidas pelos diferentes
cenrios.
9. Salve e feche a planilha.
MDULO #
Lio 01 Introduo e contedo do Mdulo 5
Lio 02 O que so Macros?
Lio 03 Conhecendo do que feita uma Macro
Lio 04 Operaes com Macros
Lio 05 Associando botes com macros
Lio 06 Introduo ao VBA
Lio 07 O Ambiente de programao - o Editor VBA
Lio 08 VBA - Declarao de Variveis
Lio 09 VBA - Clculos, Operadores Aritmticos e Exemplos
Lio 10 Estrutura If...Then e os Operadores de Comparao
Lio 11 Escopo de Variveis e Variveis do tipo Array
Lio 12 Estruturas If...Then...Else If e Select Case
Lio 13 Estruturas For...Next, Do...While e Do...Until
Lio 14 Funes do VBA - Funes de Tipo - Parte 1
Lio 15 Funes do VBA - Funes de Tipo - Parte 2
Lio 16 Funes do VBA - Funes para converso de Tipos- Parte 1
Lio 17 Funes do VBA - Funes para converso de Tipos-Parte 2
Lio 18 Funes do VBA - Funes para tratamento de Texto
Lio 19 Funes do VBA - Funes de Data/Hora e Matemticas
Lio 20 Resumo do Mdulo 5
Lio 01: Introduo e &ontedo do Mdulo #
ntroduo:
Nesse e no prximo mdulo veremos assuntos relacionados a automao de tarefas no Excel. 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. A linguagem de programao do Excel o VBA - Visual Basic for Applications. O VBA a
linguagem de programao para todos os aplicativos do Microsoft Office: Word, Excel, Access e Power Point.
Nas lies desse mdulo aprenderemos sobre Macros. Veremos o que uma Macro, para que serve, quando devemos usar Macros, como
criar e alterar Macros. Em seguida aprenderemos os fundamentos bsicos da linguagem VBA.
Nas lies desse mdulo veremos os conceitos tericos da linguagem VBA. Nas lies do prximo mdulo, veremos exemplos de
aplicao do VBA para a soluo de problemas prticos, os quais no poderiam ser solucionados sem o uso de programao.
- )ue so 5a&ros@@
Nesse tpico apresentaremos uma viso geral sobre Macros. Nas prximas lies iremos detalhar os vrios aspectos relacionados
Macros.
Caso voc execute uma tarefa vrias vezes no Microsoft Excel, possvel automatiz-la com uma macro. 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.
:o&] "ode Yra*ar u!a !a&ro "ara reali<ar u!a tare+a e! u!a eta"a: 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.
Por exemplo, se voc insere com freqncia seqncias de caracteres de texto extensas nas clulas, voc pode gravar uma macro para
formatar essas clulas de maneira que o texto retorne automaticamente. Selecione a clula em que deseja inserir o retorno automtico
de texto e inicie a gravao. Clique em Clulas no menu Formatar, clique na guia Alinhamento, marque a caixa de seleo Retorno
automtico de texto, clique em OK e, em seguida, clique em Parar gravao . Como gravar uma macro. Nos veremos exemplos
detalhados de macros nas prximas lies.
Co!o Gornar u!a !a&ro +A&il de ser e%e&utada: 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.
Veremos como fazer essas atribuies nas prximas lies.
Co!o $%ibir e alterar !a&ros: Depois de gravar uma macro, voc poder exibir o cdigo da macro com o Editor do VBA para corrigir
erros ou alterar a funo da macro. O Editor do VBA um programa criado para facilitar a escrita e a edio de cdigo de macro para
principiantes e fornece bastante Ajuda on-line. Voc no precisa aprender a programar ou a usar a linguagem do Visual Basic para fazer
alteraes simples nas suas macros. Nas prximas lies veremos como exibir e editar macros.
Na Figura a seguir temos um exemplo de cdigo associado com uma Macro. Esse um exemplo de cdigo VBA:
Co!o Yeren&iar suas !a&ros Co! o $ditor do :0(: Voc pode editar macros, copiar macros de um mdulo para outro, copiar
macros entre pastas de trabalho diferentes, renomear os mdulos que armazenam as macros ou renomear as macros. Por exemplo, se
voc quisesse que a macro de retorno automtico de texto, do exemplo anterior, tambm deixasse o texto em negrito, voc poderia
gravar outra macro para aplicar negrito a uma clula e copiar as instrues dessa macro para a macro de retorno automtico de texto.
?egurana da !a&ro: O Microsoft Excel 2000 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.
4rogra!ao no $%&el , ( linguage! :0(:
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.
Nota: Para um melhor aproveitamento e entendimento do VBA importante que o amigo leitor j tenha uma noo bsica de Lgica de
Programao. Voc encontra um excelente curso de Lgica de Programao no seguinte endereo: www.webaula.com.br . O curso
gratuito, apenas necessrio fazer um cadastro no site, cadastro esse que tambm gratuito.
Por exemplo, vamos supor que voc precisasse fazer a verificao do CPF que digitado em uma clula. O clculo do DV do CPF, o qual
de domnio pblico, envolve uma srie de operaes aritmticas. Para implementar uma funo que faz a verificao do DV do CPF, voc
ter que fazer uso de programao.
Por isso que, conforme descrito anteriormente, nas lies desse mdulo veremos os comandos bsicos da linguagem VBA, para aplica-los
em alguns exemplos prticos nas lies dos prximo mdulo.
Nota: Os conceitos vistos nesse e no prximo mdulo, de maneira alguma, esgotam o assunto programao VBA no Excel. O assunto
bastante extenso. No decorrer de 2003, teremos um curso especfico, somente sobre programao VBA e criao de aplicativos com o
Excel.
Lio 02: O :ue so MacrosF
Conforme descrito anteriormente, uma macro uma seqncia de comandos (cliques de mouse ou toques de teclado) que so gravados
em um Mdulo VBA e podem ser executados, sempre que necessrio. A grande vantagem de gravarmos uma seqncia de comandos
que poderemos utiliza-la sempre que necessrio. Para isso basta executar a macro na qual foi gravada a seqncia de comandos.
As Macros so uma excelente opo para automatizar tarefas repetitivas. Com o uso de Macros temos um ganho de produtividade
considervel, ao evitar que tenhamos que executar manualmente, os diversos passos de uma tarefa, passos estes que podem ser
automatizados atravs do uso de uma macro.
Existem duas maneiras distintas para a criao de uma macro:
4ode!os usar o gra*ador de 5a&ros: Nesse caso o Excel grava cada uma das aes que faro parte da Macro e transforma
essas aes nos comandos VBA equivalentes. Quando a macro for executada, os comandos VBA que sero efetivamente
executados. Cada comando VBA corresponde a uma ao efetiva da macro.
Criar a 5a&ro usando :0(: A partir do momento em que voc domina a linguagem VBA, poder criar a macro digitando os
comandos VBA necessrios. Isso feito usando o Editor de VBA, conforme veremos nas prximas lies.
5elhor do )ue de+ini6es 9 a "rAti&aZZ
Melhor do que uma srie de definies ver uma Macro em ao. Vamos a um exemplo simples, onde criaremos uma Macro. Em seguida
vamos executa-la . Na prxima lio analisaremos o cdigo VBA criado pelo gravador de macros.
$%e!"lo 1: Criar uma macro usando o Gravador de Macros. A macro dever formatar a clula atual com Negrito, cor de fonte Vermelha,
com fundo cinza. Gravar a macro com o nome de FormataVermCinza.
1. Abra o Excel.
2. Abra a Planilha C:\ExcelAvancado\Mdulo 5 - Exerccio 01.xls.
3. Clique na clula A4.
4. Agora vamos iniciar a gravao da Macro.
5. Selecione o comando Ferramentas -> Macro -> Gravar nova macro.
6. Ser exibida a janela Gravar Macro.
7. No campo Nome da macro digite: FormataVermCinza.
8. No campo Tecla de atalho digite L. Observe que o Excel troca para Ctrl+Shift+L. Isso acontece porque a combinao Ctrl+L j deve
estar associada com algum comando do Excel. Com isso estamos associando a combinao Ctrl+Shift+L com a macro
FormataVermCinza, ou seja, cada vez que quisermos executar essa macro basta pressionar Ctrl+Shift+L.
9. O campo descrio simplesmente uma descrio da funcionalidade da macro. Digite o texto indicado na Figura 5.2:
Figura 5.2 - *e(ini-.o do nome e da tecla de atalho da 2acro.
10. Clique em OK. A gravao da Macro ser iniciada. Todos os comandos que voc executar, durante a gravao da Macro, faro parte
da Macro.
11. Uma nova barra ( ) exibida na planilha do Excel. Essa barra utilizada para parar a gravao da Macro. Agora
devemos escolher os comandos que faro parte da macro. Aps ter executado os comandos que faro parte da macro, basta clicar no
boto ( ) para encerrar a gravao da Macro.
12. Clique no boto ( ) para aplicar Negrito.
13. Na lista de Cores da fonte ( ) selecione Vermelho.
14. Na lista de Cores de fundo ( ) selecione Cinza.
15. Clique no boto ( ) para encerrar a gravao da Macro.
16. Agora a macro FormataVermCinza foi criada e podemos utiliza-la sempre que necessrio.
4ara e%e&utar a !a&ro =or!ata:er!Cin<a +aa o seguinte:
1. Clique na Clula B7.
2. Pressione Ctrl+Shift+L.
3. A macro FormataVermCinza executada e as formataes definidas pela macro (Negrito, fonte Vermelha e fundo Cinza) so
automaticamente aplicadas na Clula B7. Veja que com um simples comando de teclado, executo uma srie de comandos (nesse
exemplo: trs comandos de formatao). Esse exemplo nos d uma pequena idia do poder e facilidade do uso das macros.
4. Tambm possvel executar a macro usando o comando Ferramentas -> Macro -> Macros.
5. Clique na clula B5.
6. Selecione o comando Ferramentas -> Macro -> Macros.
7. Ser exibida a janela Macro, onde so listadas todas as macros existentes na pasta de trabalho atual (no arquivo carregado no Excel),
conforme indicado na Figura 5.3:
Figura 5.3 - , 0anela 2acro.
8. Clique na Macro FormataVermCinza para seleciona-la.
9. Clique no boto Executar.
10. A Macro ser executada e as respectivas formataes sero aplicadas clula B5.
11. A sua planilha deve estar conforme indicado na Figura 5.4:
Figura 5.4 - Formata-Ies aplicadas com a macro FormataGermin8a.
12. Mantenha a planilha aberta, pois iremos utiliza-la na prxima lio.
Lio 0!: &on>ecendo do :ue 4 0eita uma Macro
Na Lio anterior podemos ver uma macro em ao. Criamos uma macro chamada FormataVermCinza. Essa macro composta por trs
comandos de formatao. Cada vez que a macro executada, os trs comandos de formatao so novamente executados e aplicados
clula onde esta o cursor. At aqui tudo OK. Nenhuma novidade. A pergunta que pode surgir :
Co!o 9 )ue o $%&el +a< isso@
Ou de outra forma:
#o )ue 9 +eita u!a !a&ro@
Conforme veremos nessa lio, uma macro gravada no Excel como uma seqncia de comandos VBA. Por exemplo, ao clicarmos no
boto ( ), para a aplicao de negrito, o Excel gera um comando VBA que faz a formatao em negrito. Nessa lio aprenderemos a
acessar o cdigo VBA gerado pelo Excel (embora ainda no sejamos capazes de entender esse cdigo).
Para acessar os comandos VBA associado com uma macro, siga os seguintes passos:
1. Voc deve estar com a planilha C:\ExcelAvancado\Mdulo 5 - Exerccio 01.xls aberta, se no estiver, abra-a.
2. Selecione o comando Ferramentas -> Macro -> Macros.
3. Ser exibida a janela Macro.
4. Clique na macro FormataVermCinza para seleciona-la.
5. Clique no boto Editar.
6. O Editor do VBA ser carregado e sero exibidas as seguintes linhas de cdigo:
.ub FormataCerm#in0aKL
M
M FormataCerm#in0a /acro
M /acro Due !a0 a !ormatao em !onte Cermelha, :egrito e
M !undo #in0a.
M
M Atalho do tecladoN #trlO.hi!tOL
M
.election.Font.*old P ;rue
.election.Font.#olor"nde) P +
Qith .election."nterior
.#olor"nde) P 18
.&attern P )l.olid
3nd Qith
3nd .ub
Esses so os comandos VBA (que por enquanto no entendemos o que significam) que formam a macro FormataVermCinza. Apenas para
adiantar um pouco o assunto, a seguir descrevo o que faz cada um dos principais comandos dessa Macro:
?ele&tion'=ont'0old > Grue
Esse comando aplica a formatao em Negrito para a clula onde est o cursor (ou no conjunto de clulas selecionadas), quando a macro
executada.
?ele&tion'=ont'Colornde% > 3
Esse comando aplica cor de fonte Vermelha para a clula onde est o cursor (ou no conjunto de clulas selecionadas), quando a macro
executada.
Pith ?ele&tion'nterior
'Colornde% > 15
'4attern > %l?olid
$nd Pith
Esses comandos aplicam a cor de fundo cinza, na clula onde est o cursor (ou no conjunto de clulas selecionadas), quando a macro
executada.
Esses so comandos da linguagem VBA. Com o uso do VBA temos acesso a todos os comandos e funes do Microsoft Excel. Tudo o que
voc faz usando o teclado e o mouse, tambm possvel de ser feito com o uso do VBA, porm de uma maneira automatizada. O uso de
macros especialmente indicado naquelas situaes em que temos um conjunto de comandos que precisam ser executados,
repetidamente, em diferentes situaes. Nesses casos muito mais prtico criar uma macro composta pelo conjunto de comandos e,
cada vez que os comandos precisarem ser executados, executar a macro.
Na Figura 5.5 temos uma viso do Editor do Visual Basic. Veremos mais detalhes sobre esse editor nas prximas lies, quando
comearmos a trabalhar com o VBA.
Figura 5.5 - O Editor de GC,
7. Selecione o comando Arquivo -> Fechar e Voltar para o Microsoft Excel.
8. Voc estar de volta planilha C:\ExcelAvancado\Mdulo 5 - Exerccio 01.xls.
9. Salve e feche a planilha.
Lio 0": Opera9es com Macros
Nessa lio aprenderemos a renomear, excluir e fazer outras alteraes em macros. Tambm aprenderemos a alterar outras opes
associadas com a Macro, tal como o comando de teclado para executar a macro.
Existem algumas operaes que podem ser feitas com uma macro, aps a sua criao. A mais bvia (e o motivo pelo qual uma macro
criada) para executar a macro. Alm da execuo possvel executar outras operaes com uma macro, conforme descrito a seguir:
Para renomear uma macro siga os seguintes passos:
1. Abra o arquivo onde est a macro a ser renomeada.
2. Selecione o comando Ferramentas -> Macro -> Macros.
3. Ser exibida a janela Macro.
4. Clique na macro a ser renomeada para seleciona-la.
5. Clique no boto Editar.
6. Ser aberto o editor do VBA. O nome da macro vem logo aps o comando Sub da primeira linha, conforme destacado na Figura 5.6:
Figura 5." - ?enomeando uma 2acro.
7. Para renomear a macro basta alterar o nome aps o comando Sub e depois clicar no boto ( ) para salvar as alteraes.
8. Em seguida s fechar o Editor de VBA.
4ara e%&luir u!a !a&ro siga os seguintes "assos:
1. Abra o arquivo onde est a macro a ser excluda.
2. Selecione o comando Ferramentas -> Macro -> Macros.
3. Ser exibida a janela Macro.
4. Clique na macro a ser excluda para seleciona-la.
5. Clique no boto Excluir.
6. O Excel emite um aviso solicitando que voc confirme a excluso, conforme indicado na Figura 5.7:
Figura 5.& - on(irmando a exclus.o da macro.
7. Clique em Sim para confirmar a excluso ou em No para cancelar a excluso da macro.
4ara alterar a te&la de atalho e o &o!entArio asso&iado &o! u!a !a&roT siga os seguintes "assos:
1. Abra o arquivo onde est a macro a ser alterada.
2. Selecione o comando Ferramentas -> Macro -> Macros.
3. Ser exibida a janela Macro.
4. Clique na macro a ser alterada para seleciona-la.
5. Clique no boto Opes...
6. Ser exibida a janela Opes de Macro, onde voc pode alterar a tecla de atalho e o comentrio associado com a macro, conforme
indicado na Figura 5.8:
Figura 5.) - on(irmando a exclus.o da macro.
7. Faa as alteraes desejadas e clique em OK.
Lio 0#: +ssociando 8ot9es com macros
Nessa lio criaremos mais uma macro de exemplo. Alm da criao da macro aprenderemos a criar um novo boto, na Barra de
Ferramentas e a associar esse boto com a macro. Dessa forma toda vez que precisarmos executar a macro, bastar clicar no boto
associado com a macro.
$%e!"lo 2: Criar uma macro usando o Gravador de Macros. A macro dever formatar As clulas selecionadas com formato Contbil,
com duas casas decimais, cor de fonte Vermelha e Itlico. Gravar a macro com o nome de =or!ataContAbil . Criar um boto de
comando na Barra de Ferramentas padro e associar esse boto com a macro FormataContbil.
1. Abra o Excel.
2. Abra a Planilha C:\ExcelAvancado\Mdulo 5 - Exerccio 02.xls.
3. Clique na clula F2.
4. Agora vamos iniciar a gravao da Macro.
5. Selecione o comando =erra!entas ,. 5a&ro ,. Yra*ar no*a !a&ro .
6. Ser exibida a janela Gravar Macro.
7. No campo Nome da macro digite: FormataContbil.
8. Na lista Armazenar macro em, selecione a opo $sta "asta de trabalho .
9. O campo descrio simplesmente uma descrio da funcionalidade da macro. Digite o texto indicado na Figura 5.9:
Figura 5.+ - *e(ini-.o do nome e da descri-.o da macro Formataont=/il.
10. Clique em OK. A gravao da Macro ser iniciada. Todos os comandos que voc executar, durante a gravao da Macro, faro parte
da Macro.
11. Uma nova barra ( ) exibida na planilha do Excel. Essa barra utilizada para parar a gravao da Macro. Agora
devemos escolher os comandos que faro parte da macro. Aps ter executado os comandos que faro parte da macro, basta clicar no
boto ( ) para encerrar a gravao da Macro.
12. Clique no boto ( )) para aplicar Itlico.
13. Na lista de Cores da fonte ( ) selecione Vermelho.
14. Selecione o comando Formatar -> Clulas. Clique na opo Contbil e selecione duas casas decimais, conforme indicado na Figura
5.10:
Figura 5.1! - Formata-.o ont=/il com duas casas decimais.
15. Clique em OK.
16. Clique no boto ( ) para encerrar a gravao da Macro.
17. Agora a macro FormataContbil foi criada e podemos utiliza-la sempre que necessrio.
Agora vamos aprender como associar um boto com a macro FormataContbil.
4ara asso&iar u! boto &o! u!a !a&ro siga os seguintes "assos:
1. Clique com o boto direito do mouse em uma das barras de ferramentas do Excel. Por exemplo, clique com o boto direito do mouse
na rea cinza, ao lado do boto ( ).
2. No menu que exibido clique na opo Personalizar.
3. Ser exibida a janela Personalizar.
4. Clique na guia Comandos.
5. Na lista de Categorias que exibida d um clique na opo Macros conforme indicado na Figura 5.11:
Figura 5.11 - , op-.o 2acros da guia omandos.
6. Clique no boto ( ) e arraste-o para a barra de ferramentas padro, ao lado esquerdo do boto ( ), conforme indicado na Figura
5.12:
Figura 5.12 - ,rrastando o /ot.o $ue ser= associado com a 2acro.
7. A janela Personalizar ser fechada e o boto ( ) ser adicionado barra de ferramentas padro.
8. D um clique no boto ( ).
9. Ser exibida a janela Atribuir macros. Nessa janela voc pode selecionar a macro que ser associada com o boto, isto , a macro que
ser executada quando voc clicar no boto.
10. Clique na macro FormataContbil para seleciona-la, conforme indicado na Figura 5.13.
11. Clique em OK.
12. Pronto, agora o boto ( ) est associado com a macro FormataContbil.
Figura 5.13 - ,ssociando a macro Formataont=/il com o /ot.o.
13. Vamos testar se o boto est funcionando.
14. Clique na clula F10.
15. Clique no boto ( ).
16. Observe que a macro executada e as respectivas formataes so aplicadas clula F10. Isso comprova que o boto ( ) est
associado macro FormataContbil.
17. Salve e Feche a planilha.
Lio 0$: Introduo ao AG+
Nas lies iniciais desse mdulo aprendemos a criar macros simples, as quais reproduzem uma srie de comandos de mouse e teclado.
Para que possamos criar macros mais sofisticadas e resolver problemas mais complexos com o Excel, precisamos utilizar programao.
Conforme descrito anteriormente, a linguagem de programao do Excel (e de todos os aplicativos do Office) o VBA: Visual Basic for
Application.
Uma linguagem de programao, basicamente, um conjunto de comandos, rotinas e funes que executam tarefas especficas.
Considere o exemplo genrico a seguir, onde so utilizados comandos para acessar uma tabela do access a partir de uma planilha do
Excel:
M #omentArios iniciais do &rograma.
M Acessa dados da tabela pedidos do banco de dados
M #NR/eus documentosRendas.mdb
Acessar o banco de dados
Acessar a tabela &edidos
Aplicar um !iltro para &a'sP*rasil
3)ibir os dados obtidos na planilha atual
Formatar a primeira linha com negrito
Formatar a primeira linha com !onte a0ul
3ncerrar a macro
4or )ue eu "re&iso a"render a usar o :0(@
A utilizao de Macros em conjunto com os recurso do VBA nos oferece um grande nmero de opes na busca por solues para os
problemas mais complexos. Porm existem situaes em que, por mais que saibamos utilizar todos os recursos, comandos e funes do
Excel, essa utilizao no capaz de solucionar o problema proposto. Nestas situaes temos que utilizar programao.
A linguagem de programao utilizada pelo Microsoft Excel o VBA - Visual Basic for Applications. Conforme veremos a partir de agora
esta uma linguagem, ao mesmo tempo, extremamente simples e poderosa. Com o VBA temos acesso completo a todos os elementos
de todos os objetos de uma planilha do Excel. Tambm temos acesso a elementos externos, tais como bancos de dados do Access. Com
cdigo VBA podemos criar uma rotina para validao do dgito verificador de uma clula de CPF, CNPJ ou de um campo
NmeroDoProcesso; podemos criar cdigo que percorre todas as linhas de uma planilha, alterando os valores de uma ou mais colunas,
com base em uma ou mais condies, podemos automatizar rotinas para importao e exportao de dados e assim por diante.
Nesta introduo a linguagem VBA, trataremos dos seguintes assuntos:
1' Programao com o Microsoft Excel.
2' Introduo a linguagem VBA - :isual 0asi& =or (""li&ations .
3' Aprendendo VBA:
Uma viso geral.
O Ambiente de Programao.
Anatomia dos Mdulos do VBA.
Tipos de dados.
Variveis.
Escopo de Variveis.
Estruturas de controle, etc.
4' Exerccios e Exemplos.
5' Funes e procedimentos.
6' Funes de Data e Hora.
1'4rogra!ao &o! o 5i&roso+t $%&el , 4or )ue utili<ar@
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 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.
:antagens e! utili<ar!os o :0(:
J utilizamos macros e aprendemos a automatizar algumas tarefas como a aplicao de formatos personalizados. O VBA apresenta, em
relao as macros, as seguintes vantagens:
(&essando dados de u!a ou !ais "lanilhas: 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.
5ani"ulao de obDetos : 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 +un6es de+inidas "elo usuArio : 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.
#e+inio de &ondi6es e &ontrole de +lu%o: 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.
Ceali<ao de &Al&ulos &o!"le%os e soluo de "roble!as )ue en*ol*e! u!a l;gi&a &o!"le%a: Com macros
impossvel a realizao de clculos mais complexos, simplesmente atravs da automao de comandos de teclado e mouse.
Tambm no possvel a resoluo de problemas que envolvem uma lgica complexa, como por exemplo clculo do imposto de
renda, recolhimentos de tributos, etc.
Lio 0%: O +m8iente de ro,ramao - o 2ditor AG+
O Microsoft Excel fornece um ambiente de programao bastante poderoso, com uma srie de recursos que facilitam a criao de cdigo
VBA. Neste tpico vamos aprender a utilizar os aspectos bsicos do Ambiente de Programao do 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. Por enquanto estou utilizando bastante o termo objeto, sem t-lo ainda explicado.
Mais adiante detalharei o conceito de classes, mdulos e objetos). 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. Vamos abrir uma planilha, que contm uma macro
chamada AplicaNegrito e editar essa macro. Lembre que para editar uma macro, temos que acessar o cdigo VBA associado macro.
Isso feito no Editor do VBA.
$%e!"lo 3: Acessar o Editor VBA para alterar a macro AplicaNegrito, da planilha C:\ExcelAvancado\Mdulo 5 - Exerccio 03.xls.
1. Abra o Excel.
2. Abra a Planilha C:\ExcelAvancado\Mdulo 5 - Exerccio 03.xls.
3. Como existem macros j criadas, o Excel pede uma confirmao, perguntando se voc deseja ativar as macros existentes, conforme
indicado na Figura 5.14. Essa confirmao solicitada devido ao perigo representado pelos vrus de Macro, que podem afetar os
aplicativos do Microsoft Office.
4. Clique no boto Ativar Macros.
5. A planilha ser aberta.
6. Nessa planilha existe uma macro chamada AtivaNegrito. Vamos editar essa macro. O nosso objetivo conhecer alguns detalhes sobre
o Editor do VBA.
Figura 5.14 - on(irma-.o para ati%a-.o de macros5 na a/ertura da planilha.
7. Selecione o comando Ferramentas -> Macro -> Macros...
8. Ser exibida a janela Macro.
9. Clique na macro AplicaNegrito para seleciona-la.
10. Clique no boto Editar.
11. Ser aberto o editor do VBA e o cdigo associado macro AplicaNegrito.
12. Na Figura 5.15 temos a descrio de algumas partes da janela do editor VBA.
Figura 5.15- O Editor GC,.
No lado esquerdo da tela temos duas janelas:
4roDe&t , :0( 4roDe&t: Nessa janela 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 cria-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. Aprenderemos mais sobre funes e procedimentos nas prximas lies.
\anela na "arte de bai%o: A janela abaixo da janela Project, exibe as propriedades do elemento selecionado na janela Project. Por
exemplo, ao selecionar Plan1, na janela Project, na janela de baixo sero exibidas as propriedades de Plan1, conforme indicado na Figura
5.16:
Figura 5.1"- Propriedades da Planilha.
13. Feche o Editor do VBA e a planilha.
Nas prximas lies veremos mais algumas funcionalidades do Editor VBA.
Lio 0(: AG+ - Declarao de Aari/-eis
Agora vamos iniciar o estudo de uma srie de comandos e conceitos bsicos da linguagem VBA. Esses comandos sero utilizados nas
lies do Mdulo 6, onde apresentaremos alguns exemplos prticos do uso do VBA para soluo de problemas com o Excel.
Iniciaremos o nosso estudo de VBA pela definio do conceito de variveis a aprendendo a declarar variveis no VBA.
Nota: A medida que os conceitos forem sendo apresentados, faremos alguns testes. Para os testes utilizarei a macro AplicaNegrito. Para
testar um determinado comando vamos acessar o cdigo VBA da macro AplicaNegrito (conforme descrito na lio anterior) e inserir os
comandos a serem testados. Em seguida voltaremos para a planilha e executaremos a Macro para testar os comandos. Para facilitar o
processo de execuo da Macro usaremos a combinao de teclas Ctrl+Shift+K, a qual est associada macro.
#e&larao de *ariA*eis e Jti"osJ de dados:
Uma varivel um espao na memria do computador, reservado para armazenar um ou mais valores. Fazemos referncia a este espao
utilizando nomes. Como o valor armazenado pode variar, a medida que o cdigo VBA executado, estas estruturas so chamadas de
variveis.
No VBA, no obrigatrio a declarao de variveis. Porm recomendvel que declaremos todas as variveis, de tal forma que o cdigo
fique mais claro e de fcil compreenso. Para declararmos uma varivel, utilizamos o comando Dim, conforme exemplificado abaixo:
Dim x
Dim nome
Dim teste
Neste caso estamos apenas declarando o nome da varivel, sem declarar de que tipo (texto,inteiro, data, etc) a varivel. Uma varivel
declarada sem tipo considerada do tipo Variant, o que na prtica significa que a varivel pode conter qualquer tipo de valor. Pode
parecer uma prtica interessante a no declarao do tipo da varivel, porm isso altamente desaconselhvel. Se no declararmos o
tipo, conforme descrito anteriormente, a varivel poder conter qualquer valor. Neste caso o que impede de um campo numrico conter
valores de texto ou vice-versa??
A sintaxe para o comando Dim a seguinte:
Dim nome_da_varivel As tipo_da_varivel
Tambm podemos declarar mais do que uma varivel, com um nico comando Dim. Para isto, basta separar as variveis, com vrgula,
conforme exemplificado abaixo:
Dim x,y,z As String
Dim nome as Double
Dim teste1, teste2 As Integer
54-CG(NG$: Observe que definimos o "tipo" de cada varivel. O Tipo define quais dados podem ser armazenados em uma varivel.
Por exemplo, variveis que armazenam valores numricos, no devem aceitar caracteres de texto. Variveis que armazenam datas, no
devem aceitar datas invlidas, como por exemplo 30/02/2001. Toda varivel no VBA, do tipo Variant, isto significa que a varivel pode
ser de qualquer tipo. O que define o tipo da varivel o valor que est armazenado no momento. Existem funes que converso de tipo,
conforme veremos mais adiante.
Tambm podemos utilizar variveis que no foram, explicitamente, declaradas com o comando Dim. Com isso, a varivel criada na
memria, no momento da sua utilizao. Para fazer com que toda varivel tenha que ser, explicitamente, declarada, antes de ser
utilizada, devemos utilizar o seguinte comando na seo de declarao do mdulo:
Option Explicit
Ao colocarmos este comando na seo de declarao do mdulo, estamos definindo que toda varivel deve ser declarada, antes de ser
utilizada em uma expresso. Se tentarmos utilizar uma varivel no declarada, ser gerado um erro de compilao e a execuo dos
comandos suspensa. Na Listagem 1, temos um exemplo simples de utilizao de variveis no declaradas explicitamente.
Listage! 1 , Btili<ao de *ariA*eis no de&laradas'
Dim a As Integer
Dim b As Integer
a=5
b=2
c=a+b
Msgbox "A varivel C vale: " & c
Ao tentarmos executar este cdigo, tendo sido definida a opo "Option Explicit", obteremos a mensagem de erro indicada na prxima
figura. Este erro acontece porque tentamos utilizar uma varivel c, varivel esta que no foi declarada.
O tipo Variant formado de pequenas unidades, chamadas subtipos. Cada subtipo, identifica de que maneira os dados so armazenados
em uma varivel do tipo Variant Por exemplo, variveis do subtipo Integer so armazenadas de uma maneira diferente de variveis do
subtipo Long. Na Tabela a seguir temos uma descrio dos principais subtipos.
Gabela , ?ubti"os do ti"o :ariant dis"on/*eis no :0(:
?ubti"o ?ubti"o
Empty O Valor zero para variveis numricas ou uma String de tamanho zero (" "), para
variveis de texto.
Null A varivel no contm dados vlidos.
Boolean Contm variveis que somente podem assumir dois valores:Verdadeiro ou Falso (True ou
False).
Byte Valor inteiro, na faixa de 0 at 255.
Integer Valor inteiro, na faixa de -32768 at 32767.
Currency Valores na faixa de -923.337.203.685.447,5808 at 922.337.203.685.447,5807
Long Valor inteiro, na faixa de -2.147.483.648 at 2.147.483.647.
Date(Time) um nmero que representa a data entre 01 de Janeiro do ano 100, at 31 de
Dezembro de 9999 (Olha o bug do ano 10000 chegando).
String Texto de tamanho varivel, pode conter, aproximadamente, 2 bilhes de caracteres.
Object Pode conter um objeto qualquer, como um Controle Activex, ou um Objeto COM+
Error Pode conter um nmero de erro.
Antes de fazermos alguns exemplos prticos, vamos aprender um pouco mais sobre o uso de variveis no VBA. Vamos falar sobre
operadores aritmticos e de comparao. Mas isso j assunto para a prxima lio .
Lio 0*: AG+ - &/lculosH Operadores +ritm4ticos e 23emplos
=a<endo &Al&ulos e &o!"ara6es &o! o :0( , -"eradores (rit!9ti&os'
Para realizarmos clculos e comparaes entre variveis, podemos utilizar operadores. Neste item trataremos sobre operadores
aritmticos e operadores de comparao.
=a<endo &Al&ulos &o! os -"eradores arit!9ti&os:
Podemos realizar clculos no VBA, utilizamos operadores aritmticos. Na Tabela a seguir, temos uma descrio dos operadores que
podemos utilizar:
-"eradores (rit!9ti&os do :0(:
-"erador ?/!bolo #es&rio
Adio W Soma o valor de duas ou mais variveis.
Subtrao , Subtrao entre duas ou mais variveis.
Multiplicao 2 Multiplica os valores de duas ou mais variveis.
Diviso V Divide o valor de duas ou mais variveis.
Inteiro da Diviso
entre dois nmeros
[ Retorna a parte inteira, da diviso entre dois nmeros.
Exponenciao ^ x^y -> o valor do nmero x, elevado na potncia y
Modulo 5od Retorna o resto de uma diviso de 2 nmeros.
Considere o pequeno trecho de cdigo a seguir, onde declaramos as variveis x, y e z. Atribumos valores a essas variveis e em seguida
fazemos algumas operaes. As linhas que iniciam com um apstrofe so simplesmente comentrios. Toda linha que iniciar com um
apstrofe ser desconsiderada pelo VBA. Os comentrios so importantes para documentao do cdigo.
Listage! , $%e!"lo de uso de o"eradores arit!9ti&os:
M 3)emplo de utili0ao de ariAeis e operadores aritm$ticos
M #ursoN 3)cel Aanado em 12, LiJes.
M AutorN >Slio *attisti
M .iteN BBB.1uliobattisti.com.br
M <eclarao das ariAeis.
<im ), T, 0 As "nteger
) P 1,
T P 28
0 P )4T
M :esse e)emplo a ariAel 0 conterA o alor 28,
Vamos fazer um pequeno teste com os comandos para declarao de variveis.
$%e!"lo: Acessar o Editor VBA para alterar a macro AplicaNegrito, da planilha C:\ExcelAvancado\Mdulo 5 - Exemplo VBA.xls.
1. Abra o Excel.
2. Abra a Planilha C:\ExcelAvancado\ Mdulo 5 - Exemplo VBA.xls.
3. Como existem macros j criadas, o Excel pede uma confirmao, perguntando se voc deseja ativar as macros existentes. Essa
confirmao solicitada devido ao perigo representado pelos vrus de Macro, que podem afetar os aplicativos do Microsoft Office.
4. Clique no boto Ativar Macros.
5. A planilha ser aberta.
6. Nessa planilha existe uma macro chamada AtivaNegrito. Vamos editar essa macro. O nosso objetivo utilizar o comando Dim para
declarar algumas variveis e os operadores aritmticos para fazer alguns clculos. Os valores dos clculos sero exibidos quando a macro
for executada.
7. Selecione o comando Ferramentas -> Macro -> Macros...
8. Ser exibida a janela Macro.
9. Clique na macro AplicaNegrito para seleciona-la.
10. Clique no boto Editar.
11. Ser aberto o editor do VBA e o cdigo associado macro AplicaNegrito.
12. Altere o cdigo, para que fique conforme indicado na listagem a seguir:
M 3)emplo de utili0ao de ariAeis e operadores aritm$ticos
M #ursoN 3)cel Aanado em 12, LiJes.
M AutorN >Slio *attisti
M .iteN BBB.1uliobattisti.com.br
M <eclarao das ariAeis.
.election.Font.*old P ;rue
<im a As "nteger
<im b As "nteger
<im som, subtr, diis, mult, intdis, e)po, modul As <ouble
a P 28
b P +
M Uso os operadores aritm$ticos para e!etuar cAlculos
somPaOb
subtrPa-b
diisPa-b
multPa4b
intdisPaRb
e)poPaUb
modulP a mod b
MUso de /sg*o) para e)ibir os resultados.
/sg*o) V5s nSmeros soN V W a W V e V W b W #hrK1+L
/sg*o) V.omaN V W som W #hrK1+LW V.ubtraoN V W subtr W #hrK1+L
/sg*o) V<iisoN V W diis W #hrK1+LW V/ultiplicaoN V W mult W #hrK1+L
/sg*o) V<iiso inteiraN V W intdis W #hrK1+LW V3)ponenciaoN V W e)po
W #hrK1+L
/sg*o) V6esto da diisoN V W modul
13. Aps digitar o cdigo feche o Editor do VBA.
14. Salve a Planilha.
15. Clique na clula F2.
16. Pressione Ctrl+Shift+K para executar a macro AtivaNegrito.
17. Ser exibida a seguinte mensagem:
18. D um clique no boto OK.
19. Ser exibida a seguinte mensagem:
20. D um clique no boto OK.
21. Ser exibida a seguinte mensagem:
22; D um clique no boto OK.
23. Ser exibida a seguinte mensagem:
24. D um clique no boto OK.
25. Ser exibida a seguinte mensagem:
26. D um clique no boto OK.
27. Voc estar de volta planilha e a clula F2 estar formatada com Negrito.
28. Mantenha a planilha aberta pois iremos utiliza-la nas demais lies desse mdulo.
Neste exemplo utilizamos os operadores aritmticos, para realizar uma srie de operaes com os valores atribudos s variveis "a" e
"b". Depois utilizamos a funo MsgBox (que um comando interno do prprio VBA), para exibir os resultados obtidos.
O uso da funo MsgBox, merece alguns comentrios. Primeiro, utilizamos a funo MsgBox, para exibir mensagens em uma pequena
janela, chamada de Janela Pop-Up (que a janela exibida nas figuras desse exemplo). Podemos exibir texto e tambm valores de
variveis. Quando temos que exibir diversos componentes, como um pouco de texto, em seguida o valor de uma varivel, depois mais
texto, e assim por diante, devemos utilizar o o"erador de &on&atenao: _ . Este operador permite que as diversas partes sejam
exibidas como uma nica mensagem. Considere o exemplo da seguinte linha de cdigo:
MsgBox "Os nmeros so: " & a & " e " & b & Chr(13)
Neste exemplo, primeiro exibido o texto: " -s n8!eros so:J , logo em seguida o valor da varivel a . Observe que as duas partes
so concatenadas com o operador _ . Depois concatenamos o valor da varivel b , e finalmente utilizamos a funo Chr(13). A funo
Chr(nmero), envia o caractere correspondente ao nmero digitado entre parnteses. Este nmero, o nmero do caractere no padro
ASCII (American Standard Caracter Interchange Information). No cdigo ASCII, cada caracter possui um nmero associado. No caso o
nmero 13, associado ao <ENTER>. Com isso estamos enviando um <ENTER>, para a caixa de mensagem, o que equivale a uma troca
de linha. Assim utilizamos o Chr(13), para simular um <ENTER>, de tal maneira que os dados no saiam todos "emendados", na mesma
linha.
Com o uso dos operadores aritmticos , realizamos uma srie de operaes sobre as variveis existentes no cdigo da macro
AplicaNegrito.
Vamos avanar um pouco mais no nosso estudo sobre operadores. Vamos tratar dos operadores de comparao. Esse justamente o
assunto da prxima lio .
Lio 10: 2strutura I05556>en e os Operadores de &omparao
Co!"arando *alores &o! os -"eradores de &o!"arao'
Em determinadas situaes, existe a necessidade de efetuarmos comparaes entre os valores de duas ou mais variveis ou expresses.
Com base no resultado da comparao - :erdadeiro ou =also -, a execuo do cdigo VBA pode seguir caminhos diferentes.
Normalmente utilizamos comparaes, nas estruturas de controle do cdigo, tambm conhecidas como laos de controle. Para que
possamos estudar os operadores de comparao, vamos apresentar uma das estruturas de controle mais simples que existem no VBA, a
estrutura If Then Else. Abaixo temos um exemplo do funcionamento da estrutura If Then Else:
If x>y Then
' Comandos a serem executados quando x for maior do que y
Comando 1
Comando 2
...
Comando n
Else
' Comandos a serem executados quando x for menor ou igual a y
Comando 1
Comando 2
...
Comando n
End If
Conforme podemos ver, a estrutura If Then Else, bastante simples. Fazemos um teste no incio da estrutura. Se o valor do teste for
verdadeiro, executamos os comandos na seqncia, caso contrrio, executamos os comandos aps o Else. Note que utilizamos o
operador de comparao "maior do que: . ", no caso %.Q , estamos testando se x maior do que y. Logo em seguida apresentaremos
detalhes sobre os operadores de comparao disponveis no VBA. Podemos utilizar laos If Then Else mais complexos, como os do
exemplo:
If x>y Then
' Comandos a serem executados quando x for maior do que y
Comando 1
Comando 2
...
Comando n
ElseIf x=y Then
' Comandos a serem executados quando x for igual a y
Comando 1
Comando 2
...
Comando n
Else
' Comandos a serem executados quando x for menor do que y
Comando 1
Comando 2
...
Comando n
End If
Podemos utilizar tantos ElseIf, quantos forem necessrios. Cada ElseIf utilizado para fazer um teste adicional.
Na Tabela a seguir temos uma descrio dos operadores de comparao.
-"eradores de &o!"arao do :0(:
-"erador ?/!bolo #es&rio
Igualdade = igual .
Diferente <> diferente de.
Maior que > maior do que.
Menor que < menor do que.
Maior ou igual a >= maior ou igual a.
Menor ou igual a <= menor ou igual a.
$%e!"lo: Acessar o Editor VBA para alterar a macro AplicaNegrito, da planilha C:\ExcelAvancado\Mdulo 5 - Exemplo VBA.xls.
1. Abra o Excel.
2. Abra a Planilha C:\ExcelAvancado\ Mdulo 5 - Exemplo VBA.xls.
3. Como existem macros j criadas, o Excel pede uma confirmao, perguntando se voc deseja ativar as macros existentes. Essa
confirmao solicitada devido ao perigo representado pelos vrus de Macro, que podem afetar os aplicativos do Microsoft Office.
4. Clique no boto Ativar Macros.
5. A planilha ser aberta.
6. Nessa planilha existe uma macro chamada AtivaNegrito. Vamos editar essa macro. O nosso objetivo utilizar as estruturas
If...Then...Else e os operadores de comparao.
7. Selecione o comando Ferramentas -> Macro -> Macros...
8. Ser exibida a janela Macro.
9. Clique na macro AplicaNegrito para seleciona-la.
10. Clique no boto Editar.
11. Ser aberto o editor do VBA e o cdigo associado macro AplicaNegrito.
12. Altere o cdigo, para que fique conforme indicado na listagem a seguir:
' Exemplo de utilizao de estruturas If e operadores de comparao.
' Curso: Excel Avanado em 120 Lies.
' Autor: Jlio Battisti
' Site: www.juliobattisti.com.br
Selection.Font.Bold = True
' Declarao das variveis.
Dim x,y,z,k As Integer
x=12
y=15
z=20
k=15
If x<y Then
MsgBox "x menor do que y."
Else
MsgBox "x maior do que y."
End If
If y<x Then
MsgBox "Y menor do que x"
Else
MsgBox "Y maior do que x"
End If
If y<=k Then
MsgBox "y menor ou igual k"
Else
MsgBox "Y maior do que k"
End If
If x<>z Then
MsgBox "x e z so diferentes"
End If
13. Aps digitar o cdigo feche o Editor do VBA.
14. Salve a Planilha.
15. Clique na clula F3.
16. Pressione Ctrl+Shift+K para executar a macro AtivaNegrito.
17. Ser exibida a seguinte mensagem:
18. D um clique no boto OK.
19. Ser exibida a seguinte mensagem:
20. D um clique no boto OK.
21. Ser exibida a seguinte mensagem:
22. D um clique no boto OK.
23. Ser exibida a seguinte mensagem:
24. D um clique no boto OK.
25. Voc estar de volta planilha.
26. Mantenha a planilha aberta pois iremos utiliza-la nas demais lies desse mdulo.
O uso de Operadores de comparao, amplia o leque de possibilidades para nossos programas em VBA. Devemos ter alguns cuidados
quando comparamos variveis que possuem valores de tipos diferentes, como por exemplo, nmero e texto. A Tabela a seguir descreve o
que acontece, quando comparamos variveis com valores de tipos diferentes.
Comparando valores de tipos diferentes.
Co!"arao Cesultado
Entre duas variveis com valores numricos. Comparao normal.
Entre duas variveis com valores do tipo texto. efetuada uma comparao entre valores de texto. Por
exemplo Ku%a 9 !aior do )ue (bel (X vem depois do A).
Uma das variveis possui um valor numrico e outra
possui um valor de texto
O valor numrico ser sempre considerado menor do que o
valor de texto.
Uma das variveis possui um valor numrico e a outra
est vazia.
Efetua uma comparao numrica, atribuindo 0 (zero) para a
varivel vazia.
Uma varivel possui um valor de texto e a outra est
vazia, sem valor.
Efetua uma comparao de texto, atribuindo texto de
comprimento zero (" ")para a varivel vazia.
As duas variveis possuem um valor vazio. So consideradas iguais.
Com a utilizao dos operadores aritmticos e de comparao, ampliamos bastante o leque de opes, na criao de cdigos com o VBA.
Na prxima lio, veremos alguns detalhes sobre "Escopo" de variveis.
Lio 11: 2scopo de Aari/-eis e Aari/-eis do tipo +rra<
- $s&o"o das *ariA*eisT no :0('
O escopo de uma varivel, define em que partes do cdigo a varivel pode ser utilizada. Em VBA, podemos ter os seguintes escopos para
as variveis:
$s&o"o de 5;dulo: Uma varivel declarada dentro do Mdulo (um mdulo pode conter um ou mais procedimentos ou funes, cada
procedimento funo comea com um Sub ou Function e termina com um End Sub ou End Function, respectivamente. Veremos mais
sobre funes e procedimentos, nas prximas lies), mas fora de qualquer Procedimento. Com isso a varivel pode ser utilizada dentro
de todo o bloco de cdigo do Mdulo, inclusive dentro dos Procedimentos, caso exista algum. Um mdulo de uma planilha pode conter
uma ou mais macros, sendo que cada macro um procedimento, isto , inicia com um Sub e termina com um End Sub. Tudo o que
estiver entre Sub e End Sub, faz parte da respectiva macro. Uma varivel declarada ao nvel de Mdulo, existe enquanto o Mdulo estiver
sendo executado.So as variveis declaradas na seo de Declaraes do Mdulo. Uma varivel declarada ao nvel de Mdulo, poder ser
utilizada em todos os procedimentos/funes do mdulo, isto , em todas as macros que fazem parte do respectivo mdulo.
$s&o"o de "ro&edi!entoV+unoV!a&ro: A varivel somente pode ser utilizada, dentro do procedimento onde esta declarada. Aqui
o conceito de procedimento praticamente se confunde com o de macro, ou seja, cada macro criada como um procedimento separado,
dentro do mdulo de cdigo da planilha. Se tentarmos utilizar a varivel fora do procedimento onde a ela foi declarada, no teremos
acesso ao valor da varivel. Uma varivel declarada ao nvel de procedimento, existe enquanto o procedimento estiver sendo executado.
N-G( : Um procedimento um bloco de cdigo que pode ser chamado em qualquer ponto do Mdulo. Ao chamarmos um procedimento,
a execuo deslocada para dentro do procedimento. Aps concludo o procedimento, a execuo segue com a linha seguinte que
chamou o procedimento. Veremos maiores detalhes sobre procedimentos e funes nas prximas lies.
Vamos considerar alguns trechos de cdigo para entendermos melhor este conceito de escopo de uma varivel.
Considere o seguinte trecho de cdigo, dentro de um mdulo VBA de uma planilha do Excel:
'Seo geral do mdulo.
' Variveis declaradas nessa seo tem o escopo de mdulo,
' isto , podem ser utilizadas em qualquer procedimento dentro do mdulo.
Dim x, y,aux1 As Integer
Call proc1
' Agora vamos tentar utilizar os valores de a e b
' Fora do procedimento proc1.
' Observe que a varivel aux1 no calculada
' corretamente, uma vez que os valores de a e b
' no esto disponveis, fora do procedimento proc1
Aux1 = a + b
MsgBox "aux1= " & Aux1
'Agora vamos criar um procedimento
'E declarar duas variveis dentro deste procedimento.
'Estas variveis somente sero visveis,
'Dentro deste procedimento.
Sub proc1()
Dim a, b
x=10
y=20
a=5
b=7
MsgBox "x= " & x & " y= " & y & " a= " & a & " b= " & b
End Sub
O comando Call faz o chamado ao procedimento proc1. Este procedimento deve ser definido no mesmo mdulo, caso contrrio um erro
ser gerado. Ao encontrar esse comando o Excel desloca a execuo para o procedimento proc1, executa os comandos deste
procedimento e aps encerrar continua a execuo a partir do comando seguinte ao comando Call.
Ao executar esse cdigo ser exibida a janela indicada na Figura a seguir:
O comando Call Proc1 executado. O excel executa os comandos dentro de Proc1. As variveis x e y foram declarados com escopo de
mdulo, por isso podem ser utilizadas corretamente dentro do procedimento Proc1, embora no tenham sido declaradas dentro desse
procedimento. As variveis x e y tem escopo de mdulo, ou seja, podem ser utilizadas em qualquer procedimento, dentro do mdulo. Os
valores definidos para x e y, dentro do procedimento Proc1, permanecero disponveis, mesmo se usarmos x e y em outros
procedimentos desse mdulo.
Como a e b esto declaradas dentro de Proc1, o seu escopo est ativo, isso , o Excel tem acesso aos valores de a e b. Porm observe
que x e y apresentam valores nulos. Isso ocorre porque a e b foram declarados. Por isso os valores de a e b tambm so exibidos
corretamente. Agora vamos fazer uma tentativa de usar as variveis a e b fora do procedimento Proc1. Como elas foram declaradas
dentro de Proc1, somente so "visveis", isto , mantm o seu valor quando Proc1 estiver sendo executada. Fora de Proc1, as variveis a
e b tero valores nulos, conforme comprovaremos logo a seguir:
D um clique no boto OK. Ser exibida a janela indicada na figura a seguir:
Como possvel se aux1= a + b e a=5 e b=7, logo aux1 deveria ser igual a 12. O que est acontecendo?? Observe que o valor da
varivel aux1 (foi calculado incorretamente), pois a varivel aux1 depende dos valores de "a" e "b". Como as variveis a e b foram
declaradas dentro do procedimento Proc1, elas no podem ser acessadas de fora do procedimento proc1, ou seja, aps a execuo do
procedimento ter sido encerrada.
D um clique no boto OK e mantenha a planilha aberta.
Com esse exemplo, foi possvel verificar, na prtica, o conceito de escopo (algumas vezes chamado de visibilidade) das variveis. Na
prxima lio, trataremos das Estruturas e laos de controle, que so elementos muito importantes na criao de programas VBA.
Lio 12: 2struturas I05556>en5552lse I0 e 7elect &ase
Em um primeiro grupo, temos as chamadas estruturas de deciso. So estruturas que realizam um teste lgico, e executam
determinados comandos quando o teste resultar verdadeiro, ou um conjunto diferente de comandos, quando o teste resultar falso. Agora
passaremos a analisar as estruturas de deciso, disponveis no VBA.
( estrutura + ''' Ghen
A estrutura If...Then, uma das estruturas de deciso mais conhecidas. Toda linguagem de programao implementa esta estrutura.
utilizada para executar determinados comandos, caso uma condio seja verdadeira. A forma geral desta estrutura a seguinte:
If condio Then
Comando1
Comando2
...
Comandon
End IF.
Uma condio testada, caso a condio seja verdadeira, um ou mais comandos podem ser executados. Considere o exemplo a seguir:
Dim x, y
x=10
y=15
If x<y Then
MsgBox "x menor do que y"
End If
Neste exemplo, a mensagem " % 9 !enor do )ue Q ", ser exibida, uma vez que o teste %`Q verdadeiro, conforme podemos constatar
pelos valores atribudos as variveis x e y.
( estrutura + ''' Ghen'''$lse
A estrutura If...Then...Else, acrescenta mais uma possibilidade a estrutura If...Then. utilizada para executar determinados comandos,
caso uma condio seja verdadeira, ou um conjunto diferente de comandos, caso a condio seja falsa. A forma geral desta estrutura a
seguinte:
If condio Then
Comando1
Comando2
...
Comandon
Else
Comando1
Comando2
...
Comandon
End IF
Uma condio testada, caso a condio seja verdadeira, um determinado comando, ou conjunto de comandos ser executado; caso a
condio seja falsa, um comando, ou conjunto de comandos diferentes, ser executado. Considere o exemplo a seguir:
Dim x, y
x=15
y=10
If x<y Then
MsgBox "x menor do que y"
Else
MsgBox "x maior do que y"
End If
Neste exemplo, a mensagem " % 9 !aior do )ue Q ", ser exibida, uma vez que o teste %`Q 9 +also , conforme podemos constatar
pelos valores atribudos as variveis x e y.
( estrutura + ''' Ghen'''$lse+'''$lse
A estrutura +'''Ghen'''$lse+ , nos d uma poder maior, para testarmos diversas possibilidades. utilizada quando precisamos realizar
mais do que um teste lgico. Neste caso, para cada novo teste que se faa necessrio, utilizamos um ElseIf. A forma geral desta
estrutura a seguinte:
If condio Then
Co!andos a sere! e%e&utadosT &aso a &ondio seDa *erdadeira'
Comando1
Comando2
...
Comandon
ElseIf condio-2
Co!andos a sere! e%e&utadosT &aso a &ondio2 seDa *erdadeira'
Comando1
Comando2
...
Comandon
ElseIf condio-3
Co!andos a sere! e%e&utadosT &aso a &ondio3 seDa *erdadeira'
Comando1
Comando2
...
Comandon
'''
ElseIf condio-n
Co!andos a sere! e%e&utadosT &aso a &ondio n seDa *erdadeira'
Comando1
Comando2
...
Comandon
Else
Co!andos a sere! e%e&utadosT &aso nenhu!a das &ondi6es anteriores seDa *erdadeira'
Comando1
Comando2
...
Comandon
End IF.
Uma condio testada, caso a condio seja verdadeira, um determinado comando, ou conjunto de comandos ser executado; caso a
condio seja falsa, podemos fazer um segundo teste (condio-2). Caso a segunda condio seja verdadeira, um determinado comando,
ou conjunto de comandos ser executado, a assim por diante, para n condies. Caso nenhuma das condies seja verdadeira, os
comandos aps a clusula Else, sero executados. importante observar que somente um dos conjuntos de comandos ser executado.
Quando uma condio verdadeira for encontrada, o conjunto de comandos associado a essa condio ser executado e a execuo segue
a partir do End If, isto , as demais condies da estrutura no sero testadas.
Considere o e%e!"lo a seguir:
Dim x, y
Dim z, k
Dim w, p
x=35
y=30
z=25
k=20
w=15
p=10
If x<y Then
MsgBox "x menor do que y"
ElseIf x<z Then
MsgBox "x menor do que z"
ElseIf x<k Then
MsgBox "x menor do que k"
ElseIf x<w Then
MsgBox "x menor do que w"
ElseIf x<p Then
MsgBox "x menor do que p"
Else
MsgBox "x o maior dos nmeros"
End If
Neste exemplo, a mensagem " % 9 !aior dos n8!eros ", ser exibida, uma vez que todos os testes anteriores falham (pois x o maior
nmero), com isso somente ser executado o ltimo MsgBox, que faz parte do Else.
5as o )ue a&onte&eT )uando u! dos $lse+ 9 *erdadeiro@
Os teste vo sendo feitos. Quando o teste de um dos ElseIf for verdadeiro, os comandos abaixo do ElseIf verdadeiro, sero executados e
o lao ser encerrado. Em resumo, quando um dos ElseIf apresentar um teste verdadeiros, os comandos relacionados sero executados,
e os demais no sero avaliados, seguindo a execuo para o primeiro comando, aps o End If.
( estrutura ?ele&t'''Case
Quando precisamos realizar uma srie de testes, mais eficiente utilizarmos uma nica estrutura ?ele&t'''Case , do que utilizarmos uma
srie de testes utilizando a estrutura +'''Ghen'''$lse+ .
O funcionamento da estrutura Select...Case, bastante intuitivo.
Considere o exemplo a seguir:
Dim x
x=10
Select Case x
Case 2
MsgBox "X vale 2 !"
Case 4
MsgBox "X vale 4 !"
Case 6
MsgBox "X vale 6 !"
Case 8
MsgBox "X vale 8 !"
Case 10
MsgBox "X vale 10 !"
Case Else
MsgBox "X no um nmero par, menor do que 12 "
End Select
A estrutura ?ele&t Case % , 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 5sg0o% JK *ale 10 ZJ ,
abaixo de Case 10, ser executado. - &o!ando abai%o do Case $lse so!ente serA e%e&utadoT se todos os testes anteriores
+alhare!'
O uso da estrutura Select...Case, torna o cdigo mais eficiente e de mais fcil leitura.
Na prxima lio veremos mais algumas estruturas de controle, disponveis no VBA.
Lio 1!: 2struturas )or555Ie3tH Do555J>ile e Do555Until
$struturas de re"etio'
Em determinadas situaes, precisamos repetir um ou mais comandos, um nmero especfico de vezes, ou at que uma determinada
condio torne-se verdadeira ou falsa. Por exemplo, pode ser que haja a necessidade de percorrer todos os registros de uma
determinada tabela, at que o ltimo registro seja alcanado. Para isso, utilizamos as chamadas estruturas de repetio, ou Laos. A
partir de agora, aprenderemos as estruturas de repetio disponveis.
( estrutura =or'''Ne%t'
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:
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
Com este cdigo, obtemos o resultado indicado na Figura a seguir:
( estrutura #o'''Loo"'
Esta estrutura pode ser utilizada para repetir um trecho de cdigo, en)uanto u!a deter!inada &ondio +or *erdadeiraT ou at9
)ue u!a deter!inada &ondio torne,se *erdadeira . Podemos utilizar dois operadores condicionais diferentes: Phile ou Bntil . 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.
( estrutura #o Phile Condio'''Loo"'
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 estruturaT en)uanto a &ondio +or *erdadeiraT o &;digo dentro do lao 9 e%e&utado . 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.
54-CG(NG$ : 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
Soma = Soma + Contador
Contador = Contador + 1
Loop
MsgBox "Valor da Soma = " & Soma
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.
( estrutura #o''' Loo" Phile Condio'
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.
54-CG(NG$ : 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
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
Sual o *alor serA e%ibido "ara a *ariA*el ?o!a @
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.
( estrutura #o Bntil Condio'''Loo"'
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 estruturaT en)uanto a &ondio +or +alsaT o &;digo dentro do lao 9 e%e&utado . 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.
54-CG(NG$ : 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
MsgBox "Valor da Soma = " & Soma
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.
( estrutura #o''' Loo" Bntil Condio'
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.
54-CG(NG$ : 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
Soma = Soma + Contador
Contador = Contador + 1
Loop Until Contador >= x
MsgBox "Valor da Soma = " & Soma
Sual o *alor serA e%ibido "ara a *ariA*el ?o!a @
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.
Lio 1": )un9es do AG+ - )un9es de 6ipo - arte 1
A partir dessa lio veremos uma srie de aspectos que vo alm do bsico do VBA. Iniciaremos falando um pouco mais sobre tipos de
dados e funes para converso de tipos. Este tpico de grande importncia, principalmente quando criamos cdigo que efetua
clculos, tais como uma folha e pagamentos ou clculos de impostos.
Depois passaremos a analisar uma srie de funes internas do VBA. So funes que fazem parte do Microsoft Excel, como por exemplo
a funo Date(), que retorna a data do sistema. Nas lies do prximo mdulo, aprenderemos a criar nossas prprias funes e Sub-
rotinas. Aprenderemos as diferenas entre uma Sub-rotina e uma funo, e quando utilizar uma ao invs da outra.
Gi"os de dados e +un6es "ara &on*erso de ti"os
Neste item, aprenderemos a determinar qual o tipo de dado que est armazenado em uma varivel, bem como a converter valores de
um tipo para outro, utilizando as funes para converso de tipos.
#eter!inando o Gi"o de #ados &ontido e! u!a *ariA*el'
Existem diversas funes, que permitem que seja determinado o tipo de valor contido em uma varivel. Existem diversas aplicaes para
este tipo de funo. Por exemplo, ao digitar dados em um formulrio do Excel (no curso sobre Programao VBA e Criao de Aplicativos
com o Excel, aprenderemos a criar formulrios), podemos utilizar uma funo para determinar se os valores digitados pelo usurio, no
apresentam problemas. Por exemplo, o usurio pode ter digitado, por engano, texto em um campo que deve conter valores numricos.
( +uno s(rraQ'
Um Array um tipo especial de varivel, a qual pode armazenar diversos valores em uma nica varivel. De uma forma simples, um
Array um conjunto ou como aprendi nos bons e velhos tempos da faculdade de Engenharia Eltrica na UFSM: Um vetor. Por exemplo,
poderamos ter uma varivel Array na qual so armazenados todos os cdigos de tributo, vlidos para o recolhimento de impostos. Cada
valor armazenado no Array um elemento do conjunto. Um outro exemplo: Poderamos criar um Array para armazenar os nomes dos
meses do ano. Com isso teramos um Array de 12 elementos.
Cada elemento de um Array, acessado atravs do nome da varivel Array e de um ndice. - /ndi&e ini&ia e! <ero e no e! u! . Por
isso se tivermos um Array de 10 elementos, teremos o elemento 0, o elemento 1, o elemento 2, e assim por diante, at o elemento 9. O
fato do ndice comear com 0, influencia na hora que formos declarar um Array. Para declarar um Array chamado produtos, com 20
elementos, utilizaramos o seguinte comando:
Dim produtos(19)
O 19 significa que temos 20 elementos (sempre um a mais do que o nmero que aparece na declarao), isto , do elemento 0, indicado
por produtos(0), at o elemento 20, indicado por produtos(19).
No exemplo a seguir, temos um exemplo simples de utilizao de Array:
'Declara um Array de 7 posies
'Como a primeira posio a posio zero,
'Indicamos o tamanho como 6, o que significa
'da posio 0 at a posio 6 = 7 elementos.
Dim Dias(6)
'Atribumos valores para os dias da semana
Dias(0)= "Segunda-feira"
Dias(1)= "Tera-feira"
Dias(2)= "Quarta-feira"
Dias(3)= "Quinta-feira"
Dias(4)= "Sexta-feira"
Dias(5)= "Sbado"
Dias(6)= "Domingo"
'Agora utilizamos um lao For...Next
'Para criar uma String, com o contedo
'Do Array Dias.
For i=0 to 6
mensagem = mensagem & "Dia: " & i+1 & " " & Dias(i)& Chr(13)
Next
'Utilizamos uma MsgBox, para exibir a mensagem
'com o contedo do Array Dias.
MsgBox mensagem
Esse trecho de cdigo, ao ser executado, produziria a seguinte sada:
Utilizamos a funo IsArray, para determinar se uma varivel do tipo Variant (lembre que todas as variveis do VBA, so do tipo Variant),
est armazenando um Array.
Utilizamos a seguinte sintaxe:
IsArray(NomeDaVarivel)
A funo IsArray retorna verdadeiro se a varivel for um Array, e falso caso contrrio.
Vamos alterar um pouco o exemplo anterior, adicionando o seguinte comando, ao final da listagem.:
MsgBox IsArray(Dias)
o resultado seria o indicado na Figura a seguir:
( +uno :arGQ"e'
Podemos utilizar a funo VarType, para determinar o subtipo de uma varivel. Como todas as variveis so do tipo Variant, o subtipo
pode ser utilizado para determinar o tipo de dado armazenado na varivel. Passamos para a funo, o nome de uma varivel ou
expresso. A funo retorna um nmero inteiro que indica o subtipo da varivel.
A sintaxe da funo a seguinte:
VarType(NomeDaVarivel)
ou
VarType(expresso)
Na Tabela a seguir temos os cdigos de retorno da funo VarType.
Tabela - Valores de retorno da funo VarType.
:alor #es&rio
0 Vazio (no inicializado)
1 Nulo (dados no vlidos)
2 Inteiro
3 Inteiro longo
4 Nmero de preciso simples
5 Nmero de preciso dupla
6 Monetrio.
7 Data
8 Texto
9 Objeto de automao
10 Erro
11 Boleano
12 Variant (somente utilizado com Arrays de variantes)
13 Um objeto para acesso a dados.
17 Byte
8192 Array
No exemplo a seguir, temos um exemplo de utilizao da funo VarType.
Dim x,y,z
Dim a, b
Dim c(20)
Dim mensagem As String
x=12
y=23.456
y=123456789
a="Este um valor de texto !"
'Utilizamos a funo Date( ), para capturar a data do sistema.
b=Date()
mensagem = "Tipo da varivel x: " & Vartype(x) & Chr(13)
mensagem = mensagem & "Tipo da varivel y: " & Vartype(y) & Chr(13)
mensagem = mensagem & "Tipo da varivel z: " & Vartype(z) & Chr(13)
mensagem = mensagem & "Tipo da varivel a: " & Vartype(a) & Chr(13)
mensagem = mensagem & "Tipo da varivel b: " & Vartype(b) & Chr(13)
mensagem = mensagem & "Tipo da varivel c: " & Vartype(c) & Chr(13)
MsgBox mensagem
Ao executar este exemplo, obteremos o resultado indicado na Figura a seguir:
Observe, principalmente, no tipo da varivel z, o qual retornou 0. Isto significa que a varivel z est vazia, ou seja, no foi inicializado.
Este resultado est coerente com a Tabela anterior. Tambm podemos salientar o retorno para a varivel b, o qual retornou 7, indicando
que o valor armazenado nesta varivel do tipo Data, o que tambm est coerente com a Tabela anterior, uma vez que usamos a funo
Date() , para armazenar a data do sistema, na varivel b. Finalmente observe o valor de retorno para a varivel c, o qual retornou 8192,
indicando que a varivel c um Array. Este resultado est coerente com a Tabela anterior, e com a declarao: Dim c(20), a qual
declarou a varivel c como sendo um Array.
Muitas so as aplicaes prticas para a funo VarType, dentre as quais podemos destacar a validao dos dados digitados em um
formulrio.
Lio 1#: )un9es do AG+ - )un9es de 6ipo - arte 2
( +uno s#ate'
A funo IsDate recebe uma varivel ou expresso como argumento, e determina se a varivel ou expresso uma data vlida, ou pode
ser convertida para uma data vlida. Caso o argumento passado seja uma data vlida, a funo retorna Verdadeiro, caso contrrio,
retorna Falso. Podemos utilizar esta funo, por exemplo, para verificar se o usurio digitou uma data vlida, em um campo de um
formulrio.
A sintaxe da funo IsDate a seguinte:
IsDate(NomeDaVarivel)
ou
IsDate(expresso)
A seguir temos um exemplo de utilizao da funo IsDate.
If IsDate(x) Then
MsgBox "Voc digitou uma data vlida !"
Else
MsgBox "Data invlida, digite novamente !"
End If
( +uno s$!"tQ'
A funo IsEmpty recebe uma varivel ou expresso como argumento, e determina se, em algum momento, foi atribudo algum valor
para a varivel ou expresso. Caso tenha sido atribudo algum valor, a funo retorna Verdadeiro, caso contrrio, retorna Falso. Podemos
utilizar esta funo, por exemplo, para verificar se um campo de digitao obrigatria, como por exemplo o nome, no foi deixado em
branco.
A sintaxe da funo IsEmpty a seguinte:
IsEmpty(NomeDaVarivel)
ou
IsEmpty(expresso)
A seguir temos um exemplo de utilizao da funo IsEmpty.
Vamos declarar uma varivel x, que nunca
Ser utilizada no nosso Script
Dim a, b, c
Dim x
a=10
b=23
c=a+b
If IsEmpty(x) Then
MsgBox "A varivel x, no foi utilizada !"
End If
A varivel x foi declarada porm no foi inicializada, com isso est vazia, logo a funo IsEmpty(x) ir retornar Verdadeiro.
( +uno sNull'
A funo IsNull recebe uma varivel ou expresso como argumento, e determina se, em algum momento, foi atribudo o valor Null para a
varivel ou expresso. Caso tenha sido atribudo o valor Null, a funo retorna Verdadeiro, caso contrrio, retorna Falso. Para atribuirmos
Null para uma varivel, utilizamos a seguinte sintaxe:
NomeDaVarivel = Null
54-CG(NG$: Uma varivel com valor Null, no a mesma coisa que uma varivel com valor zero, ou uma varivel de texto com
tamanho zero. Quando atribudo o valor Null para a varivel, esta continua existindo na memria, porm sem nenhum valor definido.
A sintaxe da funo IsNull a seguinte:
IsNull(NomeDaVarivel)
ou
IsNull(expresso)
A seguir temos um exemplo de utilizao da funo IsNull.
' Vamos declarar uma varivel x, e atribuir
' Null, para a varivel.
Dim x
x = Null
If IsNull(x) Then
MsgBox "A varivel x Nula !"
End If
Este exemplo produz o seguinte resultado:
( +uno sNu!eri&'
A funo IsNumeric recebe uma varivel ou expresso como argumento, e determina se o valor atribudo varivel ou expresso
numrico, ou pode ser convertido para numrico. Caso o valor seja numrico, ou possa ser convertido, a funo retorna Verdadeiro, caso
contrrio, retorna Falso.
A sintaxe da funo IsNumeric a seguinte:
IsNumeric(NomeDaVarivel)
ou
IsNumeric(expresso)
A seguir temos um exemplo de utilizao da funo IsNumeric.
Dim x,y,z
x=123
'Atribuo um valor que no pode ser convertido
'para numrico
y = "Riachuelo - 80"
z = Date()
mensagem = "Valor de x: " & x &" numrico ? " & IsNumeric(x)& Chr(13)
mensagem = mensagem & "Valor de y: " & y &" numrico ? " & IsNumeric(y)& Chr(13)
mensagem = mensagem & "Valor de z: " & z &" numrico ? " & IsNumeric(z)
MsgBox mensagem
Cabe salientar a utilizao da funo Date(), para capturar a data do sistema, e atribuir esta data varivel z. Observe que esta data no
foi considerada um valor numrico para a funo IsNumeric.
Lio 1$: AG+ - )un9es para con-erso de 6ipos- arte 1
Nesta lio aprenderemos a utilizar as principais funes para converso de tipos. Existem situaes em que um determinado tipo de
dado, deve ser convertido para outro. Por exemplo, se tivermos um nmero, armazenado na forma de texto, precisamos convert-lo para
inteiro ou double, para que possamos realizar clculos. Em um dos exemplos do Mdulo 6, faremos um exemplo de clculo do DV do CPF,
onde o CPF um valor do tipo texto. Ao extrairmos cada dgito do CPF, estes sero extrados como caracteres de texto. Precisaremos
utilizar uma funo de converso, para convert-los para nmeros, a fim de que possamos efetuar os clculos necessrios.
Na seqncia, apresento as principais funes de converso, bem como um pequeno fragmento de cdigo, exemplificando a utilizao de
cada uma delas.
=uno Cbool
A funo Cbool converte uma varivel ou resultado de um expresso, para o subtipo Boolean. Qualquer nmero, com exceo do zero,
automaticamente convertido para Verdadeiro. O valor zero sempre convertido para Falso. O argumento desta funo, no pode ser
Texto, caso contrrio ser gerado um erro em tempo de execuo.
Observe este linha de cdigo:
MsgBox cbool(10>25) & chr(13) & cbool(3)
Esta linha gera a mensagem indicada na Figura a seguir:
A expresso 10>25 avaliada, como a expresso falsa, a funo Cbool retorna Falso. J no segundo uso da funo Cbool, foi passado o
parmetro 3 para a funo. Qualquer valor diferente de zero (com exceo de texto), a funo interpreta como Verdadeiro, o que
comprovado pela Figura anterior.
=uno C0Qte
A funo CByte converte uma varivel ou resultado de um expresso, para o subtipo Byte. O valor a ser convertido, deve estar na faixa
aceitvel para o tipo byte, que vai de 0 255. Caso o nmero esteja fora desta faixa, ser gerada uma mensagem de erro, em tempo de
execuo. O argumento desta funo, no pode ser Texto, caso contrrio ser gerada uma mensagem de erro, em tempo de execuo.
Observe este linha de cdigo:
MsgBox CByte(10+34) & chr(13) & CByte(35)
Esta linha gera a mensagem indicada na Figura a seguir:
A expresso 10+34 calculada, e o resultado (44), convertido para o tipo byte. A linha de cdigo abaixo, ir gerar uma mensagem de
erro, em tempo de execuo, pois o valor a ser convertido para byte, est fora da faixa de 0 255.
MsgBox CByte(100+200)
Essa linha de cdigo ir gerar a seguinte mensagem de erro:
=uno CCur
A funo CCur converte uma varivel ou resultado de um expresso, para o subtipo Currency (semelhante ao formato Moeda, porm sem
o smbolo do real: R$). O argumento desta funo, no pode ser Texto, caso contrrio ser gerado um erro.
Observe este linha de cdigo:
MsgBox CCur(250.335677+324.3333) & chr(13) & CCur(1250.326582)
Esta linha gera a mensagem indicada na Figura a seguir:
A expresso 250.335677+324.3333 calculada, e o resultado convertido para o tipo Currency. Se passarmos um argumento de texto
para a funo CCur, ser gerado um erro de execuo, conforme indicado na Figura a seguir:
=uno C#ate
A funo CDate converte uma varivel ou resultado de um expresso, para o subtipo Date. O argumento desta funo deve estar em um
formato que seja aceitvel para datas, caso contrrio ser gerada uma mensagem de erro, em tempo de execuo.
Observe este linha de cdigo:
MsgBox CDate("31/10/1980") & chr(13) & CDate("23-01-2007")
Esta linha gera a mensagem indicada na Figura a seguir:
A linha de cdigo abaixo, ir gerar uma mensagem de erro, em tempo de execuo, conforme indicado na prxima figura:
MsgBox CDate("31/02/1980")
=uno C#bl
A funo CDbl converte uma varivel ou resultado de um expresso, para o subtipo Double. O tipo Doubl utilizado para nmeros
grandes com casas decimais. O argumento desta funo no pode ser do tipo texto, caso contrrio ser gerada uma mensagem de erro,
em tempo de execuo.
Observe este linha de cdigo:
MsgBox CDbl("4.940651247E-17")
Esta linha gera a mensagem indicada na Figura a seguir:
Na prxima lio estudaremos mais algumas funes para converso de tipos.
Lio 1%: AG+ - )un9es para con-erso de 6ipos-arte 2
Vamos apresentar mais algumas funes do VBA, para a converso de tipos de dados.
=uno Cnt
A funo CInt converte uma varivel ou resultado de um expresso, para o subtipo Integer. O argumento desta funo no pode ser do
tipo texto, caso contrrio ser gerada uma mensagem de erro, em tempo de execuo.
Observe este linha de cdigo:
MsgBox CInt(32.36) & Chr(13) & CInt(20.35+40.45)
Esta linha gera a mensagem indicada na Figura a seguir:
A linha de cdigo abaixo, ir gerar uma mensagem de erro, em tempo de execuo.
=uno CLng
A funo CLng converte uma varivel ou resultado de um expresso, para o subtipo Long. O argumento desta funo no pode ser do
tipo texto, caso contrrio ser gerada uma mensagem de erro, em tempo de execuo. O argumento tambm no pode estar fora da
faixa admitida pelo subtipo Long, caso contrrio ser gerada uma mensagem de erro, em tempo de execuo.
Observe este linha de cdigo:
MsgBox CLng("3462315")
Esta linha gera a mensagem indicada na Figura a seguir:
=uno C?ng
A funo CSng converte uma varivel ou resultado de um expresso, para o subtipo Single. O argumento desta funo no pode ser do
tipo texto, caso contrrio ser gerada uma mensagem de erro, em tempo de execuo. O argumento tambm no pode estar fora da
faixa admitida pelo subtipo Single, caso contrrio ser gerada uma mensagem de erro, em tempo de execuo.
Observe este linha de cdigo:
MsgBox CSng("3.1418256927")
Esta linha gera a mensagem indicada na Figura a seguir:
=uno C?tr
A funo CStr converte uma varivel ou resultado de um expresso, para o subtipo String.
Observe este linha de cdigo:
MsgBox CStr("12345" & " hectares de terra")
Esta linha gera a mensagem indicada na Figura a seguir:
=uno nt
A funo Int retorna somente a parte inteira de um determinado nmero. A linha de cdigo a seguir:
MsgBox Int(-7.35) & Chr(13) & Int(10.35)
Esta linha gera a mensagem indicada na Figura a Seguir:
Com isso, terminamos a nossa apresentao sobre as principais funes para a converso de tipos de dados. Na prxima lio,
analisaremos mais algumas funes do VBA, para operaes com dados do tipo String e do tipo Data/Hora.
Lio 1(: AG+ - )un9es para tratamento de 6e3to
Nessa lio veremos as principais funes para tratamento de String.
=uno (s&
A funo Asc, retorna o valor numrico do cdigo ASCII, para a primeira letra de uma String. Considere o exemplo:
Asc("Ainda chovia")
Este exemplo de uso da funo retorna o valor 65, o qual o cdigo ASCII, para a letra ( maiscula. Caso fosse a letra "a" minscula, o
cdigo retornado seria 97 e assim por diante.
=uno Chr
A funo Chr(nmero), recebe um nmero como parmetro, e retorna o caractere ASCII, associado ao nmero passado como parmetro.
Considere o exemplo:
Chr(65)
Este exemplo de uso da funo retorna o caractere "A" maisculo.
N-G(: At agora, utilizamos a funo Chr em diversos exemplos. Utilizamos o Chr(13), para simular um ENTER, o que faz uma quebra
de linha, nas mensagens montadas com o MsgBox.
=uno Len
Esta funo determina o tamanho da String que foi passada como parmetro para a funo. Considere o exemplo:
MsgBox Len("Este um exemplo de uso da funo Len !!")
Este exemplo de uso da funo, retorna 41, conforme indicado na Figura a seguir:
importante observar que os espaos em branco tambm "contam" para o tamanho da string.
=uno LCase
Esta funo converte para minsculas, a String que foi passada como parmetro para a funo. Considere o exemplo:
MsgBox Lcase("ESTE UM EXEMPLO DE USO DA FUNO LCASE!!")
Este exemplo de uso da funo, converte o parmetro passado, para letras minsculas, conforme indicado na Figura a seguir:
=uno BCase
Esta funo converte para MAISCULAS, a String que foi passada como parmetro para a funo. Considere o exemplo:
MsgBox Lcase("este um exemplo do uso da funo ucase !!")
Este exemplo de uso da funo, converte o parmetro passado, para letras maisculas, conforme indicado na Figura a seguir:
=uno Le+t
Esta funo retorna um nmero especificado de caracteres, a partir do incio (Left - Esquerda) de uma String. importante salientar que
espaos em branco tambm devem ser considerados.
O formato geral da funo o seguinte:
Le+t1?tringT n3
onde n o nmero de caracteres a retornar.
Considere o exemplo:
MsgBox Left("Jlio Cesar Fabris Battisti",5)
Este exemplo de uso da funo, retorna as cinco primeiras letras da String passada, neste caso, retornar Jlio.
Vamos alterar um pouco o nosso exemplo:
MsgBox Left("Jlio Cesar Fabris Battisti",7)
Ir retornar: Jlio C
Observe que o espao em branco tambm considerado.
=uno Cight
Esta funo retorna um nmero especificado de caracteres, a partir do final (Right - Direita) de uma String. importante salientar que
espaos em branco tambm devem ser considerados.
O formato geral da funo o seguinte:
Right(String, n)
onde n o nmero de caracteres a retornar.
Considere o exemplo:
MsgBox Right("Jlio Cesar Fabris Battisti",6)
Este exemplo de uso da funo, retorna as seis ultimas letras da String passada, neste caso, retornar "ttisti".
Vamos alterar um pouco o nosso exemplo:
MsgBox Right("Jlio Cesar Fabris Battisti",10)
Ir retornar: s Battisti
Observe que o espao em branco tambm considerado.
=uno 5id
Esta funo retorna um nmero especificado de caracteres, a partir de uma posio especificada, dentro da String. importante salientar
que espaos em branco tambm devem ser considerados.
O formato geral da funo o seguinte:
Mid(String, posicao_inicio, n)
onde:
"osi&aoHini&io a posio a partir da qual devem ser retornados caracteres
n o nmero de caracteres a retornar.
Considere alguns exemplos:
Mid("Jlio Cesar Fabris Battisti",7,5)
Este exemplo de uso da funo, retorna, a partir da posio 7, 5 caracteres, neste caso, retornar Cesar.
Mid("SANTA MARIA",3,7)
, ir retornar NTA MAR. Observe que o espao em branco tambm considerado.
Um detalhe interessante, que podemos utilizar o valor retornado por uma funo, como parmetro para outra funo. Considere o
seguinte exemplo:
LCase(Mid("SANTA MARIA",3,7))
Este exemplo retorna nta !ar .
A funo Mid retira os caracteres NTA MAR, os quais so passados como parmetros para a funo LCase, a qual converte os caracteres
para minsculos.
=uno ?tring
Esta funo retorna um determinado caractere, um nmero especificado de vezes.
O formato geral da funo o seguinte:
String(n, Caracter)
onde n o nmero de vezes que Caractere deve ser repitido.
Considere o exemplo:
MsgBox String(35,"*")
A Figura a seguir mostra o resultado deste comando:
Lio 1*: AG+ - )un9es de DataCKora e Matem/ticas
=un6es "ara trata!ento de #ata e 7ora
Veremos as principais funes para tratamento de Data e Hora.
=uno #ate
Retorna a data corrente do sistema. No precisamos passar parmetros para esta funo. Considere o exemplo abaixo:
MsgBox "Data do Sistema: " & Date()
O resultado deste comando, est indicado na Figura a seguir:
=uno Gi!e
Retorna a hora corrente do sistema. No precisamos passar parmetros para esta funo. Considere o exemplo abaixo:
MsgBox "Hora do Sistema: " & Time( )
O resultado deste comando, est indicado na Figura a seguir:
=uno #aQ
Recebe como parmetro uma data, e retorna um nmero entre 1 e 31, indicando o dia do ms. O formato geral o seguinte:
Day(data)
Considere o exemplo abaixo:
MsgBox "Dia do ms: " & Day(Date( ))
O resultado deste comando, est indicado na Figura a seguir:
A funo Date() captura a data do sistema e passa como parmetro para a funo Day, a qual por sua vez, retorna apenas o dia do ms.
=uno 5onth
Recebe como parmetro uma data, e retorna um nmero entre 1 e 12, indicando o ms do ano. O formato geral o seguinte:
Month(data)
Considere o exemplo abaixo:
MsgBox "Ms do ano: " & Month(Date( ))
O resultado deste comando, est indicado na Figura a seguir:
A funo Date() captura a data do sistema e passa como parmetro para a funo Month, a qual por sua vez, retorna apenas o ms do
ano
=uno NoN
Retorna a hora e a data corrente do sistema. No precisamos passar parmetros para esta funo. Considere o exemplo abaixo:
MsgBox "Data e Hora do Sistema: " & Now( )
O resultado deste comando, est indicado na Figura a seguir:
=uno 5onthNa!e
Recebe como parmetro um nmero, indicativo do ms do ano (1 - Janeiro, 2 - Fevereiro, e assim por diante), e um segundo parmetro
que pode ser Verdadeiro ou Falso. Se o segundo parmetro for verdadeiro, o nome do ms ser exibido abreviadamente. O formato geral
o seguinte:
MonthName(nmero_do_ms, abreviar)
Considere o exemplo abaixo:
MsgBox "Ms do ano: " & MonthName(Month(Date))
O resultado deste comando, est indicado na Figura a seguir:
A funo Date() captura a data do sistema e passa como parmetro para a funo Month. A funo Month retorna o nmero do ms
retornado pela data. Este nmero passado como primeiro parmetro para a funo MonthName.
=uno 7our
Recebe como parmetro uma hora, e retorna um nmero entre 0 e 23, indicando o hora do dia. O formato geral o seguinte:
Hour(horrio)
Considere o exemplo abaixo:
MsgBox "Hora do dia: " & Hour(Time( ))
O resultado deste comando, est indicado na Figura a seguir:
A funo Time() captura a hora do sistema e passa como parmetro para a funo Hour(), a qual por sua vez, retorna apenas o hora do
dia.
( +uno #ate#i++
Esta funo pode ser utilizada para determinar o nmero de intervalos (em dias, trimestres, semestres, anos, etc), entre duas datas. A
sintaxe desta funo o seguinte:
DateDiff(intervalo, data1, data2)
O parmetro intervalo uma String que diz que tipo de intervalo vamos calcular. Por exemplo, este parmetro que define se queremos
calcular o nmero de dias, ou o nmero de meses entre duas datas. Na Tabela a seguir, temos os valores possveis para o parmetro
intervalo.
:alores "ara o "arR!etro inter*alo
:alor #es&rio
yyyy Anos
q Trimestres
m Meses
y Dias do ano (o mesmo que dias)
d Dias
w Semanas
ww Semanas do ano (o mesmo que semanas)
h Horas
n Minutos
s Segundos
A ttulo de exemplo, vamos calcular o nmero de meses, desde o descobrimento do Brasil, at 31 de Dezembro de 1999. Para isso,
utilizaramos o seguinte comando
MsgBox "Meses desde o descobrimento: " & DateDiff("m","22/04/1500","31/12/1999")
O resultado deste comando, pode ser conferido na Figura a seguir:
Vamos modificar um pouco o nosso exemplo, e calcular o nmero de horas desde o descobrimento. Para isto, podemos utilizar o seguinte
comando:
MsgBox "Meses desde o descobrimento: " & DateDiff("h","22/04/1500","31/12/1999")
O resultado deste comando, pode ser conferido na Figura a seguir:
( +uno #ate(dd
Esta funo pode ser utilizada para determinar uma data futura, com base em uma data fornecida, o tipo de perodo a ser acrescentado
(dias, meses, anos, etc), e o nmero de perodos a serem acrescentados. A sintaxe desta funo o seguinte:
DateAdd(intervalo, nmero_de_intervalos, data)
O parmetro intervalo uma String que diz que tipo de intervalo vamos acrescentar. Por exemplo, este parmetro que define se
queremos acrescentar um nmero especificado de dias, meses, anos, etc. Na Tabela a seguir, temos os valores possveis para o
parmetro intervalo.
:alores "ara o "arR!etro inter*alo'
:alor #es&rio
yyyy Anos
q Trimestres
m Meses
y Dias do ano (o mesmo que dias)
d Dias
w Semanas
ww Semanas do ano
h Horas
n Minutos
s Segundos
A ttulo de exemplo, vamos calcular a data em que tivemos um perodo de 1000 meses, aps o descobrimento do Brasil. Para isso,
utilizaramos o seguinte comando:
MsgBox "Mil meses aps o descobrimento foi em : " & DateAdd("m",1000,"22/04/1500")
O resultado deste comando, pode ser conferido na Figura a seguir:
Vamos modificar um pouco o nosso exemplo, e calcular em que data teremos passado um milho de dias aps o descobrimento.
MsgBox "Um milho de dias aps o descobrimento em : " & DateAdd("d",1000000,"22/04/1500")
O resultado deste comando, pode ser conferido na Figura a seguir:
=uno aear
Recebe como parmetro uma data, e retorna um nmero indicativo do ano. O formato geral o seguinte:
Year(data)
Considere o exemplo abaixo:
MsgBox "Ano atual: " & Year(Date( ))
O resultado deste comando, est indicado na Figura a seguir:
A funo Date() captura a data do sistema e passa como parmetro para a funo Year, a qual por sua vez, retorna apenas o ano.
=uno PeeU#aQ
Recebe como parmetros uma data, e um parmetro opcional, que indica qual o primeiro dia da semana. Se este parmetro for omitido,
o primeiro dia da semana ser considerado Domingo. O valor para o primeiro dia da semana numrico: 1 - Domingo, 2 - Segunda-feira,
e assim por diante.
WeekDay(data, prim_dia_semana.)
Considere o exemplo abaixo:
MsgBox "Dia da semana: " & WeekDay("31/12/1999")
O resultado deste comando, est indicado na Figura a seguir:
O valor 6, indica que foi uma Sexta-feira, o que confere com o calendrio.
Poderamos determinar que o primeiro dia da semana a Segunda-feira (2 para o ltimo parmetro). Com isso o nosso exemplo, ficaria
assim:
MsgBox "Dia da semana: " & WeekDay("31/12/1999",2)
O resultado deste comando, est indicado na Figura a seguir:
O valor 5, indica que foi uma Sexta-feira, pois agora a Segunda-feira passou a ser o dia 1, a Tera-feira o dia 2, e assim por diante.
Novamente confere com o calendrio.
=uno PeeU#aQNa!e
Recebe como parmetro um nmero, indicativo do dia da semana, e um segundo parmetro que pode ser Verdadeiro ou Falso. Se o
segundo parmetro for verdadeiro, o nome do dia da semana ser exibido abreviadamente. O formato geral o seguinte:
WeekDayName(nmero_do_dia, abreviar)
Considere o exemplo abaixo:
MsgBox "Dia da semana: " & WeekDayName(6,False)
O resultado deste comando, est indicado na Figura a seguir:
=un6es "ara CAl&ulos !ate!Ati&os
Veremos as principais funes para efetuar clculos matemticos.
Na Tabela a seguir, temos a descrio das principais funes matemticas, disponveis no VBA.
=un6es "ara &Al&ulos !ate!Ati&os'
=uno #es&rio
Abs(n) Retorna o valor absoluto (sem sinal), do nmero n.
Atn(n) Retorna o valor do arco, cuja tangente o nmero
n. O nmero n deve ser fornecido em radianos.
Cos(n) Retorna o coseno do nmero n. O nmero n deve ser
fornecido em radianos.
Exp(n) Retorna o nmero e (logaritmo neperiano e=2,7183),
elevado no nmero n.
Log(n) Retorna o logaritmo natural de um nmero n.
Rnd(n) Retorna um nmero aleatrio entre 0 e 1.
Sgn(n) Retorna um nmero inteiro, indicando o sinal do
nmero n. Retorna -1 para nmeros negativos e 1
para nmeros positivos.
Sin(n) Retorna o seno do nmero n. O nmero n deve ser
fornecido em radianos
Sqr(n) Retorna a Raiz quadrada do nmero n.
Tan(n) Retorna a tangente do nmero n. O nmero n deve
ser fornecido em radianos.
N-G(: Para converter graus para radianos, multiplique o valor em graus por pi (3.14), e divida o resultado por 180.
Na Tabela a seguir temos alguns exemplos de utilizao das funes matemticas do VBA.
(lguns e%e!"los de utili<ao das +un6es !ate!Ati&as'
$%e!"lo :alor de retorno'
Abs(-2350) 2350
Atn(2) 1,1071487177
Cos(0) 1
Exp(1) 2,71828182845905
Log(1000) 6,90775527898214
Rnd*10 Gera um nmero aleatrio entre 0 e 10
Sgn(-235) Retorna -1, pois o nmero
negativo
Sin(0) Retorna 0
Sqr(400) Retorna 20
Tan(0) Retorna 0
MDULO $
Lio 01 Introduo e contedo do Mdulo 6
Lio 02 Bibliotecas, Objetos, Propriedades, Mtodos e Referncias
Lio 03 Criando suas prprias funes e procedimentos
Lio 04 VBA - Trabalhando com o objeto Application
Lio 05 Trabalhando com o Objetos Workbook
Lio 06 Trabalhando com o Objeto Worksheet
Lio 07 Trabalhando com o Objeto Range
Lio 08 Um exemplo prtico - calculando o DV do CPF - Algoritmo
Lio 09 Calculando o DV do CPF - Criando a Funo
Lio 10 Calculando o DV do CPF - Usando a Funo ValidaCPF
Lio 11 O Objeto Application - Propriedades e Mtodos - Parte I
Lio 12 O Objeto Application - Propriedades e Mtodos - Parte II
Lio 13 O Objeto Application - Propriedades e Mtodos - Parte III
Lio 14 O Objeto Workbook - Propriedades e Mtodos - Parte I
Lio 15 O Objeto Workbook - Propriedades e Mtodos - Parte II
Lio 16 O Objeto Workbook - Propriedades e Mtodos - Parte III
Lio 17 Worksheet e Range - Propriedades e Mtodos - Parte I
Lio 18 Worksheet e Range - Propriedades e Mtodos - Parte II
Lio 19 Worksheet e Range - Propriedades e Mtodos - Parte III
Lio 01: Introduo e &ontedo do Mdulo $
Nas lies desse mdulo vamos estender um pouco mais o nosso estudo sobre a linguagem VBA. Nas lies do mdulo anterior, tratamos
sobre os fundamentos bsicos do VBA, tais como:
Variveis.
Operadores.
Dados e tipos de dados.
Estruturas de deciso.
Laos de controle.
Funes internas do VBA.
Esses conceitos so muito importantes, pois faro parte de qualquer macro ou funo criada com o VBA. Voc consegue imaginar uma
funo ou macro onde no seja utilizada uma funo, ou uma variveis e operadores aritmticos? Muito difcil.
Nas lies desse mdulo, veremos uma srie de objetos que fazem parte do prprio excel. Com o uso desses objetos podemos ter acesso
aos diversos elementos que compem uma planilha do Excel. Por exemplo, voc j parou para pensar como, dentro do cdigo VBA,
podemos fazer referncia a uma clula de uma determinada planilha? Ou, em outras palavras, como podemos declarar uma varivel x e
atribuir o valor da clula B25 varivel x?
Veremos que isso possvel com o uso dos objetos que compem o Excel. Quando estamos programando em VBA, dentro do Excel (e
mesmo atravs de outros programas, como o Microsoft Access), temos acesso a um grande conjunto de objetos, cada objeto com
dezenas de mtodos e propriedades, os quais nos do acesso a todos os elementos de uma planilha do Excel.
Nota: Na Lio 2 desse mdulo, detalharemos um pouco mais os conceitos de Biblioteca, Objetos, Mtodos e Propriedades.
A seguir temos uma lista de novidades do VBA, no Excel 2000, em relao as verses anteriores.
Novidades do Modelo de Objetos do Excel 2000 VBA:
O modelo do objeto do Microsoft Excel 2000 Visual Basic for Applications inclui muitas alteraes que foram feitas para suportar recursos
novos e aprimorados no Excel. Para proporcionar compatibilidade com verses anteriores, os componentes substitudos foram deixados
ocultos ao invs de serem removidos. Isso significa que eles no aparecem no Pesquisador de objeto por padro, mas o cdigo antigo
que usa os componentes ocultos ainda funcionar corretamente sem modificao. Ao gravar cdigo novo, entretanto, voc deve usar
apenas novos objetos, propriedades e mtodos.
As principais alteraes de recurso feitas no Visual Basic for Applications no Microsoft Excel 2000 esto listadas a seguir:
(#- , (&ti*e% #ata -bDe&ts: um novo conjunto de objetos para acesso a fontes de dados externas, tais como o Microsoft Access ou
o SQL Server 2000. Voc pode, at mesmo, criar uma planilha do Excel que acessa dados diretamente do Mainframe. Fornece uma
interface de acesso direto a banco de dados. O ADO agora o mtodo de acesso de dados preferido no Excel. Nas verses anteriores
utilizava-se um outro conjunto de objetos, conhecido como DAO - Data Access Objects.
(r)ui*o de te%to e &onsultas da Peb: Fornece novas melhorias de importao de arquivo texto e consulta de pgina da Web.
(ssinatura digital: Fornece uma forma de determinar se o projeto do Visual Basic for Applications da pasta de trabalho foi assinada
digitalmente. muito utilizado quando trabalhamos com planilhas e/ou aplicaes criadas com o Excel, onde o quesito segurana e
identificao um fator fundamental.
$dio e! *Arias l/nguas: Fornece interface do usurio de vrias lnguas aprimorada e recursos de edio e tratamento de texto
fontico melhorado para suporte a idioma do leste asitico.
$%ibe r;tulos de unidade: Fornece rtulos de unidade para tornar os rtulos de marcas de escala em eixos de grfico fceis de serem
lidos. Representa um rtulo de unidade em um eixo no grfico especificado. Os rtulos de unidade so teis para a criao de grficos
com valores altos - por exemplo, milhes ou bilhes. Voc pode tornar o grfico mais legvel usando um nico rtulo de unidade em vez
de nmeros grandes em cada marca de escala.
=ontes de dados -L(4 "ara relat;rios de tabela dinR!i&a e grA+i&o dinR!i&o: Fornece um meio para exibir e analisar dados de
fontes de dados OLAP (Processamento Analtico On-line). Para maiores detalhes sobre os recursos de Tabela Dinmica e Grfico
Dinmico, consulte o Mdulo 3.
5i&roso+t -++i&e $,!ail: Fornece capacidades integradas de correio eletrnico. Por exemplo, voc pode criar um cdigo VBA que, de
dentro de uma planilha do Excel, envie dados via email, para um ou mais endereos eletrnicos.
5i&roso+t -++i&e Peb Co!"onents: Fornece uma forma de salvar planilhas, grficos e relatrios de tabela dinmica como pginas
interativas da Web. Para saber como usar esses componentes em formulrios do usurio e em caixas de dilogo, consulte Usar o
Microsoft Office Web Components em formulrios, na Ajuda do Microsoft Excel.
Celat;rios de grA+i&o dinR!i&o: Fornece uma interface para relatrios de grfico dinmico, que so baseados em dados de relatrios
de tabela dinmica.
?al*ar "ara Peb e "ara edio &o! -++i&e Peb: Fornece recursos para criar pginas da Web, salvar e editar recursos. Alm disso,
fornece uma interface para salvar Microsoft Office Web Components.
?&ri"t de "Agina da Peb: Fornece recursos de script de pgina da Web para solues de cliente com base em HTML.
?u"le!entos do 5odelo de obDeto de &o!"onente 1C-53: Fornece uma interface de usurio consistente na qual os
desenvolvedores podem criar suplementos em qualquer linguagem de programao que tenha suporte para COM (Microsoft Visual C++,
Visual J++ e Visual Basic, por exemplo). Por exemplo, voc pode querer criar um componente onde sejam desenvolvidas funes para
validao de CPF, nmero de Carto de Crdito e assim por diante. Em seguida voc pode utilizar esse componente em qualquer planilha
do Excel.
:isual 0asi& =or (""li&ations 6'0: Fornece os recursos de idioma mais recentes, assim como formulrios do usurio sem modo e
suporte para controles ActiveX adicionais.
Muitas dessas novidades envolvem conceitos avanados de programao, os quais sero abordados em curso especfico:
Desenvolvimento de Aplicaes usando o Excel e VBA.
Nas demais lies desse mdulo aprenderemos a utilizar os principais objetos que fazem parte do modelo de objetos do Excel. Com esses
objetos teremos acesso a todo e qualquer elemento de uma planilha do Excel, desde os valores em uma ou mais clulas, at comandos
de menu.
Lio 02: Gi8liotecasH O8EetosH ropriedadesH M4todos e @e0erLncias
Nos tpicos anteriores tratamos dos aspectos bsicos do VBA. Com os aplicativos do Office (Word, Excel, Access e Power Point), temos
acesso a um vasto conjunto de Bibliotecas; cada biblioteca com 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. Nesta
lio vamos entender exatamente o que so e como se relacionam, os seguintes itens:Bibliotecas, Objetos, Propriedades, Mtodos,
Colees.
4ara in/&io de &on*ersaT &onsidere a +igura a seguir:
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:
No!e#o-bDeto'No!e#o59todo1"ar1T "ar2T '''T "arn3
Por exemplo, para utilizar o mtodo Open, de um objeto RecordSet chamado rs, utilizaramos a seguinte sintaxe:
rs'-"en1J4edidosJ3
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:
)uantos > rs'Ce&ordCount
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.
( $strutura =or'''$a&h
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.
Nota: Nos exemplos de cdigo das prximas lies, veremos o funcionamento da estrutura For...Each em detalhes.
Uma viso geral da Biblioteca de Objetos do Excel:
Na figura a seguir temos uma viso geral da Biblioteca de Objetos do Microsoft Excel.
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.
Nas demais lies desse mdulo, estudaremos alguns dos principais objetos, da Biblioteca de Objetos do Excel.
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:
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.
Lio 0!: &riando suas prprias 0un9es e procedimentos
Nas lies do Mdulo 5, aprendemos a utilizar as funes prontas, que j fazem parte do Excel. Porm podemos criar nossas prprias
funes. Neste item, aprenderemos a criar nossas prprias funes e Sub-rotinas . O princpio por trs da criao de funes e sub-
rotinas, o de reaproveitamento de cdigo e facilidade de manuteno do programa. Imagine que estejamos criando uma planilha para
clculos financeiros, por exemplo, depreciao contbil. Vamos supor que em diversos locais, seja necessria a realizao do clculo de
depreciao. Poderamos colocar o cdigo/frmulas que faz o clculo, em cada um dos locais, onde o clculo seja necessrio. Porm esta
no a melhor maneira de criarmos nossos programas. Imagine, por exemplo, quando fosse necessrio alterar a maneira de realizar os
clculos. Teramos que repassar todos os locais onde o clculo feito, procurando os pontos onde o cdigo est , e fazer as alteraes.
Para resolver estes problemas, poderamos criar uma funo ou sub-rotina que faz os clculos de depreciao. A funo/sub-rotina seria
criada dentro de um mdulo de cdigo do VBA, na prpria planilha. Depois, em cada local onde precisamos fazer os clculos, s chamar
a funo (ou sub-rotina), para fazer os clculos. Quando fosse necessria a alterao da metodologia de clculo, era s alterar a funo
(ou sub-rotina) e pronto, os novos clculos passaro a ser feitos com base na nova metodologia. Isto "ou"a es+oro , redu< o n8!ero
de linhas de &;digo , e +a&ilita a !anuteno , alm de redu<ir a "ossibilidade de erros . Agora chegada a hora de aprendermos
a criar funes e sub-rotinas. Estes procedimentos/funes so criados em mdulos de cdigo VBA associados a planilha. Quando uma
destas funes/procedimentos for necessria, basta chamar a respectiva funo/procedimento que o Microsoft Excel se encarrega de
localizar a funo/procedimento, passar os parmetros necessrios (se for o caso) e receber os resultados retornados, caso seja uma
funo.
N-G(: Vamos falar um pouco mais sobre o termo Procedimento. Um procedimento um grupo de instrues que pode ser chamado pelo
nome atribudo ao procedimento. Neste contexto, funes e sub-rotinas, so tipos diferentes de procedimentos.
Criando e utili<ando ?ub,rotinas
Uma sub-rotina um grupo de comandos que podem ser executados, simplesmente atravs da chamada do nome da Sub-rotina.
Podemos passar um ou mais argumentos para uma Sub-rotina. Quando uma sub-rotina chamada, a execuo desloca-se para dentro
da Sub-rotina, depois de executados todos os comandos dentro da Sub-rotina, a execuo do cdigo continua, com o comando seguinte
ao que chamou a Sub-rotina.
A sintaxe para a criao de uma Sub-rotina a seguinte:
.ub :omeXdaX.ub-rotinaKargumento1, argumento2, ..., argumentonL
#omando1
#omando2
...
#omandon
3nd .ub
Uma Sub-rotina pode, ou no, conter argumentos. Caso sejam necessrios argumentos, estes sero passados quando a Sub-rotina for
chamada, e devem ser passados, na mesma ordem em que foram definidos.
#C(: Quando voc criar Sub-rotinas, procure utilizar nomes que descrevam a funo da Sub-rotina. Com isso voc torna o
entendimento do cdigo mais fcil para quem for utiliz-lo.
Considere o seguinte exemplo de declarao de uma Sub-rotina:
.ub #alculaXimpostoKsalario, desconto, e)trasL
#omando1
#omando2
...
#omandon
3nd .ub
Neste caso, declaramos uma rotina chamada Calcula_imposto, a qual espera receber 3 parmetros: salario, desconto e extras. Os
parmetros devem ser fornecidos nesta ordem, para que a Sub-rotina funcione corretamente.
Uma vez criada a Sub-rotina, podemos cham-la, simplesmente digitando o nome da Sub-rotina, ou utilizando a palavra Call , mais o
nome da Sub-rotina. Nos exemplos abaixo, temos dois mtodos de chamada da Sub-rotina Calcula_imposto:
#alculaXimpostoK18,,,2+,128L
ou
#all #alculaXimpostoK18,,,2+,128L
Observe que os parmetros so passados dentro do parnteses.
Tambm poderamos declarar uma Sub-rotina, sem parmetros. Neste caso posso simplesmente no utilizar os parnteses aps o nome
da Sub-rotina, ou utilizar um par de parnteses, sem nada dentro, conforme indicado abaixo:
.ub :omeXdaX.ub-rotina
#omando1
#omando2
...
#omandon
3nd .ub
ou
.ub :omeXdaX.ub-rotinaK L
#omando1
#omando2
...
#omandon
3nd .ub
Por exemplo, poderamos criar uma Sub-rotina que exibe uma Caixa de mensagem com a Data do sistema e a hora, no Formato indicado
na Figura a seguir:
Poderamos criar todos os comandos necessrios, para exibir a hora e a data neste formato, cada vez que a exibio fosse necessria.
Porm mais prtico criar uma Sub-rotina que faz este trabalho. Cada vez que precisarmos exibir a data e a hora neste formato, s
chamarmos a Sub-rotina.
Na Listagem a seguir temos o cdigo da Sub-rotina e%ibeHdataHhora (), a qual faz a exibio da data e da hora, no formato proposto
pela Figura anterior.
Listage!, ( ?ub,rotina e%ibeHdataHhora
.ub e)ibeXdataXhora
mesXatualP/onthK<ateKLL
mesXnomeP/onth:ameKmesXatual,FalseL
mensagem P VAno atualN V W YearK<ateKLL W #hrK1+L
mensagem P mensagem W V/Is atualN V W mesXnome W #hrK1+L
mensagem P mensagem W V=o1e $ diaN V W <aTK<ateKLLW #hrK1+L
mensagem P mensagem W #hrK1+L W V444444444444444V W #hrK1+LW #hrK1+L
horaXatual P =ourK;imeKLL
minutoXatual P /inuteK;imeKLL
secundoXatual P .econdK;imeKLL
mensagem P mensagem W V=ora atualN V W horaXatual W chrK1+L
mensagem P mensagem W V/inuto atualN V W minutoXatual W chrK1+L
mensagem P mensagem W V.ecundo atualN V W secundoXatual
/sg*o) mensagem
3nd .ub
Agora, cada vez que for necessrio exibir a data e a hora nos formatos do exemplo, basta chamar a Sub-rotina exibe_data_hora,
utilizando um dos seguintes comandos:
Call exibe_data_hora
ou
exibe_data_hora
Criando e utili<ando =un6es
Uma Funo um grupo de comandos que podem ser executados, simplesmente atravs da chamada do nome da Funo. Podemos
passar um ou mais argumentos para uma Funo. Quando uma Funo chamada, a execuo desloca-se para dentro da Funo, depois
de executados todos os comandos dentro da Funo, a execuo do cdigo continua, com o comando seguinte ao que chamou a Funo.
A diferena da Funo para a Sub-rotina, que a Funo sempre retorna um ou mais valores para o comando que a chamou.
A sintaxe para declarao de uma Funo a seguinte:
Function Nome_da_Funo(argumento1, argumento2, ..., argumenton) As Tipo
Comando1
Comando2
...
Comandon
End Function
Uma Funo pode, ou no, conter argumentos. Caso sejam necessrios argumentos, estes sero passados quando a Funo for
chamada, e devem ser passados, na mesma ordem em que foram definidos.
#C(: Quando voc criar Funo, procure utilizar nomes que descrevam os objetivos da Funo. Com isso voc torna o entendimento do
cdigo mais fcil para quem for utiliz-lo.
Considere o seguinte exemplo de declarao de uma Funo:
Funo Converte_para_dolar(valor_em_real, cotacao_dolar)
Comando1
Comando2
...
Comandon
End Function
Neste caso, declaramos uma Funo chamada Converte_para_dolar, a qual espera receber 2 parmetros: um valor em real e a cotao
do dlar.
Uma vez criada a Funo, devemos cham-la, em um comando de atribuio, isto , o valor retornado pela funo, deve ser atribudo a
uma varivel, ou exibido atravs de um comando como MsgBox. No exemplo abaixo, estamos atribuindo o valor de retorno da funo,
varivel valor_dolar.
valor_dolar = Converte_para_dolar (1500,1.81)
Tambm poderamos exibir o valor retornado pela funo, utilizando o comando MsgBox, conforme indicado a seguir:
MsgBox "Valor em dlar: " & Converte_para_dolar (1500,1.81)
Observe que os parmetros so passados dentro dos parnteses, e na mesma ordem definida quando da criao da funo.
Tambm poderamos declarar uma Funo, sem parmetros. Neste caso posso simplesmente no utilizar os parnteses aps o nome da
Funo, ou utilizar um par de parnteses, sem nada dentro, conforme indicado abaixo:
Function Nome_da_Funo
Comando1
Comando2
...
Comandon
End Function
ou
Function Nome_da_Funo( )
Comando1
Comando2
...
Comandon
End Function
Por exemplo, vamos criar uma funo que converte um valor de um ngulo de Graus para Radianos. Depois utilizaremos a funo dentro
de um lao For...Next, para exibir o valor em radianos, para os ngulos de 0 20 graus.
No exemplo a seguir temos o cdigo onde foi criada a funo CRad, que converte um valor em graus para radianos. Depois utilizamos um
lao for para exibir, atravs de uma Caixa de mensagem os valores em radianos, para os ngulos de 0 20 graus.
M#riao da !uno #6ad.
Function #6adKalorXgrausL
#6ad P KalorXgraus4+.12L-1%,
3nd Function
MAgora utili0amos a !uno dentro do lao For-:e)t.
For iP, to 2,
mensagem P mensagem W VAnguloN V W i W VCalor em 6adianosN V
mensagem P mensagem W Format:umberK#6adKiL,8LW #hrK1+L
:e)t
/sg*o) mensagem
54-CG(NG$: Observe que dentro da funo, atribu/!os a *ariA*el CCad u! deter!inado *alor' E isso )ue &ara&teri<a u!a
+uno' #entro do &;digo da +unoT de*e!os atribuir a u!a *ariA*el )ue tenha o !es!o no!e da +unoT u! deter!inado
*alor' $ste *alor 9 )ue serA o *alor de retorno da +uno'
Cabe salientar o uso da funo FormatNumber, dentro do lao For. A funo FormatNumber utilizada para formatar a maneira como um
nmero exibido. Neste caso, utilizamos a funo FormatNumber, para limitar o nmero de casas decimais, a 5 casas depois da vrgula.
Em cada "passada" do lao For...Next, chamamos a funo CRad(i), para fazer a converso de Graus para radianos. O Valor retornado
pela funo CRad, passado para a funo FormatNumber, para ser formatado com apenas 5 casas decimais.
Lio 0": AG+ - 6ra8al>ando com o o8Eeto +pplication
Conforme visto na lio anterior, o principal objeto da biblioteca de objetos do Excel o objeto Application. Uma pasta de trabalho
(arquivo .xls) e as diversas planilhas dessa pasta existem dentro do contexto de um objeto Application.
O objeto Application tem, ao todo, 218 propriedades e mtodos. Quando estamos trabalhando dentro de uma planilha do Excel, no
preciso a criao explcita de um objeto Application. Por exemplo, se dentro do cdigo, quisermos fazer referncia a uma determinada
clula, no precisamos criar um objeto Application, depois um Workbook, depois um Worksheet para, finalmente, poder acessar as
clulas de uma planilha (objeto Worksheet). Ao invs disso, podemos fazer referncia direta a clula desejada. Com isso o Excel supe
que estamos trabalhando com a instncia atual do Excel, dentro da pasta de trabalho atual (arquivo .xls), dentro de uma das suas
planilhas, o que bastante razovel. Apenas teramos que criar toda essa hierarquia de objetos, se quisssemos fazer referncia a uma
clula de uma planilha de uma pasta de trabalho externa.
Nessa lio aprenderemos a utilizar o objeto Application. Nas prximas lies estudaremos os objetos Workbook e Worksheet, para fazer
referncia a clulas das planilhas, da pasta de trabalho atual.
- obDeto (""li&ation:
Representa todo o aplicativo Microsoft Excel. O objeto Application contm:
Definies e opes para o aplicativo como um todo (muitas das opes da caixa de dilogo Opes (menu Ferramentas), por
exemplo, so configuradas atravs das propriedades do objeto Application).
Mtodos que retornem objetos do nvel mais alto, como ActiveCell, ActiveSheet e assim por diante.
Usar o objeto Application: Usamos o objeto Application quando temos que configurar alguma opo do Excel, como as opes disponveis
no menu Ferramentas -> Opes, ou quando temos que acessar dados de uma planilha externa. Nesse ltimo caso criamos um objeto
Application. Em seguida, criamos um objeto Workbook associado com o arquivo .xls do qual queremos acessar dados. Em seguida
usamos a coleo Worksheets e o objeto Range para acessar os dados do referido arquivo. Com isso possvel, a partir de uma planilha
do Excel, fazer clculos que envolvem dados de diversos arquivos .xls diferentes.
Vamos considerar alguns exemplos de cdigo que usa o objeto Application.
Criar u! obDeto (""li&ation e usar o !9todo -"en "ara abrir u!a "lanilha: No exemplo de cdigo a seguir, temos o uso do
objeto Application para abrir um arquivo do Excel que est gravado no disco rgido:
.et )l P #reate5b1ectKV3)cel..heetVL
)l.Application.QorFbooFs.5pen V#NR3)celAanadoR3)App.)lsV
Nesse exemplo usamos a funo CreateObject para criar um objeto do tipo Excel.Sheet, que na prtica uma planilha do Excel:
.et )l P #reate5b1ectKV3)cel..heetVL
Em seguida usamos o mtodo Open, da coleo Workbook do objeto Application, para acessar a planilha C:\ExcelAvanado\ExApp.xls.
$%ibindo u!a &ai%a "ara )ue o usuArio sele&ione a "lanilha a ser aberta: Nesse exemplo vamos apresentar um trecho de cdigo,
o qual exibe uma janela para que o usurio selecione o arquivo a ser aberto. Uma vez feita a seleo, a planilha aberta, usando o
mtodo Open, usado no exemplo anterior.
.et )l P #reate5b1ectKV3)cel..heetVL
ArD&araAbrir P Application.@et5penFilenameKV&lanilhas do 3)cel K4.)lsL, 4.)lsVL
"! ArD&araAbrir Z[ False ;hen
/sg*o) VA seguinte planilha serA carregadaN V W ArD&araAbrir
)l.Application.QorFbooFs.5pen ArD&araAbrir
3nd "!
Vamos comentar, em detalhes, o exemplo anterior.
1. Usamos a funo CreateObject para criar um objeto do tipo planilha do Excel, objeto esse que associado com a varivel xl:
Set xl = CreateObject("Excel.Sheet")
2. Agora utilizamos o mtodo GetOpenFilename, do objeto Application. Esse mtodo exibe a caixa de dilogo Abrir (a mesma caixa que
exibida quando voc seleciona o comando Arquivo -> Abrir). O nome do arquivo selecionado nessa janela, ser atribudo varivel
ArqParaAbrir. Ser atribudo o caminho completo, por exemplo C:\ExcelAvanado\Teste.xls.
ArqParaAbrir = Application.GetOpenFilename("Planilhas do Excel (*.xls), *.xls")
Quando essa linha for executada, ser exibida a janela a seguir:
Observe que so exibidos apenas os arquivos .xls da pasta de trabalho atual. No exemplo da figura so exibidos os arquivos da pasta
C:\ExcelAvanado, porque recm abri um arquivo dessa pasta. Normalmente so exibidos, por padro, os arquivos da pasta Meus
documentos. Somente so exibidos os arquivos .xls, porque definimos esse parmetro na chamada do mtodo
GetOpenFilename("Planilhas do Excel (*.xls), *.xls")
3. Voc seleciona um arquivo e clica no boto Abrir. Em seguida o cdigo testa se realmente algum arquivo foi selecionado:
If ArqParaAbrir <> False Then
4. Caso algum arquivo tenha sido selecionado, o nome do arquivo ser exibido:
MsgBox "A seguinte planilha ser carregada: " & ArqParaAbrir
conforme indicado na figura a seguir:
5. e o arquivo selecionado ser aberto no Excel.
Existem dezenas de mtodos e propriedades do objeto Application. Voc encontra exemplos de cada mtodo e propriedade na Ajuda do
Excel. No curso de Programao VBA e Criao de Aplicativos como Excel, estudaremos mais o objeto Application.
Lio 0#: 6ra8al>ando com o O8Eeto JorM8ooM
Na lio anterior fizemos uma pequena introduo ao objeto Application. Vimos que esse objeto utilizado para fazer referncia a uma
pasta de trabalho do Excel (arquivo .xls). Uma vez tendo feito referncia pasta de trabalho, podemos acessar os elementos dessa pasta
de trabalho, tais como as vrias planilhas e, dentro de cada planilha, os valores contidos nas clulas da respectiva planilha.
Para termos acesso a uma planilha especfica, utilizamos os objetos Workbook e Worksheet. Nessa lio veremos alguns exemplos de uso
do objeto Workbook. Tambm falaremos sobre a coleo Workbook. Na prxima lio trataremos do objeto WorkSheet e da respectiva
coleo Worksheets.
O objeto Workbook e a coleo Workbooks:
O objeto Workbook representa uma pasta de trabalho do Microsoft Excel. O objeto Workbook um membro da coleo Workbooks. A
coleo Workbooks contm todos os objetos Workbook atualmente abertos no Microsoft Excel.
Vamos apresentar alguns exemplos simples de uso do objeto Workbook, nos quais ilustramos o uso das seguintes propriedades do objeto
Workbook:
:: Propriedade Workbooks
:: Propriedade ActiveWorkbook
:: Propriedade ThisWorkbook
:: Propriedade Workbooks
Use Workbooks(ndice), onde ndice o nmero de ndice ou o nome da pasta de trabalho, para retornar um nico objeto Workbook. O
exemplo seguinte ativa a pasta de trabalho um.
Workbooks(1).Activate
O nmero de ndice denota a ordem na qual as pastas de trabalho foram abertas ou criadas. Workbooks(1) a primeira pasta de
trabalho criada e Workbooks(Workbooks.Count) a ltima criada, onde a propriedade Count retorna o nmero de pastas de trabalho
(arquivos .xls) abertas. A ativao de uma pasta de trabalho no altera seu nmero de ndice. Todas as pastas de trabalho so includas
na contagem do ndice, mesmo que elas estejam ocultas.
A propriedade Name retorna o nome da pasta de trabalho. Voc no pode definir o nome usando essa propriedade; se voc precisa
alterar o nome, use o mtodo SaveAs para salvar a pasta de trabalho com um nome diferente. O seguinte exemplo ativa a planilha Plan1
na pasta de trabalho chamada "Teste.xls" (a pasta de trabalho precisa j estar aberta no Microsoft Excel).
Workbooks("Teste.xls").Worksheets("Plan1").Activate
Para quem no est acostumado com o VBA, pode parecer um pouco estranha essa sintaxe. Uma dica fazer a leitura de trs para
frente, ou seja, da direita para a esquerda. No nosso exemplo, comeando da direita para a esquerda, teramos a seguinte leitura, do
comando anterior:
"Ativar (Activate) a planilha cujo nome Plan1 (Worksheets("Plan1"), sendo que esta planilha est na pasta de trabalho Teste.xls
(Workbooks("Teste.xls").
4ro"riedade (&ti*ePorUbooU: A propriedade ActiveWorkbook retorna a pasta de trabalho que est ativa no momento. O exemplo
seguinte define o nome do autor da pasta de trabalho ativa.
ActiveWorkbook.Author = "Jos da Silva"
4ro"riedade GhisPorUbooU: A propriedade ThisWorkbook retorna a pasta de trabalho onde h cdigo do Visual Basic sendo executado.
Na maioria dos casos, esta a prpria pasta de trabalho ativa. Entretanto, se o cdigo do Visual Basic for parte de um suplemento, a
propriedade ThisWorkbook no retornar a pasta de trabalho ativa. Nesse caso, a pasta de trabalho ativa a pasta de trabalho que est
chamando o suplemento, enquanto que a propriedade ThisWorkbook retorna a pasta de trabalho do suplemento.
( &oleo PorUbooUs:
Uma coleo de todos os objetos Workbook que esto no momento abertos no aplicativo Microsoft Excel.
Use a propriedade Workbooks, do objeto Application, para retornar a coleo Workbooks. O exemplo seguinte fecha todas as pastas de
trabalho abertas.
Workbooks.Close
Use o mtodo Add para criar uma nova pasta de trabalho vazia e adicion-la coleo. O exemplo seguinte adiciona uma nova pasta de
trabalho vazia ao Microsoft Excel.
Workbooks.Add
Use o mtodo Open para abrir um arquivo. Isto cria uma nova pasta de trabalho para o arquivo aberto. O exemplo seguinte abre o
arquivo Array.xls como uma pasta de trabalho somente leitura.
Workbooks.Open fileName:="array.xls", readOnly:=True
Vamos ver mais alguns exemplos de cdigo com o objeto Workbook e com a coleo Workbooks.
( "ro"riedade Count: Essa propriedade informa o nmero de pastas de trabalho (arquivos .xls) abertas no momento. No exemplo de
cdigo a seguir, usamos essa propriedade para exibir uma mensagem que informa quantas pastas esto abertas no momento:
Dim wrkb As Workbooks
Set wrkb = Application.Workbooks
MsgBox "Pastas atualmente abertas: " & wrkb.Count
Esse exemplo cria um objeto do tipo Workbooks. Em seguida utilizo a propriedade Workbooks, do objeto Application, para associar a
varivel wrkb com a coleo Workbooks da pasta de trabalho onde o cdigo esta sendo executado. Na ltimo linha utilizo a propriedade
Count para exibir uma mensagem informando o nmero de elementos da coleo Workbooks. Na figura a seguir temos um exemplo da
mensagem que gerada, quando esse cdigo executado:
$%ibindo o no!e de todas as "astas de trabaho abertas o $%&el: No exemplo de cdigo a seguir, usamos a coleo Workbooks e a
estrutura For...Each, para exibir o nome de todas as pastas de trabalho, atualmente abertas no Excel:
<im pastas As QorFbooFs
<im pasta As QorFbooF
.et pastas P Application.QorFbooFs
For 3ach pasta "n pastas
/sg*o) V:ome da planilhaN V W pasta.:ame
:e)t
Inicialmente criamos duas variveis, uma do tipo Workbooks (varivel pastas) e outra do tipo Workbook (varivel pasta). Em seguida
usamos uma estrutura do tipo For...Each para percorrer todos os elementos da coleo Workbooks. A cada passagem da estrutura
For...Each, exibimos o nome da respectiva pasta. Isso feito usando a propriedade Name, do objeto Workbook.
A seguir temos uma seqncia de telas que exemplifica a execuo desse cdigo:
Nesse exemplo tnhamos quatro pastas de trabalho abertas. O excel foi percorrendo a coleo de pastas abertas (coleo Workbooks) e
exibindo o nome da cada elemento da coleo (cada Workbook).
Existem dezenas de mtodos e propriedades do objeto Workbook e da coleo Workbooks. Voc encontra exemplos de cada mtodo e
propriedade na Ajuda do Excel. No curso de Programao VBA e Criao de Aplicativos como Excel, estudaremos mais o objeto Workbook
e a coleo Workbooks.
Lio 0$: 6ra8al>ando com o O8Eeto JorMs>eet5
Nas lies anteriores fizemos uma pequena introduo aos objeto Application e Workbook. Vimos que o objeto Application a maneira
de, atravs do cdigo VBA, acessarmos uma pasta de trabalho do Excel (arquivo .xls). Uma vez acessada a pasta de trabalho desejada,
usamos o objeto Workbook (e a coleo Workbooks) para ter acesso s diversas planilhas da pasta de trabalho. Observe que estamos
descendo um nvel de cada vez, na hierarquia de objetos do Excel.
O prximo passo aprendermos a utilizar os objetos que fazem referncia a uma planilha especfica dentro do conjunto de planilhas de
uma pasta de trabalho. O objeto Workbook representa uma pasta de trabalho (arquivo .xls). Dentro de uma pasta de trabalho, podemos
ter uma ou mais planilhas, as quais so acessadas usando-se o objeto Worksheet e a coleo Worksheets. Esses so os assuntos dessa
lio, ou seja: o objeto Worksheet e a coleo Worksheets.
- obDeto PorUsheet e a &oleo PorUsheets:
O objeto Worksheet representa uma planilha O objeto Worksheet um membro da coleo Worksheets. A coleo Worksheets contm
todos os objetos Worksheet em uma pasta de trabalho.
Veremos alguns exemplos que utilizam as seguintes propriedades do objeto Worksheet:
:: Propriedade Worksheets
:: Propriedade ActiveSheet
:: Propriedade Worksheets
Usamos Worksheets(ndice), onde ndice nmero de ndice ou nome da planilha, para retornar um nico objeto Worksheet. O exemplo
seguinte oculta a planilha um na pasta de trabalho ativa. Nesse exemplo, utilizo a propriedade Visible, do objeto Worksheet.
Worksheets(1).Visible = False
O nmero de ndice da planilha denota a posio de uma planilha na barra de guias da pasta de trabalho. Worksheets(1) a primeira
planilha (mais esquerda) na pasta de trabalho e Worksheets(Worksheets.Count) a ltima. Todas as planilhas so includas na
contagem do ndice, mesmo quando esto ocultas. A propriedade Count retorna o nmero de planilhas existentes na pasta de trabalho
atual.
O nome da planilha mostrado na guia da planilha. Use a propriedade Name para definir ou retornar o nome da planilha. Por exemplo,
para definir o nome da primeira planilha como sendo Dbitos, use o seguinte cdigo:
Dim pastas As Workbooks
Dim pasta As Worksheet
Set pastas = Application.Workbooks
Set pasta = Application.Worksheets(1)
MsgBox "Nome atual da planilha: " & pasta.Name
pasta.Name = "Dbitos"
MsgBox "Novo nome da planilha: " & pasta.Name
Vamos supor que voc execute esse cdigo quando o nome da primeira planilha Plan1. Nessa caso, voc obter a seguinte seqncia
de mensagens:
Iniciamos o exemplo declarando um objeto do Tipo Workbook e um do tipo Worksheet:
Dim pastas As Workbooks
Dim pasta As Worksheet
Em seguida associamos a varivel pasta com a pasta de trabalho atual:
Set pastas = Application.Workbooks
Depois associamos a varivel pasta com a primeira planilha, da pasta de trabalho atual. Nesse momento, usamos a coleo Worksheets,
do objeto Application, conforme indicado a seguir:
Set pasta = Application.Worksheets(1)
O prximo passo exibir o nome atual da primeria planilha, o que no nosso exemplo feito com o comando a seguir:
MsgBox "Nome atual da planilha: " & pasta.Name
Agora usamos a propriedade Name para renomear a primeira planilha, conforme indicado a seguir:
pasta.Name = "Dbitos"
Por ltimo exibimos o novo nome da planilha:
MsgBox "Novo nome da planilha: " & pasta.Name
O objeto Worksheet tambm um membro da coleo Sheets. A coleo Sheets contm todas as planilhas da pasta de trabalho (tanto
folhas de grfico quanto planilhas de trabalho).
4ro"riedade (&ti*e?heet:
Quando uma planilha a planilha ativa, voc pode usar a propriedade ActiveSheet para referir-se a ela. O exemplo seguinte usa o
mtodo Activate para ativar a planilha Plan1, define a orientao da pgina como modo paisagem e, em seguida, imprime a planilha.
Worksheets("Plan1").Activate
ActiveSheet.PageSetup.Orientation = xlLandscape
ActiveSheet.PrintOut
( 4ro"riedade :isible:
True se o objeto est visvel ou False caso contrrio. Essa propriedade pode ser utilizada para verificar o valor atual ou para defini-lo .
Para um grfico ou planilha, essa propriedade pode ser definida como xlVeryHidden. Isso oculta o objeto para que a nica maneira de
voc torn-lo novamente visvel seja definindo essa propriedade como True (o usurio no pode tornar o objeto visvel).
Co!entArios:
A propriedade Visible para um item de tabela dinmica True quando o item est atualmente visvel na tabela. Se voc definir a
propriedade Visible de um nome como False, o nome no aparecer na caixa de dilogo Definir nome.
Considere o exemplo a seguir:
Este exemplo oculta a planilha Plan1.
Worksheets("Plan1").Visible = False
Este exemplo torna Plan1 visvel.
Worksheets("Plan1").Visible = True
O exemplo de cdigo a seguir torna visvel todas as planilhas da pasta de trabalho ativa.
For Each sh In Sheets
sh.Visible = True
Next sh
4ro"riedade BsedCange:
Essa propriedade retorna um objeto Range representando o intervalo usado na planilha especificada. Somente leitura.
Considere o exemplo a seguir:
Este exemplo seleciona o intervalo de clulas usado (onde existem dados), na planilha Plan1.
Worksheets("Plan1").Activate
ActiveSheet.UsedRange.Select
Existem dezenas de mtodos e propriedades do objeto Worksheet e da coleo Worksheets. Voc encontra exemplos de cada mtodo e
propriedade na Ajuda do Excel. No curso de Programao VBA e Criao de Aplicativos como Excel, estudaremos mais o objeto
Worksheet e a coleo Worksheets.
Lio 0%: 6ra8al>ando com o O8Eeto @an,e
Agora vamos descer um pouco mais na hierarquia de objetos do Excel. J passamos pelo objeto Application (que faz referncia ao prprio
Excel); em seguida pelo objeto Workbook (o qual faz referncia a uma pasta de trabalho, isto , a um arquivo .xls); e, na ltima lio,
estudamos o objeto Worksheet, o qual faz referncia a uma planilha, dentro de uma pasta de trabalho.
O prximo passo aprendermos a utilizar os objetos que fazem referncia a uma clula ou faixa de clulas, dentro de uma planilha.O
objeto Workbook representa uma pasta de trabalho (arquivo .xls). Dentro de uma pasta de trabalho, podemos ter uma ou mais planilhas,
as quais so acessadas usando-se o objeto Worksheet e a coleo Worksheets. Dentro de uma planilha, usamos o objeto Range para
acessar uma clula ou faixa de clulas da planilha. Esse o assunto dessa lio, ou seja: o objeto Range.
- obDeto Cange:
O objeto Range representa uma clula, uma linha, uma coluna, uma seleo de clulas contendo um ou mais blocos contguos de clulas
ou um intervalo 3D.
Estudaremos as seguintes propriedades do objeto Range:
:: Propriedade Range
:: Propriedade Cells
:: Range e Cells
:: Propriedade Offset
:: Mtodo Union
Propriedade Range:
Use Range(argumento), onde argumento nomeia o intervalo, para retornar um objeto Range representando uma nica clula ou um
intervalo de clulas. O exemplo seguinte atribui o valor da clula A1 para a clula A5.
Worksheets("Plan1").Range("A5").Value = Worksheets("Plan1").Range("A1").Value
O exemplo seguinte preenche o intervalo A1:H8 com nmeros randmicos (aleatrios), definindo a frmula para cada clula do intervalo.
Quando usada sem um qualificador de objeto (um objeto esquerda do ponto), a propriedade Range retorna um intervalo da planilha
ativa. Se a planilha ativa no for uma planilha de trabalho, o mtodo falhar. Use o mtodo Activate para ativar uma planilha antes de
usar a propriedade Range sem um qualificador de objeto explcito.
Worksheets("Plan1").Activate
Range("A1:H8").Formula = "=rand()"
O exemplo seguinte limpa o contedo do intervalo chamado "Criteria".
Worksheets(1).Range("criteria").ClearContents
Se voc usar um argumento dex texto para o endereo do intervalo, voc ter que especificar o endereo em notao de estilo A1 (voc
no poder usar a notao de estilo L1C1, onde L1 significa Linha 1 e C1 significa Coluna 1).
4ro"riedade Cells:
Use Cells(linha, coluna) onde linha o ndice da linha e coluna o ndice da coluna, para retornar uma nica clula. O exemplo seguinte
define o valor da clula A1 como 24.
Worksheets(1).Cells(1, 1).Value = 24
O exemplo seguinte define a frmula para a clula A2.
ActiveSheet.Cells(2,1).Formula = "=sum(B1:B5)"
Embora voc tambm possa usar Range("A1") para retornar a clula A1, pode haver ocasies em que a propriedade Cells seja mais
conveniente porque voc pode usar uma varivel para a linha ou coluna. O exemplo seguinte cria cabealhos de coluna e linha na
planilha Plan1. Observe que aps a planilha ser ativada, a propriedade Cells pode ser usada sem uma declarao explcita de planilha (ela
retorna uma clula da planilha ativa).
Worksheets("Plan1").Activate
For theYear = 1 To 5
Cells(1, theYear + 1).Value = 1990 + theYear
Next theYear
For theQuarter = 1 To 4
Cells(theQuarter + 1, 1).Value = "Q" & theQuarter
Next theQuarter
Apesar de voc poder usar funes de cadeia de caracteres do VBA para alterar as referncias de estilo A1, muito mais fcil (e uma
prtica de programao muito melhor) usar a notao Cells(1, 1).
Use expresso.Cells(linha, coluna), onde expresso uma expresso que retorne um objeto Range, e linha e coluna so relativas ao
canto superior esquerdo do intervalo, para retornar parte de um intervalo. O exemplo seguinte define a frmula para a clula C5.
Worksheets(1).Range("C5:C10").Cells(1, 1).Formula = "=rand()"
Range e Cells
4ro"riedade -++set:
Use Offset(linha, coluna), onde linha e coluna so os deslocamentos de linha e coluna, para retornar um intervalo em um deslocamento
especificado de um outro intervalo. O exemplo seguinte seleciona a clula trs linhas abaixo e uma coluna esquerda da clula do canto
superior esquerdo da seleo atual. Voc no pode selecionar uma clula que no esteja na planilha ativa, portanto, voc precisa ativar
primeiro a planilha.
Worksheets("Plan1").Activate
Selection.Offset(3, 1).Range("A1").Select
Mtodo Union:
Use Union(intervalo1, intervalo2, ...) para retornar intervalos de vrias reas - isto , intervalos compostos de dois ou mais blocos
contguos de clulas. O exemplo seguinte cria um objeto definido como a unio de intervalos A1:B2 e C3:D4 e, em seguida, seleciona o
intervalo definido.
Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
Worksheets("Plan1").Activate
Set r1 = Range("A1:B2")
Set r2 = Range("C3:D4")
Set myMultiAreaRange = Union(r1, r2)
myMultiAreaRange.Select
Vamos apresentar mais alguns exemplos do uso da propriedade Cells, a qual a propriedade mais utilizada do objeto Range.
Este exemplo define o tamanho da fonte para a clula C5 de planilha Plan1 como 14 pontos.
Worksheets("Plan1").Cells(5, 3).Font.Size = 14
Este exemplo limpa a frmula na clula um da planilha Plan1:
Worksheets("Plan1").Cells(1).ClearContents
Este exemplo percorre as clulas A1:J4 da planilha Plan1. Se uma clula contiver um valor menor que 0,001, o exemplo substituir esse
valor por 0 (zero).
For rwIndex = 1 to 4
For colIndex = 1 to 10
If Worksheets("Plan1").Cells(rwIndex, colIndex).Value < .001 Then
Worksheets("Plan1").Cells(rwIndex, colIndex) .Value = 0
End If
Next colIndex
Next rwIndex
Este exemplo define o estilo da fonte para as clulas A1:C5 da planilha Plan1 como itlico.
Worksheets("Plan1").Activate
Range(Cells(1, 1), Cells(5, 3)).Font.Italic = True
Este exemplo varre uma coluna de dados chamada "myRange". Se uma clula tiver o mesmo valor que a clula imediatamente acima, o
exemplo exibir o endereo da clula que contm os dados duplicados.
Set r = Range("myRange")
For n = 1 To r.Rows.Count
If r.Cells(n, 1) = r.Cells(n + 1, 1) Then
MsgBox "Dados duplicados em: " & r.Cells(n + 1, 1).Address
End If
Next n
Existem dezenas de mtodos e propriedades do objeto Range. Voc encontra exemplos de cada mtodo e propriedade na Ajuda do Excel.
No curso de Programao VBA e Criao de Aplicativos como Excel, estudaremos mais o objeto Range.
Lio 0(: Um e3emplo pr/tico - calculando o DA do &) - +l,oritmo:
Nessa e nas prximas duas lies, veremos o uso do VBA para solucionar um exemplo prtico. Vamos criar uma funo personalizada,
chamada ValidaCPF. Em seguida usaremos essa funo para fazer o clculo do DV de um conjunto de CPFs:
!"ortante: O algoritmo de clculo do DV de CPFs e CNPJs de domnio pblico, j tendo sido publicado no dirio oficial da unio e em
diversas revistas de informtica, de circulao nacional.
Nessa lio explicarei como funciona o clculo do DV do CPF.
&omo calcular o DA do &)
Para entender o algoritmo de clculo do CPF vamos utilizar um exemplo prtico.
Considere o seguinte CPF (sem o DV): 333'444'555
4osio 1 2 3 4 5 6 7 8 9
N8!ero 3 3 3 4 4 4 5 5 5
Comeamos a multiplicar os dgitos do CPF, a partir da posio 9, ou seja, de trs para frente, por 2, 3, 4, 5 e assim por diante, conforme
indicado na tabela a seguir:
4osio 1 2 3 4 5 6 7 8 9
N8!ero 3 3 3 4 4 4 5 5 5
5ulti"li&a "or: 10 9 8 7 6 5 4 3 2
Cesultado 30 27 24 28 24 20 20 15 10
Somo os resultados obtidos na quarta linha da tabela anterior:
Soma1 = 30+27+24+28+24+20+20+15+10
Soma1 = 198
Fao a diviso desta soma por 11 e determino o resto da diviso:
198/11 Resulta em uma diviso exata, com resto 0
Cegra : Quando o resto <ero ou u! , o #: 0.
Quando o resto di+erente de <ero ou u! , o #: obtido fazendo-se: 11,resto
Neste caso como o resto foi zero, o primeiro DV zero:
#:1>0
O DV1 calculado passa a fazer parte do CPF, conforme indicado pela tabela a seguir:
4osio 1 2 3 4 5 6 7 8 9 10
N8!ero 3 3 3 4 4 4 5 5 5 0
Agora repetimos o processo anterior, porm j considerando o DV1 como parte integrante do CPF, conforme indicado pela tabela a
seguir:
4osio 1 2 3 4 5 6 7 8 9 10
N8!ero 3 3 3 4 4 4 5 5 5 0
5ulti"li&a "or: 11 10 9 8 7 6 5 4 3 2
Cesultado 33 30 27 32 28 24 25 20 15 0
Somo os resultados obtidos na quarta linha da tabela anterior:
Soma2 = 33+30+27+32+28+24+25+20+15+0
Soma1 = 234
Fao a diviso desta soma por 11 e determino o resto da diviso:
234/11 Resulta em (21), com resto 3
Cegra : Quando o resto <ero ou u! , o #: 0.
Quando o resto di+erente de <ero ou u! , o #: obtido fazendo-se: 11,resto
Neste caso como o resto foi 3, o segundo DV :
#:2 > 11 , 3
#:2 > 8
Com isso o CPF, j com os dois DVs fica conforme indicado na tabela a seguir:
4osio 1 2 3 4 5 6 7 8 9 10 11
N8!ero 3 3 3 4 4 4 5 5 5 0 8
Ou seja: 333'444'555 , 08
Os algoritmos para clculo dos DVs do CNPJ so praticamente iguais. A nica diferena a quantidade de dgitos do CNPJ diferente do
CPF.
Lio 0*: &alculando o DA do &) - &riando a )uno:
Nessa lio vamos criar uma funo chamada ValidaCPF. Essa funo recebe, como parmetro, um valor de CPF no formato
111.111.111-11 ou o endereo de uma clula que contm um CPF nesse formato. A funo retorna a palavra Vlido se o CPF for Vlido e
Invlido se o CPF for invlido.
Para criar uma funo que possa ser utilizada na planilha, devemos criar a funo dentro de um Mdulo do VBA. Criaremos a funo
ValidaCPF, dentro do Mdulo1 da planilha Nmeros de CPF.xls, a qual est na pasta C:\ExcelAvancado.
$%er&/&io: Criar uma funo chamada ValidaCPF, no Mdulo 1 da planilha Nmeros de CPF. Em seguida utilizar essa funo para verificar
se os CPFs da planilha so ou no vlidos.
1. Abra o Excel.
2. Abra a planilha C:\ExcelAvancado\Nmeros de CPF.xls.
3. Selecione o comando =erra!entas ,. 5a&ro ,. $ditor :isual 0asi&'''
4. Vamos criar a funo ValidaCPF de tal maneira que ele possa ser utilizada em qualquer local da planilha. Para isso vamos cria-la como
uma funo Pblica, dentro de um mdulo do VBA.
5. Para inserir um mdulo, selecione o comando nserir ,. 5;dulo . Ser criado o Mdulo 1. Agora vamos inserir uma funo, dentro
desse mdulo.
6. Selecione o comando nserir ,. 4ro&edi!ento'
7. Ser aberta a janela Adicionar procedimento. Preencha os dados conforme indicado na Figura a seguir:
8. Clique em OK.
9. Ser inserido o cdigo bsico para a criao de uma funo pblica (que pode ser utilizada em qualquer parte da planilha), conforme
indicado a seguir:
&ublic Function Calida#&FKL
3nd Function
10. A funo ValidaCPF dever receber um parmetro: o nmero do CPF no formato 111.111.111-11. A definio dos parmetros que
sero recebidos pela funo feito dentro dos parnteses. Fora dos parnteses, definimos o tipo da funo, isto , que tipo de valor a
funo ir retornar: inteiro, real, texto, data, etc. No nosso exemplo a funo retornar um valor do tipo Texto: Vlido ou Invlido. Altere
o cdigo para definir o parmetro a ser recebido e o tipo da funo, conforme indicado a seguir:
&ublic Function Calida#&FK#&F As .tringL As .tring
3nd Function
Observe que o "As String" dentro do parnteses, define que o parmetro CPF do tipo texto. J o "As String" fora do parnteses, define
o tipo da funo, isto , a funo ir retornar um valor do tipo Texto.
11. Agora vamos digitar o cdigo de validao do CPF. Esse cdigo digitado entre os comandos " Public Function ValidaCPF(CPF As
String) As String" e "End Function".
Nota: Cada comando do VBA deve ser digitado em uma nica linha. Se voc precisa "quebrar" uma linha, deve ser colocado um
caractere de sublinhado no final da linha: _
12. Digite o cdigo da listagem a seguir:
&ublic Function Calida#&FK#&F As .tringL As .tring
MFuno para cAlculo do d'gito eri!icador do #&F
M"niciamos a !uno com a declarao das ariAeis Due sero utili0adas.
M As ariAeis d1 at$ d11, contero os d'gitos indiiduais
M do #&F. &or e)emplo, ao digitar o #&FN 12+.286.7%(-11, essas
M ariAeis contero os seguintes aloresN
M d1P1 d2P2 d+P+ d2P2 d8P8 d6P8 d7P7 d%P% d(P( d1,P1 d11P1
<im d1, d2, d+, d2, d8, d6, d7, d%, d(, d1,, d11 As "nteger
M <emais ariAeis Due sero utili0adas para o cAlculo do <C.
<im .oma1, .oma2, 6esto As "nteger
<im 6esto1, 6esto2 As "nteger
<im <C1, <C2 As "nteger
M 3m primeiro lugar testo se a c$lula com o #&F cont$m um alor
M Alido, isto $, um alor :o :ulo.
"! :ot K"s:ullK#&FLL ;hen
M4444444444444444444444444444444444444444444444444444444444444444444444444
M 5s comandos a seguir desmembram o #&F um a um , atribuindo os alores 4
M de d1 ... d11 , usando as !unJes /id7 e Cal 4
M #omo o #&F estA no !ormato de ;e)to, amos e)trair os d'gitos do #&F 4
M um a um, conerter o respectio alor de te)to para nSmero e atribuir 4
M esse alor para as ariAeis d1 at$ d11. 4
M4444444444444444444444444444444444444444444444444444444444444444444444444
d1 P CalK/id7K#&F, 1, 1LL
d2 P CalK/id7K#&F, 2, 1LL
d+ P CalK/id7K#&F, +, 1LL
d2 P CalK/id7K#&F, 8, 1LL
d8 P CalK/id7K#&F, 6, 1LL
d6 P CalK/id7K#&F, 7, 1LL
d7 P CalK/id7K#&F, (, 1LL
d% P CalK/id7K#&F, 1,, 1LL
d( P CalK/id7K#&F, 11, 1LL
d1, P CalK/id7K#&F, 1+, 1LL
d11 P CalK/id7K#&F, 12, 1LL
M4444444444444444444444444444444444444444444444444444444444444444444444444
M A partir de agora passo a utili0ar os alores anteriores para cAlculo 4
M do d'gito eri!icador do #&F 4
M4444444444444444444444444444444444444444444444444444444444444444444444444
M #Alculo do primeiro <C
.oma1 PKKd141,LOKd24(LOKd+4%LOKd247LOKd846LOKd648LOKd742LOKd%4+LOKd(42LL
6esto1 P K.oma1 /od 11L
"! K6esto1 ZP 1L ;hen
<C1 P ,
3lse
<C1 P 11 - 6esto1
3nd "!
M Agora inicio o cAlculo do segundo <C, 1A incorporando
M o segundo <C como parte do #&F, para o cAlculo.
.oma2PKd1411LOKd241,LOKd+4(LOKd24%LOKd847LOKd646LOKd748LOKd%42LOKd(4+LOK<C14 2L
6esto2 P K.oma2 /od 11L
"! K6esto2 ZP 1L ;hen
<C2 P ,
3lse
<C2 P 11 - 6esto2
3nd "!
M Agora !ao o teste para saber se os <Cs calculados K<C1 e <C2L
M con!erem com os <Cs do #&F - d1, e d11
"! KK<C1 Z[ d1,L 5r K<C2 Z[ d11LL ;hen
M Atribuo a palara V"nAlidoV para uma ariAel com o mesmo
M nome da !uno - Calida#&F.
M 3ssa $ a maneira de !a0er com Due a !uno retorne um alor,
M ou se1a, atribuindo o alor a ser retornado, \ uma ariAel
M com o mesmo nome da !uno.
Calida#&F P V"nAlidoV
3lse
M Atribuo a palara VCAlidoV para uma ariAel com o mesmo
M nome da !uno - Calida#&F.
M 3ssa $ a maneira de !a0er com Due a !uno retorne um alor,
M ou se1a, atribuindo o alor a ser retornado, \ uma ariAel
M com o mesmo nome da !uno.
Calida#&F P VCAlidoV
3nd "!
3nd "!
3nd Function

13. Clique no boto ( ) para salvar a funo ValidaCPF.
14. Feche a janela do Editor do Visual Basic.
15. Voc estar de volta planilha Nmeros de CPF. a Prxima lio aprenderemos a utilizar a funo ValidaCPF para verificar se os CPFs
da planilha so vlidos ou no.
16. Salve e feche a planilha.
Lio 10: &alculando o DA do &) - Usando a )uno Aalida&):
Nessa lio veremos como utilizar a funo ValidaCPF, criada na lio Anterior.
$%er&/&io: Utilizar a funo ValidaCPF criada na lio anterior.
1. Abra o Excel.
2. Abra a planilha C:\ExcelAvancado\Nmeros de CPF.xls.
3. Clique na clula B2 e digite a seguinte frmula:
>:alidaC4=1(23
4. Estenda essa frmula para o intervalo de A2 at A11.
5. Observe que, rapidamente, o Excel usa a funo ValidaCPF (criada na lio anterior), para informara se o CPF vlido ou invlido,
conforme indicado na Figura a seguir:
6. O endereo da clula onde est o CPF passado como parmetro para a funo ValidaCPF. Esse valor utilizado para calculo do DV e
definir se o CPF vlido ou no.
7. Observe que uma vez criada a funo podemos utiliza-la sempre que necessrio.
8. Salve e feche a planilha.
Nas prximas lies vamos estudar mais alguns mtodos e propriedades dos objetos Application, Workbook e WorkSheet.
Lio 11: O O8Eeto +pplication - ropriedades e M4todos - arte I
Conforme descrito na Lio 4, desse mdulo, o objeto Application representa o Excel propriamente dito. o primeiro objeto, na
hierarquia de objetos do Microsoft Excel. Na Lio 4 fizemos um breve estudo desse objeto. Ele possui dezenas de propriedades e
mtodos, para ser mais exato, somando propriedades e mtodos, temos a incrvel marca de 218. Estudar todos esses mtodos e
propriedades exigiria um curso to extenso quanto todo esse curso de Excel Avanado. Nessa a nas prximas duas lies, faremos um
estudo das principais propriedades e mtodos do objeto Application, avanando um pouco em relao ao que foi estudado na Lio 4.
4rin&i"ais "ro"riedades do !9todo (""li&ation: Vamos iniciar o estudo das principais propriedades do objeto Application. Esse
estudo seguir na Prxima lio.
4ro"riedade GhisPorU0ooU:
Essa propriedade retorna um objeto Workbook representando a pasta de trabalho na qual o cdigo da macro atual est sendo executado.
do tipo Somente leitura, ou seja, essa propriedade somente pode ser usada para fazer referncia ao Workbook atualmente carregado e
no para definir o Workbook ativo.
Use essa propriedade para referir-se pasta de trabalho que contm o cdigo de sua macro.
Por exemplo, use cdigo tal como o seguinte para ativar uma folha de caixa de dilogo armazenada em sua pasta de trabalho do
suplemento.
ThisWorkbook.DialogSheets(1).Show
Essa propriedade s pode ser usada de dentro do Microsoft Excel. Voc no pode us-la para acessar uma pasta de trabalho a partir de
um outro aplicativo, como por exemplo o Microsoft Access.
O exemplo a seguir fecha a pasta de trabalho que contm o cdigo de exemplo. Alteraes na pasta de trabalho, caso existam, no so
salvas.
ThisWorkbook.Close SaveChanges:=False
A propriedade ThisWorkbook retorna uma referncia a um objeto Workbook, o qual faz referncia a pasta de trabalho atual. Podemos
utilizar todas as propriedades do objeto Workbook (que estudaremos em detalhes a partir da lio 14) para obter informaes sobre a
pasta de trabalho atual. No exemplo a seguir, usamos a propriedade FullName para obter o caminho completo (por exemplo
C:\ExcelAvancado\Teste.xls) da pasta de trabalho atual:
MsgBox "Voc est trabalhando no seguinte arquivo: " & ThisWorkbook.FullName
4ro"riedade (&ti*eCell:
Essa propriedade retorna um objeto Range representando a clula ativa da janela ativa (a janela visvel) ou da janela especificada. Se a
janela no estiver exibindo uma planilha, essa propriedade falhar. do tipo Somente leitura, ou seja, somente pode ser usada para
retornar a clula ativa e no para ativar uma determinada clula.
Quando voc no especifica um qualificador de objeto, essa propriedade retorna a clula ativa da janela ativa.
Tenha cuidado de distinguir entre clula ativa e seleo. A clula ativa uma nica clula dentro da seleo atual. A seleo pode conter
mais de uma clula, mas somente uma a clula ativa.
Todas as expresses seguintes retornam a clula ativa, sendo todas equivalentes.
ActiveCell
Application.ActiveCell
ActiveWindow.ActiveCell
Application.ActiveWindow.ActiveCell
Exemplos da propriedade ActiveCell:
Este exemplo usa uma caixa de mensagem para exibir o valor da clula ativa. Como a propriedade ActiveCell falha se a planilha ativa no
for uma planilha de trabalho, o exemplo ativa a planilha Plan1 antes de usar a propriedade ActiveCell.
Worksheets("Plan1").Activate
MsgBox ActiveCell.Value
Este exemplo altera a formatao da fonte da clula ativa.
Worksheets("Plan1").Activate
ActiveCell.Font.Bold = True
ActiveCell.Font.Italic = True
Propriedade ActiveSheet:
Essa propriedade retorna um objeto representando a planilha ativa (a planilha visvel) da pasta de trabalho ativa ou na janela ou pasta
de trabalho especificada. Retorna Nothing se no houver planilha ativa. Somente leitura.
Se voc no especificar um qualificador de objeto, essa propriedade retornar a planilha ativa da pasta de trabalho ativa.
Se uma pasta de trabalho aparece em mais de uma janela, a propriedade ActiveSheet poder ser diferente em janelas diferentes.
Exemplo da propriedade ActiveSheet:
Este exemplo exibe o nome da planilha ativa.
MsgBox "O nome da planilha ativa : " & ActiveSheet.Name
4ro"riedade Cal&ulation:
Essa propriedade Retorna ou define o modo de clculo. Pode ser uma das seguintes constantes
xlCalculation:
xlCalculationAutomatic
xlCalculationManual
xlCalculationSemiautomatic.
Exemplo da propriedade Calculation:
Este exemplo faz o Microsoft Excel calcular pastas de trabalho antes de elas serem salvas em disco.
Application.Calculation = xlCalculateManual
Application.CalculateBeforeSave = True
Este exemplo define o campo de dados no relatrio de tabela dinmica em Plan1 para calcular a diferena a partir do campo base, define
o campo base com o campo chamado "ORDER_DATE" e define o item base com o item chamado "5/16/89".
Worksheets("Plan1").Range("A3").PivotField.Calculation = xlDifferenceFrom
Worksheets("Plan1").Range("A3").PivotField.BaseField = "ORDER_DATE"
Worksheets("Plan1").Range("A3").PivotField .BaseItem = "5/16/89"
Na prxima lio veremos mais algumas propriedades do objeto Application e iniciaremos o estudo dos principais mtodos desse objeto.
Lio 12: O O8Eeto +pplication - ropriedades e M4todos - arte II
Continuao do estudo das principais propriedades do objeto Application.
4ro"riedade #e+ault=ile4ath:
Essa propriedade retorna ou define o caminho padro que o Microsoft Excel usa ao abrir arquivos. String de leitura e gravao. Por
padro a pasta Meus documentos, ou seja, quando voc seleciona o comando Arquivo -> Salvar ou Arquivo -> Abrir, por padro,
acessada a pasta Meus documentos.
Exemplo da propriedade DefaultFilePath:
Este exemplo exibe o atual caminho de arquivo padro.
MsgBox "O caminho padro : " & Application.DefaultFilePath
4ro"riedade #e+ault?a*e=or!at:
Essa propriedade retorna ou define o formato padro para salvar arquivos. Para obter uma lista de constantes vlidas, consulte a
propriedade FileFormat. Do tipo Long de leitura e gravao. Na tabela a seguir temos uma lista de constantes vlidas para essa
propriedade:
Dependendo do idioma da sua verso do Excel, algumas dessas constantes podem no estar disponveis.
Exemplo da propriedade DefaultSaveFormat:
Este exemplo define o formato padro para salvar arquivos.
Application.DefaultSaveFormat = xlExcel4Workbook
4ro"riedade Ce&ent=iles:
Essa propriedade retorna uma coleo RecentFiles representando a lista de arquivos usados recentemente.
Exemplo da propriedade RecentFiles:
Este exemplo define como 6 o nmero mximo de arquivos da lista de arquivos usados recentemente.
Application.RecentFiles.Maximum = 6
4rin&i"ais 59todos do !9todo (""li&ation: Vamos iniciar o estudo dos principais mtodos do objeto Application. Esse estudo seguir
na Prxima lio.
59todo n"ut0o%:
Esse mtodo exibe uma caixa de dilogo para entrada pelo usurio e retorna as informaes inseridas na caixa de dilogo.
Sintaxe:
expresso.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
e%"resso : obrigatria e deve ser uma expresso que retorne um objeto Application.
4ro!"t: String obrigatria. A mensagem a ser exibida na caixa de dilogo. Pode ser uma seqncia, um nmero, uma data ou um valor
Boolean (o Microsoft Excel converte o valor automaticamente para uma String antes dele ser exibido).
Gitle: Variant opcional. O ttulo da caixa de entrada. Se esse argumento for omitido, o ttulo padro ser "Entrada".
#e+ault: Variant opcional. Especifica um valor que aparecer na caixa de texto quando a caixa de dilogo for inicialmente exibida. Se
esse argumento for omitido, a caixa de texto ser deixada vazia. Esse valor pode ser um objeto Range.
Le+t: Variant opcional. Especifica uma posio x para a caixa de dilogo em relao ao canto superior esquerdo da tela, em pontos.
Go": Variant opcional. Especifica uma posio y para a caixa de dilogo em relao ao canto superior esquerdo da tela, em pontos.
7el"=ile: Variant opcional. O nome do arquivo de Ajuda para essa caixa de entrada. Se os argumentos HelpFile e HelpContextID
estiverem presentes, um boto Ajuda aparecer na caixa de dilogo.
7el"Conte%td: Variant opcional. O nmero de identificao do contexto do tpico da Ajuda em HelpFile.
GQ"e: Variant opcional. Especifica o tipo de dados retornado. Se esse argumento for omitido, a caixa de dilogo retornar texto. Pode ser
um dos valores abaixo ou a soma deles.
Valor Significado
0 Uma frmula
1 Um nmero
2 Texto (uma seqncia)
4 Um valor lgico (True ou False)
8 Uma referncia a clulas, como um objeto Range
16 Um valor de erro, como #N/D
64 Uma matriz de valores
Voc pode usar a soma dos valores permitidos para Type. Por exemplo, para uma caixa de entrada que possa aceitar tanto texto como
nmeros, defina Type como 1 + 2.
Co!entArios:
Use InputBox para exibir uma caixa de dilogo simples para que voc possa inserir informaes a serem usadas em uma macro. A caixa
de dilogo tem um boto OK e um boto Cancelar. Quando voc escolhe o boto OK, InputBox retorna o valor inserido na caixa de
dilogo. Quando voc clica no boto Cancelar, InputBox retorna False.
Quando Type 0, InputBox retorna a frmula na forma de texto - por exemplo, "=2*PI()/360". Se houver quaisquer referncias na
frmula, elas sero retornadas como referncias de estilo A1. (Use ConvertFormula para fazer a converso entre estilos de referncias).
Quando Type 8, InputBox retorna um objeto Range. Voc precisa usar a instruo Set para atribuir o resultado a um objeto Range,
como mostrado no exemplo seguinte.
Set myRange = Application.InputBox(prompt := "Sample", type := 8)
Se voc no usar a instruo Set, a varivel ser definida com o valor no intervalo em vez do prprio objeto Range.
Se voc usar o mtodo InputBox para pedir uma frmula ao usurio, voc ter que usar a propriedade FormulaLocal para atribuir a
frmula a um objeto Range. A frmula de entrada dever estar no idioma do usurio.
Exemplo do mtodo InputBox:
Este exemplo pede um nmero ao usurio.
myNum = Application.InputBox("Digite um nmero:")
Este exemplo pede ao usurio que selecione uma clula em Plan1. Este exemplo usa o argumento Type para assegurar que o valor
retornado seja uma referncia de clula vlida (um objeto Range).
Worksheets("Plan1").Activate
Set myCell = Application.InputBox(prompt:="Select a cell", Type:=8)
Lio 1!: O O8Eeto +pplication - ropriedades e M4todos - arte III
59todo =ind=ile:
Esse mtodo exibe a caixa de dilogo Abrir.
Sintaxe:
expresso.FindFile
expresso: Obrigatria. Uma expresso que retorne um objeto Application.
Comentrios: Este mtodo exibe a caixa de dilogo Abrir e permite que o usurio abra um arquivo. Se um novo arquivo for aberto com
sucesso, esse mtodo retornar True. Se o usurio cancelar a caixa de dilogo, este mtodo retornar False.
Este exemplo exibe a caixa de dilogo Abrir.
Application.FindFile
59todo Yet-"en=ilena!e:
Esse mtodo exibe a caixa de dilogo Abrir padro e obtm um nome de arquivo do usurio sem realmente abrir nenhum arquivo.
Sintaxe:
expresso.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
e%"resso: Obrigatria. Uma expresso que retorna um objeto Application.
=ile=ilter: Variant opcional. Uma seqncia que especifica critrios de filtragem do arquivo.
Esta seqncia consiste em pares de seqncias de filtro de arquivo seguidas pela especificao de arquivo curinga do MS-DOS, com
cada parte e cada par separados por vrgulas. Cada par separado listado na caixa de listagem suspensa Arquivos do tipo. Por exemplo,
a seguinte seqncia especifica dois filtros de arquivo-texto e suplemento:
"Arquivos de texto (*.txt),*.txt,Arquivos de suplemento (*.xla),*.xla"
Para usar vrias expresses curingas do MS-DOS para um nico tipo de filtro, separe as expresses curinga com pontos-e-vrgulas; por
exemplo, "Arquivos do Visual Basic (*.bas; *.txt),*.bas;*.txt".
Se omitido, o padro desse argumento ser "Todos os arquivos (*.*),*.*".
=ilternde%: Variant opcional. Especifica os nmeros de ndice dos critrios padro de filtragem de arquivo, de 1 at o nmero de filtros
especificado em FileFilter. Se esse argumento for omitido ou for superior ao nmero de filtros presentes, o primeiro filtro de arquivo ser
usado.
Gitle: Variant opcional. Especifica o ttulo da caixa de dilogo. Se esse argumento for omitido, o ttulo ser "Abrir".
0uttonGe%t: Variant opcional. Somente para computadores Macintosh.
5ulti?ele&t: Variant opcional. True para permitir que vrios nomes de arquivo sejam selecionados. False para permitir que somente um
nome de arquivo seja selecionado. O valor padro False
Comentrios:
Esse mtodo retorna o nome de arquivo selecionado ou o nome fornecido pelo usurio. O nome retornado pode incluir uma especificao
de caminho. Se MultiSelect for True, o valor de retorno ser uma matriz dos nomes de arquivo selecionados (mesmo que somente um
nome de arquivo seja selecionado). Retorna False se o usurio cancelar a caixa de dilogo.
Esse mtodo pode alterar a unidade ou pasta atual.
Exemplo do mtodo GetOpenFilename:
Este exemplo exibe a caixa de dilogo Open, com o filtro de arquivo definido para arquivos de texto. Se o usurio escolher um nome de
arquivo, o cdigo exibir esse nome de arquivo em uma caixa de mensagens.
fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen <> False Then
MsgBox "Arquivo selecionado: " & fileToOpen
End If
59todo ?endbeQs
Esse mtodo envia pressionamentos de teclas para o aplicativo ativo.
?inta%e
expresso '?endbeQs1 Keys , Wait 3
expresso: Opcional. Uma expresso que retorne um objeto (""li&ation .
Keys: :ariant obrigatria. A tecla ou combinao de teclas que voc deseja enviar para o aplicativo, na forma de texto.
Wait: :ariant opcional. Grue para que o Microsoft Excel espere que as teclas sejam processadas antes de devolver o controle macro.
=alse (ou omitido) para continuar a executar a macro sem esperar que as teclas sejam processadas.
Co!entArios
Este mtodo coloca os pressionamentos de teclas em uma memria intermediria de teclas. Em alguns casos, voc precisa chamar esse
mtodo antes de chamar o mtodo que ir usar os pressionamentos de teclas. Por exemplo, para enviar uma senha para uma caixa de
dilogo voc precisa chamar o mtodo ?endbeQs antes de exibir a caixa de dilogo.
O argumento Keys pode especificar qualquer tecla nica ou qualquer tecla combinada com ALT, CTRL ou SHIFT (ou qualquer combinao
dessas teclas). Cada tecla representada por um ou mais caracteres, tais como "a" para o caractere a, ou "{ENTER}" para a tecla
ENTER.
Para especificar caracteres que no so exibidos quando voc pressiona a tecla correspondente (por exemplo, ENTER ou TAB), use os
cdigos listados na tabela seguinte. Cada cdigo da tabela representa uma tecla no teclado.
Ge&la C;digo
BACKSPACE {BACKSPACE} ou {BS}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
CLEAR {CLEAR}
DELETE ou DEL {DELETE} ou {DEL}
SETA PARA BAIXO {DOWN}
END {END}
ENTER (teclado numrico) {ENTER}
ENTER ~ (til)
ESC {ESCAPE} ou {ESC}
HELP {HELP}
HOME {HOME}
INS {INSERT}
SETA PARA ESQUERDA {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
RETURN {RETURN}
SETA PARA DIREITA {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
SETA PARA CIMA {UP}
F1 a F15 {F1} a {F15}
Voc tambm pode especificar teclas combinadas com SHIFT e/ou CTRL e/ou ALT. Para especificar uma tecla combinada com uma outra
tecla ou teclas, use a tabela seguinte.
4ara &o!binar u!a te&la &o!: 4re&eda o &;digo da te&la &o!:
SHIFT + (sinal de mais)
CTRL ^ (circunflexo)
ALT % (sinal de porcentagem)
$%e!"lo do !9todo ?endbeQs:
Este exemplo usa o mtodo SendKeys para encerrar o Microsoft Excel.
Application.SendKeys("%ar")
%a -> Alt+A -> Abre o menu arquivo.
R -> Seleciona o comando Sair.
Com isso encerramos o estudo dos principais mtodos e propriedades do objeto Application. A partir da Prxima lio passaremos a
estudar os principais mtodos e propriedades do objeto Workbook.
Lio 1": O O8Eeto JorM8ooM - ropriedades e M4todos - arte I
Nessa lio veremos alguns exemplos de usos prticos do objeto Workbook. Nas Lies 15 e 16 sero apresentados detalhes sobre
alguns dos principais mtodos e propriedades do objeto Workbook.
(ti*ar u!a "asta de trabalho:
A Ativao de uma pasta de trabalho pelo uso do mtodo Activate coloca a pasta de trabalho na janela ativa. O comando a seguir ativa a
pasta de trabalho aberta chamada "Contabilidade.xls".
Workbooks("Contabilidade.xls").Activate
Criar u!a no*a "asta de trabalho:
Para criar uma nova pasta de trabalho no VBA, voc usa o mtodo Add. O exemplo a seguir criar uma nova pasta de trabalho. O
Microsoft Excel d automaticamente pasta de trabalho o nome PastaN, onde N o prximo nmero disponvel. A nova pasta de
trabalho se torna a pasta de trabalho ativa.
Workbooks.Add
Uma maneira melhor de criar uma nova pasta de trabalho atribu-la a uma varivel de objeto. No exemplo seguinte, o objeto Workbook
retornado pelo mtodo Add atribudo a uma varivel de objeto, newBook. Em seguida, vrias propriedades de newBook so definidas.
Voc pode facilmente controlar a nova pasta de trabalho usando a varivel de objeto newBook.
Set newBook = Workbooks.Add
' Agora a varivel newBook do tipo Workbook
' Podemos utilizar todas as propriedades e mtodos
' do objeto Workbook para configurar a pasta de trabalho
' newBook
newBook.Title = "1995 Sales"
newBook.Subject = "Sales"
newBook.SaveAs filename:="95Sales.xls"
(brir u!a "asta de trabalho:
Quando voc abre uma pasta de trabalho usando o mtodo Open, ela se torna um membro da coleo Workbooks. O procedimento
seguinte abre uma pasta de trabalho chamada MyBook.xls localizada na pasta chamada "MyFolder" na unidade C.
Workbooks.Open("C:\MyFolder\MyBook.xls")
Referir-se a planilhas pelo nmero de ndice:
Um nmero de ndice um nmero seqencial atribudo a uma planilha, com base na posio de sua guia de planilha (contando da
esquerda para a direita) entre planilhas do mesmo tipo. O exemplo seguinte usa a propriedade Worksheets para ativar a planilha um da
pasta de trabalho ativa.
Worksheets(1).Activate
Se voc desejar trabalhar com todos os tipos de planilha (planilhas, grficos, mdulos e folhas de caixa de dilogo), use a propriedade
Sheets. O procedimento seguinte ativa a planilha quatro na pasta de trabalho.
Sheets(4).Activate
Observao A ordem dos ndices pode ser alterada se voc mover, adicionar ou excluir planilhas.
Ce+erir,se a "lanilhas "or no!e:
Voc pode identificar planilhas pelo nome usando as propriedades Worksheets e Charts. As instrues seguintes ativam vrias planilhas
na pasta de trabalho ativa.
Worksheets("Sheet1").Activate
Charts("Chart1").Activate
DialogSheets("Dialog1").Activate
Voc pode usar a propriedade Sheets para retornar uma planilha, grfico, mdulo ou folha de caixa de dilogo; a coleo Sheets contm
todos estes. O exemplo seguinte ativa a planilha chamada "Ghart1" na pasta de trabalho ativa.
Sheets("Chart1").Activate
-bser*ao: Os grficos incorporados em uma planilha so membros da coleo ChartObjects, enquanto que grficos existentes em
suas prprias folhas pertencem coleo Charts.
?al*ar do&u!entos &o!o "Aginas da Peb:
No Microsoft Excel, voc pode salvar uma pasta de trabalho, planilha, grfico, intervalo, consulta de tabela, relatrio de grfico dinmico,
rea de impresso ou intervalo AutoFilter como uma pgina da Web. Voc tambm pode editar arquivos HTML diretamente no Excel.
Salvar um documento como pgina da Web:
Salvar um documento como uma pgina da Web o processo de criar e salvar um arquivo HTML e quaisquer arquivos de suporte. Para
fazer isso, use o mtodo SaveAs, como mostrado no exemplo seguinte, que salva a pasta de trabalho ativa como C:\Reports\myfile.htm.
ActiveWorkbook.SaveAs _
Filename:="C:\Reports\myfile.htm", _
FileFormat:=xlHTMLPersonalizar a pgina da Web
Nota: Esse comando deve ser digitado todo em uma nica linha. Caso voc tenha que fazer quebra de linha, deve ser utilizado o
caractere de sublinhado no final da linha: _
Voc pode personalizar a aparncia, contedo, suporte de navegador, suporte de edio, formatos grficos, resoluo de tela,
organizao de arquivo e codificao do documento HTML definindo propriedades do objeto DefaultWebOptions e do objeto WebOptions.
O objeto DefaultWebOptions contm propriedades que afetam todo o aplicativo. Essas configuraes so sobrescritas por quaisquer
configuraes de propriedade de pasta de trabalho que tenham os mesmos nomes (contidas no objeto WebOptions).
Aps definir os atributos, voc pode usar o mtodo Publish para salvar a pasta de trabalho, planilha, grfico, intervalo, tabela de
consulta, relatrio de grfico dinmico, rea de impresso ou intervalo AutoFilter de uma pgina da Web. O exemplo seguinte define
vrias propriedades de aplicativo e define a propriedade AllowPNG da pasta de trabalho ativa, sobrescrevendo a configurao padro do
aplicativo. Finalmente, o exemplo salva o intervalo como "C:\Reports\1998_Q1.htm."
Application.DefaultWebOptions.RelyonVML = True
Application.DefaultWebOptions.AllowPNG = True
Application.DefaultWebOptions.PixelsPerInch = 96
ActiveWorkbook.WebOptions.AllowPNG = False
PublishObjects(1).FileName = "C:\Reports\1998_Q1.htm"
PublishObjects(1).Publish
Voc tambm pode salvar os arquivos diretamente em um servidor Web. O exemplo seguinte salva um intervalo de clulas em um
servidor Web, dando pgina da Web o endereo de URL http://example.homepage.com/annualreport.htm.
ActiveWorkbook.WebOptions
WebOptions.RelyonVML = True
WebOptions.PixelsPerInch = 96
ActiveWorkbook..PublishObjects(1)
PublishObjects(1).FileName = _
"http://example.homepage.com/annualreport.htm"
PublishObjects(1).Publish
(brir u! do&u!ento 7G5L e! 5i&roso+t $%&el:
Para editar um documento HTML no Excel, abra primeiro o documento usando o mtodo Open. O exemplo seguinte abre o arquivo
"C:\Reports\1997_Q4.htm" para edio.
Workbooks.Open Filename:="C:\Reports\1997_Q4.htm"
Depois de abrir o arquivo, voc pode personalizar a aparncia, contedo, suporte de navegador, suporte de edio, formatos grficos,
resoluo de tela, organizao de arquivo e codificao do documento HTML definindo as propriedades dos objetos DefaultWebOptions e
WebOptions.
Lio 1#: O O8Eeto JorM8ooM - ropriedades e M4todos - arte II
Nesse lio veremos algumas das principais propriedades do objeto Workbook.
4ro"riedade (""li&ation:
Quando usada sem um qualificador de objeto, essa propriedade retorna um objeto Application representando o aplicativo Microsoft Excel.
Quando usada com um qualificador de objeto, essa propriedade retorna um objeto Application representando o criador do objeto
especificado (voc pode usar essa propriedade com um objeto de Automao OLE para retornar o aplicativo desse objeto). Somente
leitura.
Exemplo da propriedade Application:
Este exemplo exibe uma mensagem sobre o aplicativo que criou a varivel myObject.
.et mT5b1ect P ActieQorFbooF
"! mT5b1ect.Application.Calue P V/icroso!t 3)celV ;hen
/sg*o) V] um ob1eto do /icroso!t 3)cel^^^V
3lse
/sg*o) V:o $ um ob1eto do /icroso!t 3)cel^^^V
3nd "!
4ro"riedade Count:
Retorna o nmero de objetos da coleo. Long somente leitura.
Comentrios: Para fontes de dados OLAP, somente os campos visveis em um relatrio de tabela dinmica so contados.
Exemplo da propriedade Count:
Este exemplo exibe o nmero de colunas na faixa selecionada na planilhaSheet1. O cdigo tambm testa se a seleo de rea mltipla;
se for o caso, o cdigo far um loop pelas reas da seleo de mltiplas reas.
QorFsheetsKV.heet1VL.Actiate
area#ount P .election.Areas.#ount
"! area#ount ZP 1 ;hen
/sg*o) VA seleo cont$m V W .election.#olumns.#ount W V colunas.V
3lse
For i P 1 ;o area#ount
/sg*o) VArea V W i W V da selo cont$m V W X
.election.AreasKiL.#olumns.#ount W V colunas.V
:e)t i
3nd "!
Este exemplo faz do ltimo caractere da clula A1 um caractere sobrescrito.
n P QorFsheetsKV.heet1VL.6angeKVA1VL.#haracters. #ount
QorFsheetsKV.heet1VL.6angeKVA1VL.#haractersKn, 1L.Font..uperscript P ;rue
4ro"riedade te! 1&oleo PorUbooUs3:
Retorna um nico objeto Workbook de uma coleo Workbooks.
Sintaxe:
expresso.Item(Index)
e%"resso: Obrigatria. Uma expresso que retorne um objeto Workbooks.
nde% : Variant obrigatria. O nome ou nmero de ndice da pasta de trabalho.
Exemplo da propriedade Item (coleo Workbooks):
Este exemplo define a varivel pt com a pasta de trabalho de myaddin.xla.
.et Bb P QorFbooFs."temKVmTaddin.)laVL
4ro"riedade 4arent:
Retorna o objeto pai do objeto especificado. Somente leitura.
Exemplo da propriedade Parent:
Este exemplo exibe o nome do grfico que contm myAxis.
.et mTA)is P #hartsK1L.A)esK)lCalueL
/sg*o) mTA)is.&arent.:ame
Lio 1$: O O8Eeto JorM8ooM - ropriedades e M4todos - arte III
Nesse lio veremos alguns dos principais mtodos do objeto Workbook.
59todo (dd 1&oleo PorUbooUs3:
Cria uma nova pasta de trabalho. A nova pasta de trabalho se torna a pasta de trabalho ativa. Retorna um objeto Workbook.
Sintaxe:
expresso.Add(Template)
e%"resso: Obrigatria. Uma expresso que retorne um objeto Workbooks.
Ge!"late: Variant opcional. Determina como a nova pasta de trabalho criada. Se esse argumento for uma cadeia de caracteres
especificando o nome de um arquivo do Microsoft Excel existente, a nova pasta de trabalho ser criada com o arquivo especificado como
um modelo. Se esse argumento for uma constante, a nova pasta de trabalho conter uma nica planilha do tipo especificado. Pode ser
uma das seguintes constantes XlWBATemplate: xlWBATChart, xlWBATExcel4IntlMacroSheet, xlWBATExcel4MacroSheet ou
xlWBATWorksheet. Se esse argumento for omitido, o Microsoft Excel criar uma nova pasta de trabalho com algumas planilhas em
branco (o nmero de planilhas definido pela propriedade SheetsInNewWorkbook).
Co!entArios: Quando o argumento Template especifica um arquivo, o nome do arquivo pode incluir um caminho.
Exemplo do mtodo Add (coleo Workbooks):
Este exemplo cria uma nova pasta de trabalho.
Workbooks.Add
59todo Close:
Fecha o objeto. A coleo Workbooks usa a Sintaxe 1. Os objetos Window e Workbook usam a Sintaxe 2.
Sintaxe 1:
expresso.Close
Sintaxe 2:
expresso.Close(SaveChanges, FileName, RouteWorkbook)
e%"resso: Obrigatria. Uma expresso que retorne um objeto da lista Relativo a.
?a*eChanges: Variant opcional. Se no houver alteraes na pasta de trabalho, esse argumento ser ignorado. Se houver alteraes na
pasta de trabalho e ela aparecer em outras janelas abertas, esse argumento ser ignorado. Se houver alteraes na pasta de trabalho,
mas ela no aparecer em qualquer outra janela aberta, esse argumento especificar se as alteraes devem ser salvas, como mostrado
na tabela seguinte.
:alores
Grue: Salva as alteraes na pasta de trabalho. Se ainda no houver um nome de arquivo associado pasta de trabalho, FileName ser
usado. Se FileName for omitido, o usurio ser solicitado a fornecer um nome de arquivo.
=alse: No salva as alteraes nesse arquivo.
-!itido: Exibe uma caixa de dilogo perguntando ao usurio se as alteraes devem ser salvas.
=ileNa!e: Variant opcional. As alteraes so salvas sob este nome de arquivo.
CoutePorUbooU: Variant opcional. Se a pasta de trabalho no precisar ser encaminhada para o prximo destinatrio (se no tiver lista
de circulao ou se j tiver sido encaminhada), este argumento ser ignorado. Caso contrrio, o Microsoft Excel encaminhar a pasta de
trabalho como mostrado na tabela seguinte.
:alores:
Grue: Envia a pasta de trabalho para o prximo destinatrio.
=alse: No envia a pasta de trabalho.
-!itido: Exibe uma caixa de dilogo perguntando ao usurio se a pasta de trabalho deve ser enviada.
Comentrios:
O fechamento de uma pasta de trabalho a partir do VBA no causa a execuo de macros Auto_Fechar da pasta de trabalho. Use o
mtodo RunAutoMacros para executar as macros de fechamento automtico.
59todo -"en:
Abre uma pasta de trabalho.
Sintaxe:
expresso.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin,
Delimiter, Editable, Notify, Converter, AddToMRU)
e%"resso: Obrigatria. Uma expresso que retorne um objeto Workbooks ou RecentFile.
=ileNa!e: String obrigatria. O nome de arquivo da pasta de trabalho a ser aberta.
B"dateLinUs: Variant opcional. Especifica o modo pelo qual so atualizados os vnculos do arquivo. Se este argumento for omitido, o
usurio ser solicitado a especificar como os vnculos sero atualizados. Caso contrrio, este argumento ser um dos valores listados na
tabela seguinte.
:alor ?igni+i&ado
0 No atualiza nenhuma referncia
1 Atualiza as referncias externas, mas no as remotas
2 Atualiza as referncias remotas, mas no as externas
3 Atualiza tanto as referncias externas quanto as remotas
Se o Microsoft Excel estiver abrindo um arquivo em formato WKS, WK1 ou WK3 e o argumento UpdateLinks for 2, o Microsoft Excel ir
gerar grficos a partir dos grficos anexados ao arquivo. Se o argumento for 0, nenhum grfico ser criado.
Cead-nlQ: Variant opcional. True para abrir a pasta de trabalho em modo somente leitura.
=or!at: Variant opcional. Se o Microsoft Excel estiver abrindo um arquivo de texto, este argumento especificar o caractere delimitador,
conforme mostrado na tabela seguinte. Se este argumento for omitido, o delimitador atual ser usado.
:alor #eli!itador
1 Tabulaes
2 Vrgulas
3 Espaos
4 Ponto-e-vrgulas
5 Nada
6 Caractere personalizado (consulte o argumento Delimiter)
4assNord: Variant opcional. Uma seqncia de caracteres que contenha a senha obrigatria para se abrir uma pasta de trabalho
protegida. Se esse argumento for omitido e a pasta de trabalho exigir uma senha, o usurio ser solicitado a fornec-la.
PriteCes4assNord: Variant opcional. Uma seqncia de caracteres que contenha a senha necessria para gravar em uma pasta de
trabalho de gravao reservada. Se este argumento for omitido e a pasta de trabalho requerer uma senha, o usurio ser solicitado a
fornec-la.
gnoreCead-nlQCe&o!!ended: Variant opcional. True para que o Microsoft Excel no exiba a mensagem de recomendao somente
leitura (se a pasta de trabalho foi salva com a opo Recomendvel somente leitura).
-rigin: Variant opcional. Se o arquivo for um arquivo de texto, este argumento indicar qual a sua origem (para que as pginas de
cdigo e o retorno de carro/alimentao de linha (CR/LF) possam ser mapeados corretamente). Pode ser uma das seguintes constantes
XlPlatform: xlWindows ou xlMSDOS. Se este argumento for omitido, o sistema operacional atual ser usado.
#eli!iter: Variant opcional. Se o arquivo for um arquivo de texto e o argumento Format for 6, este argumento ser uma seqncia de
caracteres que especificar o caractere a ser usado como delimitador. Por exemplo, use Chr(9) para tabulaes, use "," para vrgulas, use
";" para ponto-e-vrgulas ou use um caractere personalizado. Somente o primeiro caractere da seqncia usado.
$ditable: Variant opcional. Se o arquivo for um suplemento do Microsoft Excel 4.0, este argumento ser True para abrir o suplemento
como uma janela visvel. Se este argumento for False ou omitido, o suplemento ser aberto como oculto e no poder deixar de ser
oculto. Esta opo no se aplica a suplementos criados no Microsoft Excel 5.0 ou posterior. Se o arquivo for um modelo do Excel, True
abrir o modelo especificado para edio. False abrir uma nova pasta de trabalho baseada no modelo especificado. O valor padro
False.
Noti+Q: Variant opcional. Se o arquivo no puder ser aberto em modo de leitura e gravao, este argumento ser True para adicionar o
arquivo lista de notificao de arquivos. O Microsoft Excel abrir o arquivo como somente leitura, pesquisar a lista de notificao de
arquivos e, em seguida, notificar o usurio quando o arquivo tornar-se disponvel. Se este argumento for False ou omitido, nenhuma
notificao ser solicitada, e qualquer tentativa de abrir um arquivo no disponvel ir falhar.
Con*erter: Variant opcional. O ndice do primeiro conversor de arquivo a experimentar ao abrir o arquivo. O conversor de arquivo
especificado experimentado primeiro; se esse conversor no reconhecer o arquivo, todos os outros conversores sero usados. O ndice
de conversor compreende os nmeros de linha dos conversores, retornados pela propriedade FileConverters.
(ddGo5ru: Variant opcional. True para adicionar esta pasta de trabalho lista de arquivos usados recentemente. O valor padro
False.
Co!entArios:
Se a pasta de trabalho sendo aberta tiver quaisquer macros Auto_Open, estas no sero executadas quando voc abrir o arquivo a partir
do Visual Basic. Se voc desejar executar a macro Auto_Open, voc dever usar o mtodo RunAutoMacros.
$%e!"lo do !9todo -"en: Este exemplo abre a pasta de trabalho Analysis.xls e, em seguida, executa sua macro Auto_Open.
QorFbooFs.5pen VA:ALY.".._L.V
ActieQorFbooF.6unAuto/acros )lAuto5pen
Lio 1%: JorMs>eet e @an,e - ropriedades e M4todos - arte I
Nessa lio e nas prximas duas, veremos alguns exemplos de usos prticos do objeto Worksheet e de Range. Tambm sero
apresentados detalhes sobre alguns dos principais mtodos e propriedades desses objetos.
Como fazer referncia a clulas e intervalos:
Uma tarefa comum ao usar o VBA especificar uma clula ou intervalo de clulas e, em seguida, fazer algo com elas, como inserir uma
frmula ou alterar o formato. Geralmente, voc pode fazer isso em uma instruo que identifique o intervalo e tambm altere uma
propriedade ou aplique um mtodo.
Um objeto Range no VBA pode ser uma nica clula ou um intervalo de clulas. Os tpicos seguintes mostram as maneiras mais comuns
de identificar e trabalhar com objetos Range.
Ce+erir,se a &9lulas e inter*alos usando a notao (1:
Voc pode referir-se a uma clula ou intervalo de clulas no estilo de referncia A1 usando o mtodo Range. O exemplo seguinte altera o
formato das clulas A1:D5 para negrito.
Workbooks("Book1").Sheets("Sheet1").Range("A1:D5").Font.Bold = True
A tabela seguinte ilustra algumas referncias em estilo A1 usando o mtodo Range.
Ce+er]n&ia ?igni+i&ado
Range("A1") Clula A1
Range("A1:B5") Clulas de A1 at B5
Range("C5:D9,G9:H16") Uma seleo de vrias reas
Range("A:A") Coluna A
Range("1:1") Linha 1
Range("A:C") Colunas de A at C
Range("1:5") Linhas 1 at 5
Range("1:1,3:3,8:8") Linhas 1, 3 e 8
Range("A:A,C:C,F:F") Colunas A, C e F
Ce+erir,se a &9lulas usando n8!eros de /ndi&e:
Voc pode usar a propriedade Cells para referir-se a uma nica clula usando nmeros de ndice de linha e coluna. Essa propriedade
retorna um objeto Range representando uma nica clula. No exemplo seguinte, Cells(6,1) retorna a clula A6 da planilha Sheet1. Em
seguida, a propriedade Value definida como 10.
QorFsheetsKV.heet1VL.#ellsK6, 1L.Calue P 1,
A propriedade Cells funciona bem para loop atravs de um intervalo de clulas porque voc pode substituir os nmeros de ndice por
variveis, conforme mostrado no exemplo seguinte.
<im counter As "nteger
For counter P 1 ;o 2,
QorFsheetsKV.heet1VL.#ellsKcounter, +L.Calue P counter
:e)t counter
-bser*ao: Se voc desejar alterar as propriedades ou aplicar um mtodo a todo um intervalo de clulas de uma s vez, use a
propriedade Range. Para obter mais informaes, consulte Referir-se a clulas usando notao A1.
Ce+erir,se a linhas e &olunas:
Use a propriedade Rows ou a propriedade Columns para trabalhar com linhas ou colunas inteiras. Essas propriedades retornam um objeto
Range representando um intervalo de clulas. No exemplo seguinte, Rows(1) retorna a linha um na planilha Sheet1. Em seguida, a
propriedade Bold do objeto Font do intervalo definida como True.
Worksheets("Sheet1").Rows(1).Font.Bold = True
A tabela seguinte ilustra algumas referncias de linha e coluna usando as propriedades Rows e Columns.
Referncia Significado
Rows(1) Linha um
Rows Todas as linhas da planilha
Columns(1) Coluna um
Columns("A") Coluna um
Columns Todas as colunas da planilha
Para trabalhar com vrias linhas ou colunas ao mesmo tempo, crie uma varivel de objeto e use o mtodo Union, combinando vrias
chamadas propriedade Rows ou Columns. O exemplo seguinte altera para negrito o formato das linhas um, trs e cinco na planilha um
da pasta de trabalho ativa.
QorFsheetsKV.heet1VL.Actiate
<im mTUnion As 6ange
.et mTUnion P UnionK6oBsK1L, 6oBsK+L, 6oBsK8LL
mTUnion.Font.*old P ;rue
Ce+erir,se a inter*alos no!eados:
Os intervalos so mais fceis de identificar por nome do que por notao A1. Para nomear um intervalo selecionado, clique na caixa de
nome na extremidade esquerda da barra de frmulas, digite um nome e, em seguida, pressione ENTER.
Ce+erir,se a u! inter*alo no!eado:
O exemplo seguinte refere-se ao intervalo chamado "MyRange" na pasta de trabalho chamada "MyBook.xls".
6angeKV/T*ooF.)ls^/T6angeVL.Font."talic P ;rue
O exemplo seguinte se refere ao intervalo especfico de planilha chamado "Sheet1!Sales" na pasta de trabalho chamada "Report.xls".
6angeKV`6eport.)lsa.heet1^.alesVL.*orderAround BeightNP)lthin
Para selecionar um intervalo nomeado, use o mtodo GoTo, o qual ativa a pasta de trabalho e a planilha e, em seguida, seleciona o
intervalo.
Application.@oto 6e!erenceNPV/T*ooF.)ls^/T6angeV
.election.#lear#ontents
O exemplo seguinte mostra como o mesmo procedimento seria escrito para a pasta de trabalho ativa.
Application.@oto 6e!erenceNPV/T6angeV
.election.#lear#ontents
Ceali<ar loo" e! &9lulas de u! inter*alo no!eado
O exemplo seguinte faz um loop atravs de cada clula de um intervalo nomeado usando um loop For Each...Next. Se o valor de qualquer
clula do intervalo exceder o valor de limit, a cor da clula ser alterada para amarelo.
#onst limit As "nteger P 28
For 3ach c "n 6angeKV/T6angeVL
"! c.Calue [ limit ;hen
c."nterior.#olor"nde) P 27
3nd "!
:e)t c
Na prxima lio continuaremos a ver exemplos de referncia a clulas e faixa de clulas.
Lio 1(: JorMs>eet e @an,e - ropriedades e M4todos - arte II
Ce+erir,se a &9lulas relati*as a outras &9lulas:
Uma maneira comum de trabalhar com uma clula em relao a uma outra clula usar a propriedade Offset. No exemplo seguinte, o
contedo da clula que se encontra uma linha abaixo e a trs colunas da clula ativa na planilha ativa formatado com sublinhado duplo.
Actie#ell.5!!setK1, +L.Font.Underline P )l<ouble
-bser*ao: Voc pode gravar macros que usem a propriedade Offset em vez de referncias absolutas. No menu Ferramentas, aponte
para Gravar macro e, em seguida, clique em Usar referncias relativas.
Para fazer um loop atravs de um intervalo de clulas, use uma varivel com a propriedade Cells em um loop. O exemplo seguinte
preenche as 20 primeiras clulas da terceira coluna com valores entre 5 e 100, incrementados por 5. A varivel counter usada como
ndice de linha para a propriedade Cells.
<im counter As "nteger
For counter P 1 ;o 2,
QorFsheetsKV.heet1VL.#ellsKcounter, +L.Calue P counter 4 8
:e)t counter
Ce+erir,se a &9lulas usando u! obDeto Cange:
Quando voc define uma varivel de objeto para um objeto Range, voc pode facilmente manipular o intervalo usando o nome da
varivel.
O exemplo seguinte cria a varivel de objeto myRange e, em seguida, atribui a varivel ao intervalo A1:D5 de Sheet1 na pasta de
trabalho ativa. Instrues subseqentes modificam propriedades do intervalo substituindo o objeto de intervalo pelo nome da varivel.
<im mT6ange As 6ange
.et mT6ange P QorFsheetsKV.heet1VL.6angeKVA1N<8VL
mT6ange.Formula P VP6A:<KLV
mT6ange.Font.*old P ;rue
Ce+erir,se a todas as &9lulas da "lanilha:
Quando voc aplica a propriedade Cells a uma planilha sem especificar um nmero de ndice, o mtodo retorna um objeto Range
representando todas as clulas da planilha. O exemplo seguinte limpa o contedo de todas as clulas de Sheet1 na planilha ativa.
QorFsheetsKV.heet1VL.#ells.#lear#ontents
Referir-se a vrios intervalos:
Usando o mtodo apropriado, voc pode facilmente referir-se a vrios intervalos. Use os mtodos Range e Union para referir-se a
qualquer grupo de intervalos; use a propriedade Areas para referir-se ao grupo de intervalos selecionado em uma planilha.
Bsar a "ro"riedade Cange:
Voc pode referir-se a vrios intervalos com a propriedade Range colocando vrgulas entre duas ou mais referncias. O exemplo seguinte
limpa o contedo dos trs intervalos de Sheet1.
QorFsheetsKV.heet1VL.6angeKV#8N<(,@(N=16,*12N<1%VL.#lear#ontents
Os intervalos nomeados tornam o uso da propriedade Range mais fcil ao trabalhar com vrios intervalos. O exemplo seguinte funciona
quando todos os trs intervalos nomeados se encontram na mesma planilha.
6angeKV/T6ange, Your6ange, =is6angeVL.#lear#ontents
Bsar o !9todo Bnion:
Voc pode combinar vrios intervalos em um objeto Range usando o mtodo Union. O exemplo seguinte cria um objeto Range chamado
myMultipleRange, define-o com os intervalos A1:B2 e C3:D4 e, em seguida, formata com negrito os intervalos combinados.
<im r1, r2, mT/ultiple6ange As 6ange
.et r1 P .heetsKV.heet1VL.6angeKVA1N*2VL
.et r2 P .heetsKV.heet1VL.6angeKV#+N<2VL
.et mT/ultiple6ange P UnionKr1, r2L
mT/ultiple6ange.Font.*old P ;rue
Bsar a "ro"riedade Lreas:
Voc pode usar a propriedade Areas para referir-se ao intervalo selecionado ou coleo de intervalos em uma seleo de vrias reas.
O exemplo seguinte conta as reas da seleo. Se houver mais de uma rea, uma mensagem de aviso ser exibida.
"! .election.Areas.#ount [ 1 ;hen
/sg*o) VA operao no $ permitida em uma selao mSltipla.V
3nd "!
Lio 1*: JorMs>eet e @an,e - ropriedades e M4todos arte III
Vamos ver mais alguns exemplos de trabalho com clulas e faixas de clulas.
Loo" atra*9s de u! inter*alo de &9lulas:
Ao usar o VBA, voc freqentemente precisa executar o mesmo bloco de instrues em cada clula de um intervalo de clulas. Para fazer
isso, voc combina uma instruo de loop com um ou mais mtodos para identificar cada clula, uma de cada vez, e executa a operao.
Uma maneira de fazer loop atravs de um intervalo usar o loop For...Next (descrito no Mdulo 5) com a propriedade Cells. Usando a
propriedade Cells, voc pode substituir o contador do loop (ou outras variveis ou expresses) pelos nmeros de ndice das clulas. No
exemplo seguinte, a varivel counter substituda pelo ndice de linha. O seguinte exemplo faz um loop atravs de um intervalo C1:C20,
definindo como 0 (zero) qualquer nmero cujo valor absoluto seja menor que 0,01.
For counter P 1 ;o 2,
.et cur#ell P QorFsheetsKV.heet1VL.#ellsKcounter, +L
"! AbsKcur#ell.CalueL Z ,.,1 ;hen cur#ell.Calue P ,
:e)t counter
Uma outra maneira mais fcil de se fazer um loop atravs de um intervalo usar um loop For Each...Next (descrito no Mdulo 5) com a
coleo de clulas retornada pelo mtodo Range. O VBA define automaticamente uma varivel de objeto para a prxima clula cada vez
que o loop executado. O seguinte exemplo faz um loop atravs do intervalo A1:D10, definindo como 0 (zero) qualquer nmero cujo
valor absoluto seja menor que 0,01.
For 3ach c "n QorFsheetsKV.heet1VL.6angeKVA1N<1,VL.#ells
"! AbsKc.CalueL Z ,.,1 ;hen c.Calue P ,
:e)t
Se voc no souber os limites do intervalo pelo qual deseja fazer o loop, voc pode usar a propriedade CurrentRegion para retornar o
intervalo que envolve a clula ativa. Por exemplo, o exemplo seguinte, quando executado de uma planilha, faz um loop atravs do
intervalo que envolve a clula ativa, definindo como 0 (zero) qualquer nmero cujo valor absoluto seja menor que 0,01.
For 3ach c "n Actie#ell.#urrent6egion.#ells
"! AbsKc.CalueL Z ,.,1 ;hen c.Calue P ,
:e)t
?ele&ionar e ati*ar &9lulas:
Quando voc trabalha com o Microsoft Excel, voc geralmente seleciona uma clula ou clulas e, em seguida, efetua uma ao, como
formatar as clulas ou inserir valores nelas. No VBA, normalmente no necessrio selecionar clulas antes de modific-las.
Por exemplo, se voc desejar inserir uma frmula na clula D6 usando o Visual Basic, voc no ter que selecionar o intervalo D6. Voc
precisa apenas retornar o objeto Range e, em seguida, definir a propriedade Formula com a frmula desejada, conforme mostrado no
exemplo seguinte.
QorFsheetsKV.heet1VL.6angeKV<6VL.Formula P VP.U/K<2N<8LV
Usar o mtodo Select e a propriedade Selection:
O mtodo Select ativa planilhas e objetos em planilhas; a propriedade Selection retorna um objeto representando a seleo atual na
planilha ativa da pasta de trabalho ativa. Antes de voc poder usar com xito a propriedade Selection, voc precisa ativar uma pasta de
trabalho, ativar ou selecionar uma planilha e, em seguida, selecionar um intervalo (ou outro objeto) usando o mtodo Select.
O gravador de macro costuma criar macros que usam o mtodo Select e a propriedade Selection. O exemplo seguinte foi criado pelo uso
do gravador de macro, e ilustra como Select e Selection funcionam juntas.
.heetsKV.heet1VL..elect
6angeKVA1VL..elect
Actie#ell.Formula61#1 P V:ameV
6angeKV*1VL..elect
Actie#ell.Formula61#1 P VAddressV
6angeKVA1N*1VL..elect
.election.Font.*old P ;rue
O exemplo seguinte realiza a mesma tarefa sem ativar nem selecionar a planilha ou as clulas.
QorFsheetsKV.heet1VL.6angeKVA1VL P V:ameV
QorFsheetsKV.heet1VL.6angeKV*1VL P VAddressV
QorFsheetsKV.heet1VL.6angeKVA1N*1VL.Font.*old P ;rue
?ele&ionar &9lulas na "lanilha ati*a:
Se voc usa o mtodo Select para selecionar clulas, esteja ciente de que Select s funciona na planilha ativa. Se voc executar o seu
procedimento Sub a partir do mdulo, o mtodo Select falhar a menos que o seu procedimento ative a planilha antes de usar o mtodo
Select em um intervalo de clulas. Por exemplo, o exemplo seguinte copia uma linha de Sheet1 para Sheet2 na pasta de trabalho ativa.
QorFsheetsKV.heet1VL.6oBsK1L.#opT
QorFsheetsKV.heet2VL..elect
QorFsheetsKV.heet2VL.6oBsK1L..elect
QorFsheetsKV.heet2VL.&aste
(ti*ar u!a &9lula dentro de u!a seleo:
Voc pode usar o mtodo Activate para ativar uma clula dentro de uma seleo. S pode haver uma clula ativa, mesmo quando um
intervalo de clulas selecionado. O exemplo seguinte seleciona um intervalo e, em seguida, ativa uma clula dentro do intervalo sem
alterar a seleo.
QorFsheetsKV.heet1VL.Actiate
6angeKVA1N<2VL..elect
6angeKV*2VL.Actiate
Grabalhar &o! a &9lula ati*a:
A propriedade ActiveCell retorna um objeto Range representando a clula que est ativa. Voc pode aplicar qualquer das propriedades ou
mtodos de um objeto Range clula ativa, como no exemplo seguinte.
QorFsheetsKV.heet1VL.Actiate
Actie#ell.Calue P +8
-bser*ao: Voc s pode trabalhar com a clula ativa quando a planilha na qual ela se encontra a planilha ativa.
Mover a clula ativa:
Voc pode usar o mtodo Activate para designar qual clula a clula ativa. Por exemplo, o exemplo seguinte torna B5 a clula ativa e,
em seguida, a formata com negrito.
QorFsheetsKV.heet1VL.Actiate
QorFsheetsKV.heet1VL.6angeKV*8VL.Actiate
Actie#ell.Font.*old P ;rue
-bser*ao: Para selecionar um intervalo de clulas, use o mtodo Select. Para tornar uma nica clula a clula ativa, use o mtodo
Activate.
Voc pode usar a propriedade Offset para mover a clula ativa. O exemplo seguinte insere texto na clula ativa do intervalo selecionado
e, em seguida, move a clula ativa uma clula para a direita sem alterar a seleo.
QorFsheetsKV.heet1VL.Actiate
6angeKVA1N<1,VL..elect
Actie#ell.Calue P V/onthlT ;otalsV
Actie#ell.5!!setK,, 1L.Actiate
?ele&ionar as &9lulas ao redor da &9lula ati*a:
A propriedade CurrentRegion retorna um intervalo de clulas delimitado por linhas e colunas em branco. No exemplo seguinte, a seleo
expandida para incluir as clulas adjacentes clula ativa, que contenham dados. Em seguida, esse intervalo formatado com o
formato Currency.
QorFsheetsKV.heet1VL.Actiate
Actie#ell.#urrent6egion..elect
.election..tTle P V#urrencTV

Você também pode gostar