Académique Documents
Professionnel Documents
Culture Documents
Cursos de informtica.
Artigos e dicas sobre Certificaes da Microsoft.
Artigos sobre Carreira e Trabalho.
Dicas de livros e sites sobre diversos assuntos.
Simulados gratuitos, em portugus, para os exames da Microsoft.
Pgina 2 de 417
Pgina 3 de 417
Pgina 4 de 417
Estes conhecimentos sero fundamentais nas lies sobre Listas, Tabelas Dinmicas e
Anlise de Hipteses.
Pgina 5 de 417
Pgina 6 de 417
Pgina 7 de 417
Pgina 8 de 417
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:
Pgina 9 de 417
Pgina 10 de 417
Pgina 11 de 417
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: Importao de
Dados no Excel.
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. Este exemplo baseado no arquivo PedidosTamanhoFixo.txt, o qual est
disponvel na pasta C:\ExcelAvanado. Para detalhes sobre como copiar os arquivos
deste curso, consulte a pgina principal do curso na Internet, no seguinte endereco:
www.juliobattisti.com.br/excel120av/excel120av.asp.
Pgina 12 de 417
Pgina 13 de 417
Pgina 14 de 417
Pgina 15 de 417
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.
Pgina 16 de 417
Pgina 17 de 417
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.
Exerccio 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 Arquivos do dBase (*.pdf).
5.
Selecione o arquivo Pedidos.pdf. A sua janela dever estar conforme indicado na
Figura 1.11.
Pgina 18 de 417
Pgina 19 de 417
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.
Obs: Para o exemplo desta lio, trabalharemos com o arquivo Mod1Lic4.mdb.
Conforme veremos nesta lio, 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.
Exerccio 03: Vamos abrir o arquivo Mod1Lic4.mdb no Microsoft Access e exportar a
tabela Pedidos para o arquivo C:\ExcelAvanado\Exemplo 03.xls.
1.
2.
3.
4.
5.
6.
Pgina 20 de 417
Pgina 21 de 417
Clique em Salvar.
Os dados da tabela Pedidos sero salvos no arquivo Exemplo 03.xls.
Voc estar de volta ao Microsoft Access.
Feche o Microsoft Access.
Agora vamos abrir o arquivo Exemplo 03.xls e conferir se os dados foram realmente
exportados com sucesso.
1.
2.
3.
Abra o Excel.
Abra o arquivo C:\ExcelAvanado\Exemplo 03.xls.
Voc dever obter os dados indicados na Figura 1.15:
Com isso encerramos o nosso extudo 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.
Pgina 22 de 417
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.
Pgina 23 de 417
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.
Pgina 24 de 417
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.
15.
Pgina 25 de 417
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.
Exerccio 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 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.
10.
Ser exibida a janela Classificar.
Pgina 26 de 417
12.
Pgina 27 de 417
Pgina 28 de 417
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:
Pgina 29 de 417
Pgina 30 de 417
Pgina 31 de 417
KOENE
ALFKI
DRACD
QUICK
28.
Pgina 32 de 417
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:
Pas = Brasil
Cidade= So Paulo ou Cidade=Campinas
Ano do pedido = 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:
1.
AutoFiltro -> Aprenderemos a utilizar esta ferramenta nas lies 9, 10 e 11.
2.
Filtro Avanado -> 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.
Pgina 33 de 417
Figura 1.27 Usando a opo Filtro Avanado para definir um Intervalo de Critrios.
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.
Pgina 34 de 417
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.
Exerccio 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: Dados ->
Filtrar -> AutoFiltro.
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:
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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Pgina 35 de 417
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.
Importante: 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 Dados -> Filtrar ->
AutoFiltro. Com isso as listas de AutoFiltro so retiradas e todas as linhas voltam a ser
exibidas. Na prxima vez que voc usar o comando Dados -> Filtrar -> AutoFiltro, 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: Dados -> Filtrar -> AutoFiltro.
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 Dados -> Filtrar -> AutoFiltro para excluir os filtros e em seguida selecione
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Pgina 36 de 417
Figura 1.30 Lista de Pedidos exibindo apenas os pedidos para o Brasil/So Paulo.
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.31 Lista de Pedidos exibindo apenas os pedidos para o Brasil/So Paulo/FAMIA.
18.
19.
Pgina 37 de 417
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.
Exerccio 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: Dados ->
Filtrar -> AutoFiltro.
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.
Pgina 38 de 417
Figura 1.34 Pedidos para a Alemanha com frete maior do que 100.
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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Pgina 39 de 417
Pgina 40 de 417
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.
Exerccio 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: Dados ->
Filtrar -> AutoFiltro.
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:
Pgina 41 de 417
Pgina 42 de 417
Pgina 43 de 417
Pgina 44 de 417
Pgina 45 de 417
Figura 1.43 Registro localizado com base na definio de trs critrios diferentes.
Pgina 46 de 417
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).
Entendendo o operador E:
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:
Ex-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:
*******************************************************************
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
*******************************************************************
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Pgina 47 de 417
Pgina 48 de 417
10581
10512
10402
10403
10404
10704
10408
10410
10411
10413
10725
10415
FAMIA
FAMIA
ERNSH 0
ERNSH 0
MAGAA
QUEEN
FOLIG
BOTTM
BOTTM
LAMAI
FAMIA
HUNGC
26/06/1997
21/04/1997
2/01/1997
3/01/1997
03/01/1997
14/10/1997
08/01/1997
10/01/1997
10/01/1997
14/01/1997
31/10/1997
15/01/1997
24/07/1997
19/05/1997
13/02/1997
31/01/1997
31/01/1997
11/11/1997
05/02/1997
07/02/1997
07/02/1997
11/02/1997
28/11/1997
12/02/1997
R$ 3,01
R$ 3,53
R$ 67,88
R$ 73,79
R$ 155,97
R$ 4,78
R$ 11,26
R$ 2,40
R$ 23,65
R$ 95,66
R$ 10,83
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
Brasil
EUA
Argentina
EUA
EUA
EUA
Sucia
Frana
I. de Margarita
Rio de Janeiro
Boise
Buenos Aires
Albuquerque
Lander
Kirkland
Brcke
Strasbourg
10811
10813
10815
10819
10820
10821
10822
10824
10826
LINOD 02/01/1998
RICAR 05/01/1998
SAVEA 05/01/1998
CACTU 07/01/1998
RATTC 07/01/1998
SPLIR 08/01/1998
TRAIH 08/01/1998
FOLKO 09/01/1998
BLONP 12/01/1998
30/01/1998
02/02/1998
02/02/1998
04/02/1998
04/02/1998
05/02/1998
05/02/1998
06/02/1998
09/02/1998
R$ 31,22
R$ 47,38
R$ 14,62
R$ 19,76
R$ 37,52
R$ 36,68
R$ 7,00
R$ 1,23
R$ 7,09
*******************************************************************
Resumindo:
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.
Pgina 49 de 417
Pgina 50 de 417
Pgina 51 de 417
Observao: Voc tambm pode especificar vrias condies para colunas diferentes e
exibir somente as linhas que atendam a todas as condies, usando o comando
AutoFiltro no menu Dados, porm com este comando somente possvel definir um
valor de critrio para cada coluna.
Uma condio em uma coluna 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.
Um de dois conjuntos de condies para duas colunas: 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.
Condies criadas como resultado de uma frmula: Voc pode usar um valor
calculado que seja resultado de uma frmula como critrio. Quando voc usa uma
frmula para criar um critrio, no use um rtulo de coluna como rtulo de critrios;
deixe o rtulo de critrios em branco ou use um rtulo que no seja um rtulo de coluna
na lista. Por exemplo, o intervalo de critrios a seguir exibe linhas que tm um valor na
coluna G maior do que a mdia das clulas E5: E14; ele no usa um rtulo de critrios.
Pgina 52 de 417
Observaes:
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.
Pgina 53 de 417
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.
Vamos definir os seguintes conjuntos de critrios:
*****************************************
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
*****************************************
Exerccio 11 Abrir o arquivo C:\ExcelAvanado\Exemplo 11xls 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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Pgina 54 de 417
Pgina 55 de 417
Pgina 56 de 417
Pgina 57 de 417
Pgina 58 de 417
Abra o Excel.
Selecione o comando Arquivo -> Abrir.
Navegue at a pasta C:\ExcelAvanado.
Selecione o arquivo Exemplo 12xls.
Clique em Abrir.
Ser aberta uma planilha com uma lista com 830 pedidos.
Defina a faixa de critrios indicada na Figura 1.51:
Pgina 59 de 417
Figura 1.53 Filtrando pases em que a primeira letra do nome inicia na faixa de M at Z.
11.
Selecione o comando Dados -> Filtrar -> Filtro avanado 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 Dados -> Filtrar -> Mostrar todos. Agora altere a faixa
de critrios, conforme indicado na Figura 1.54.
Pgina 60 de 417
Figura 1.54 Filtrando apenas os pases que comeam e terminam com a letra A.
14.
Selecione o comando Dados -> Filtrar -> Filtro avanado 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 pases que comeam e terminam com a letra A.
16.
17.
Pgina 61 de 417
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:
Regra 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.
Regra 2: Se a frmula fizer referncia a uma clula fora da lista de valores, esta
referncia dever ser absoluta.
Regra 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.
Exerccio 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:
=MDIA(H8:H837). 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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Pgina 62 de 417
12.
Selecione o comando Dados -> Filtrar -> Filtro avanado e defina as faixas
conforme indicado na Figura 1.57.
Pgina 63 de 417
Pgina 64 de 417
Figura 1.60 Somente pedidos com diferena entre as datas maior do que 15 dias.
21.
22.
Pgina 65 de 417
Pgina 66 de 417
Pgina 67 de 417
Pgina 68 de 417
Nesta lio proporei alguns exerccios para que o amigo leitor possa fixar os conceitos
apresentados neste mdulo. Em caso de dvidas na resoluo de um destes exerccios
entre em contato pelo e-mail: webmaster@juliobattisti.com.br.
Exerccio 01: Abrir o arquivo C:\ExcelAvanado\M1Ex1.xls e classificar a listagem
primeiro pelo Pas e, dentro do pas pela Cidade e dentro da cidade pela coluna
DtDoPedido.
Exerccio 02: Abrir o arquivo C:\ExcelAvanado\M1Ex2.xls definir Subtotais por
Cliente. Em seguida exibir apenas os subtotais para cada cliente e o subtotal geral.
Exerccio 03: Abrir o arquivo C:\ExcelAvanado\M1Ex3.xls e usar AutoFiltro para
aplicar critrios de pesquisa pelo Pas, Cidade e Cdigo do Cliente e Valor de Frete.
Pesquise apenas os pedidos para a Frana para o ano de 1997. Volte a exibir todos os
pedidos. Agora pesquise todos os pedidos para os clientes HILAA e WELLI.
Exerccio 04: Abrir o arquivo C:\ExcelAvanado\M1Ex4.xls e usar AutoFiltro para
aplicar critrios de pesquisa para a coluna Pas (do tipo texto), filtrando apenas os
pedidos para Alemanha e Brasil. Voltar a exibir todos os resultados. Aplicar filtros para
que sejam exibidos apenas os 50 registros de maior valor do frete.
Pgina 69 de 417
Resumo do Mdulo 1.
Bibliografia recomendada:
Confira as dicas de livros de Excel no seguinte endereo:
http://www.juliobattisti.com.br/livrosdeexcel.asp
Pgina 70 de 417
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 Microsoft, tais como OL-DBB e outras.
Nota: Veremos exemplos prticos de acesso e pesquisa em fontes de dados externas,
usando o Microsoft Query, nas lies deste Mdulo. Nestes exemplos prticos
aprenderemos a acessar os dados via uma fonte ODBC.
Pgina 71 de 417
9.
Pgina 72 de 417
Pgina 73 de 417
Figura 2.3 Para manter os subtotais por Pas, desmarque a opo Substituir
subtotais 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:
Pgina 74 de 417
Pgina 75 de 417
Pgina 76 de 417
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( )
A funo CONT.SE:
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)
Intervalo: o intervalo de clulas no qual se deseja contar clulas no vazias.
Critrios: 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")
CONT.SE(A1:A10;"ADM")
CONT.SE(A1:A10;"FINAN")
ir retornar 4
ir retornar 4
ir retornar 2
Pgina 77 de 417
Pgina 78 de 417
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
A funo BDMDIA:
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)
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. o conceito de Lista que vimos na Lio 1 do
Mdulo 1.
Campo: 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.
Critrios: 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:
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.
Pgina 79 de 417
Pgina 80 de 417
Pgina 81 de 417
BDCONTAR( )
BDCONTARA( )
BDEXTRAIR( )
Nota: Para os exemplos desta lio vamos considerar os dados da Figura 2.9:
Pgina 82 de 417
Pgina 83 de 417
Pgina 84 de 417
BDMX( )
BDMN( )
BDMULTIPL( )
BDEST( )
Nota: Para os exemplos desta lio vamos considerar os dados da Figura 2.10:
Pgina 85 de 417
Pgina 86 de 417
Pgina 87 de 417
BDDESVPA( )
BDSOMA( )
BDVAREST( )
BDVARP( )
Nota: Para os exemplos desta lio vamos considerar os dados da Figura 2.11:
Pgina 88 de 417
Pgina 89 de 417
Pgina 90 de 417
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.
Exerccio 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.
Total de Arrecadao: No pode ser superior a R$ 1.000.000,00
Data de Arrecadao: 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:
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Pgina 91 de 417
Pgina 92 de 417
Pgina 93 de 417
Figura 2.15 Mensagem de erro que surge quando voc digita uma valor que no 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.
23.
Pgina 94 de 417
Pgina 95 de 417
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.
Viso 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.
Pgina 96 de 417
Pgina 97 de 417
Pgina 98 de 417
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.
Exerccio 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 IndicePoupana2002.xls.
1.
Abra o Excel.
2.
Para criar uma nova consulta selecione o comando Dados -> Obter dados
externos -> Nova consulta Web...
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:
Pgina inteira: Recupera uma pgina inteira da Web, incluindo texto, tabelas e
outros dados.
Somente 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.
Uma ou mais tabelas especificadas na pgina: 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:
Pgina 99 de 417
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:
Como Instalar o Microsoft Query:
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.
Observao: 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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
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.
Exerccio 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 Dados -> Obter dados
externos -> Criar nova consulta ao banco de dados...
3.
Ser exibida a janela Escolher a fonte de dados, indicada na Figura 2.29:
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.
Exerccio 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.
Data do Pedido
Pas de Destino
Cidade de Destino
Nome do Cliente/Empresa
Nome do Funcionrio
da tabela Pedidos
da tabela Pedidos
da tabela Pedidos
da tabela Pedidos
da tabela Clientes
da tabela Funcionrios
Nmero do Pedido.
Data do Pedido
Pas de Destino
Cidade de Destino
Nome do Cliente/Empresa
Nome do Funcionrio
da tabela Pedidos
da tabela Pedidos
da tabela Pedidos
da tabela Pedidos
da tabela Clientes
da tabela Funcionrios
6.
7.
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.
Definindo critrios simples:
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:
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.
Entendendo o operador OU:
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:
Ex-02: Suponha que sejam definidos os seguintes critrios:
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 prtica sero selecionados os seguintes registros:
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
In
Between
Not
Like
traduzido para
Em
Entre
Negado
Como
O operador In.
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.
O operador Between.
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.
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:
Observaes:
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.
O operador Not:
O operador Not utilizado para negar, para inverter um determinado critrio.
Considere os exemplos:
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
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.
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.
Exerccio 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 Dados -> Obter dados
externos -> Criar nova consulta ao banco 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.
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
PasDeDestino=Brasil
DataDoPedido entre 01/01/1997 e 31/03/1997, ou seja, primeiro trimestre de
1997.
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.
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.
Exerccio 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: Dados -> Obter dados externos -> Editar consulta...
3.
O Microsoft Query ser aberto com a consulta criada na lio anterior.
4.
Para adicionar uma nova tabela selecione o comando Tabela -> Adicionar
tabelas...
5.
Ser exibida a janela Adicionar tabelas. Clique na tabela Funcionrios 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.
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.
Exerccio 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: Dados -> Obter dados externos -> Editar consulta...
3.
O Microsoft Query ser aberto com a consulta criada na lio anterior.
4.
Para adicionar uma nova tabela selecione o comando Tabela -> Adicionar
tabelas...
5.
Ser exibida a janela Adicionar tabelas. Clique na tabela Detalhes do pedido
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.
18.
Salve a planilha com o nome de Exerccio 22.xls, na pasta C:\ExcelAvanado.
19.
Mantenha o Microsoft Excel aberto, pois iremos alterar esta consulta na prxima
lio.
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.
Exerccio 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: Dados -> Obter dados externos -> Editar consulta...
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 um sinal de
igual (=) no incio da expresso. 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.59 Campo Total Geral j 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:
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.
Exerccio 24 Alterar a consulta criada na Lio 17. Excluir todos os campos da consulta
e adicionar os seguintes campos:
NmeroDoPedido
DataDoPedido
CidadeDeDestino
PasDeDestino
Tabela: Pedidos
Tabela: Pedidos
Tabela: Pedidos
Tabela: Pedidos
11.
O prximo passo fechar o Microsoft Query, retornando estes dados para a
planilha do Excel. Para fazer isso utilize o comando: Arquivo -> Retornar dados ao
Microsoft Excel.
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.
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:
Exerccios do Mdulo 2.
NmeroDoPedido.
DataDoPedido
CidadeDeDestino
PasDeDestino
Frete
Fazer com que sejam retornados apenas os pedidos para o Brasil, para primeiro
trimestre de 1997 e tambm para o segundo trimestre de 1996. Retornar tambm os
pedidos para a Alemanha, com valores de Frete na faixa entre R$ 15,00 e R$ 30,00.
Retornar os dados para o Excel e salvar a planilha com o nome de
Exercicio03Mod2.xls, na pasta C:\ExcelAvanado.
Exerccio 05: Explique a diferena entre os operadores OU e E. Cite exemplos de
utilizao de cada um.
Exerccio 06: Explique a diferena entre os operadores Like e Between. Cite
exemplos de utilizao de cada um.
Resumo do Mdulo 2.
Bibliografia recomendada:
Confira as dicas de livros de Excel no seguinte endereo:
http://www.juliobattisti.com.br/livrosdeexcel.asp
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.
Tabelas Dinmicas Viso Geral:
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:
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.
Tabelas Dinmicas Dados de Origem:
Dados de origem de um relatrio de tabela dinmica: 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.
Como configurar os dados de origem: 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.3 - Nesse relatrio de tabela dinmica, o campo Produto contm os itens Laticnios e Carnes.
Figura 3.6 - Um exemplo de uma lista suspensa para um campo de dimenso OLAP
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.
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.
Exemplo 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:
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.
Exemplo 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:
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:
Exemplo 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: Exibir -> Barra de ferramentas -> Tabela dinmica. 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.24 Campos Pas de Destino e Cidade de Destino como campos de linha.
Exerccio 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.
Exerccio 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.
Nessa lio vamos apresentar a resoluo, passo-a-passo para o Exerccio 01, proposto
na Lio 08.
Para construir a tabela dinmica proposta no Exerccio 01 faa o seguinte:
1.
Abra o Microsoft Excel.
2.
Abra a planilha C:\ExcelAvanado\ Modulo 3 Exerccio 01.xls.
3.
Selecione o comando Dados -> Relatrio de tabela e grfico dinmicos...
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.
Nessa lio vamos apresentar a resoluo, passo-a-passo para o Exerccio 02, proposto
na Lio 08.
Para construir a tabela dinmica proposta no Exerccio 02 faa o seguinte:
1.
Abra o Microsoft Excel.
2.
Abra a planilha C:\ExcelAvanado\ Modulo 3 Exerccio 02.xls.
3.
Selecione o comando Dados -> Relatrio de tabela e grfico dinmicos...
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 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.
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.
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:
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.
Selecionando elementos de uma tabela dinmica:
Vamos considerar a tabela dinmica da Figura 3.34:
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.
Exemplo: Abra a planilha C:\Excelavanado\Modulo 3 - Ex Lio 13.xls. Agora vamos
utilizar alguns comandos de classificao.
1.
2.
Marcar totais com *: 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.
Layout de pgina: 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.
Campos por coluna: 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 em relatrios de grfico dinmico.
Para valores de erro, mostrar: 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.
Para clulas vazias, mostrar: 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.
Definir rtulos de impresso: 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 Configurar pgina no menu Arquivo, clique
na guia Planilha e desmarque as caixas de seleo Linhas para repetir na
parte superior e Colunas para repetir esquerda 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.
Salvar dados como layout 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.
Salvar 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 em segundo plano: 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.
Otimizar memria: 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.
Figura 3.50 Grfico dinmico, aps a aplicao de um filtro para Ano = 1997.
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.
Clique em OK.
Voc obter o grfico indicado na Figura 3.57:
Exerccio 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.
Salve essa planilha na pasta C:\ExcelAvancado com o nome de Dados para o Exerccio
05.xls.
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.
Salve essa planilha na pasta C:\ExcelAvancado com o nome de Dados para o Exerccio
06.xls.
exerccios
com
Tabelas
Dinmicas
Grficos
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.
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.
Resumo do Mdulo 3.
Bibliografia recomendada:
Confira as dicas de livros de Excel no seguinte endereo:
http://www.juliobattisti.com.br/livrosdeexcel.asp
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
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.
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.
Relatrios de resumo do cenrio: 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.
Calculando SubTotais/Resumos.
9.
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.
Exerccio 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
5.
Exerccio 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.
Exerccio 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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Por posio.
Por categoria.
Abra o Excel.
Selecione o comando Arquivo -> Abrir.
Navegue at a pasta C:\ExcelAvanado.
Selecione o arquivo Modulo 4 - Exerccio 04.xls.
Clique em Abrir.
Ser aberto o arquivo com quatro planilhas: Jan, Fev, Mar e Trim1.
Clique na guia Trim1 para ir para a planilha onde ser feita a consolidao de
Clique na clula B5 para indicar o local onde iniciaro os dados consolidados.
Selecione o comando Dados -> Consolidar...
Ser exibida a janela Consolidar, indicada na Figura 4.20:
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.
Exerccio 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:
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.
Exerccio 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.
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.
O conceito de Tabela de Dados:
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.
Tabelas de dados de varivel nica: 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.
O Conceito de Cenrios:
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.
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.
Solver:
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.
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.
Exemplo proposto: 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.
Exemplo 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:
Clique em OK.
Voc obter os resultados indicados na Figura 4.47:
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.
Exemplo 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:
Funo
=PGTO(A6;360;C3)
=PGTO(A6;360;D3)
=PGTO(A6;360;E3)
Na Clula
C5
D5
E5
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:
Clique em OK.
Voc obter os resultados indicados na Figura 4.52:
Figura 4.52 Clculos feitos pelo Excel para o valor das prestaes.
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.
Clique em OK.
Voc obter os resultados indicados na Figura 4.56:
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 Ferramentas ->
Opes. 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.
Abra o Excel.
Digite os dados indicados na Figura 4.58:
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.
Relatrios de resumo do cenrio: 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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Vamos usar a planilha da Figura 4.60, da Lio anterior, para criar diferentes cenrios.
Exemplo 10: Nesse exemplo vamos abrir a planilha C:\ExcelAvancado\Modulo 4 Exerccio 10.xls. 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:
Cenrio 1: Aumentamos o nmero de imveis e, conseqentemente, aumento o valor
da prestao do financiamento.
Imveis
Mdia do aluguel
Mdia das despesas
Financiamento
15
320
65
3520
15
320
45
3520
10
370
65
1530
15
320
65
3520
$B$1
$B$2
$B$3
$B$4
20.
Clique em OK. O cenrio MaisImveis ser criado e a janela Gerenciador de
Cenrios ser exibida. Observe que o Cenrio MaisImveis 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:
Imveis
Mdia do aluguel
Mdia das despesas
Financiamento
15
320
45
3520
$B$1
$B$2
$B$3
$B$4
25.
Clique em OK. O cenrio MenosDespesas ser criado e a janela Gerenciador de
Cenrios ser exibida. Observe que o Cenrio MenosDespesas j aparece na lista de
cenrios.
Imveis
Mdia do aluguel
Mdia das despesas
Financiamento
10
370
65
1530
$B$1
$B$2
$B$3
$B$4
30.
Clique em OK. O cenrio AluguelMaisCaro ser criado e a janela Gerenciador
de Cenrios ser exibida. Observe que o Cenrio AluguelMaisCaro j aparece na lista
de cenrios, conforme indicado na Figura 4.68:
15
320
45
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:
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.
Exemplo 11: Nesse exemplo vamos abrir a planilha C:\ExcelAvancado\Modulo 4 Exerccio 11.xls. 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:
Resumo de relatrio: 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.
Tabela dinmica de cenrio: Cria um relatrio que fornece uma anlise hipottica das
variveis dos seus cenrios. Utilize este tipo de relatrio quando o seu modelo tiver
vrios conjuntos de clulas variveis fornecidos por mais de um usurio.
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.73 Relatrio consolidado, com base nos valores de quatro cenrios.
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.
Resumo do Mdulo 4.
Bibliografia recomendada:
Confira as dicas de livros de Excel no seguinte endereo:
http://www.juliobattisti.com.br/livrosdeexcel.asp
Introduo:
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.
O que so Macros??
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 que so Macros?
Podemos usar o gravador de Macros: 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 Macro usando VBA: 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.
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.
) selecione Vermelho.
14.
) 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.
Para executar a macro FormataVermCinza faa 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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
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 :
Como que o Excel faz isso?
Ou de outra forma:
Do que feita uma macro?
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:
Sub FormataVermCinza()
'
' FormataVermCinza Macro
' Macro que faz a formatao em fonte Vermelha, Negrito e
' fundo Cinza.
'
' Atalho do teclado: Ctrl+Shift+L
'
Selection.Font.Bold = True
Selection.Font.ColorIndex = 3
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
End Sub
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.
7.
8.
9.
Para renomear a macro basta alterar o nome aps o comando Sub e depois clicar
7.
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.
Exemplo 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 FormataContbil. 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 Ferramentas -> Macro -> Gravar nova macro.
6.
Ser exibida a janela Gravar Macro.
7.
No campo Nome da macro digite: FormataContbil.
8.
Na lista Armazenar macro em, selecione a opo Esta pasta de trabalho.
9.
O campo descrio simplesmente uma descrio da funcionalidade da macro.
Digite o texto indicado na Figura 5.9:
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:
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.
Para associar um boto com uma macro siga os seguintes passos:
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:
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.
15.
16.
Clique no boto ( ).
Observe que a macro executada e as respectivas formataes so aplicadas
Introduo ao VBA.
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:
Comentrios iniciais do Programa.
Acessa dados da tabela pedidos do banco de dados
C:\Meus documentos\vendas.mdb
Acessar o banco de dados
Acessar a tabela Pedidos
Aplicar um filtro para Pas=Brasil
Exibir os dados obtidos na planilha atual
Formatar a primeira linha com negrito
Formatar a primeira linha com fonte azul
Encerrar a macro
7
Figura 5.15 O Editor VBA.
13.
Subtipo
Empty
Null
Boolean
Byte
Integer
Currency
Long
Date(Time)
String
Object
Error
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.
Fazendo clculos
Aritmticos.
comparaes
com
VBA
Operadores
Smbolo
+
*
/
\
^
Mod
Descrio
Soma o valor de duas ou mais variveis.
Subtrao entre duas ou mais variveis.
Multiplica os valores de duas ou mais variveis.
Divide o valor de duas ou mais variveis.
Retorna a parte inteira, da diviso entre dois
nmeros.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22;
23.
24.
25.
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 operador de concatenao: &. 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: "Os nmeros so:" , 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.
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 x>y, 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
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Smbolo
=
<>
>
<
>=
<=
Descrio
igual .
diferente de.
maior do que.
menor do que.
maior ou igual a.
menor ou igual a.
Selection.Font.Bold = True
Declarao das variveis.
Dim x,y,z,k As Integer
x=12
y=15
z=20
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
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.
Comparao
Resultado
Entre duas variveis com valores Comparao normal.
numricos.
Entre duas variveis com valores do tipo efetuada uma comparao entre valores de
texto.
texto. Por exemplo Xuxa maior do que Abel (X
vem depois do A).
Uma das variveis possui um valor O valor numrico ser sempre considerado menor
numrico e outra possui um valor de texto
do que o valor de texto.
Uma das variveis possui um valor Efetua uma comparao numrica, atribuindo 0
numrico e a outra est vazia.
(zero) para a varivel vazia.
Uma varivel possui um valor de texto e a Efetua uma comparao de texto, atribuindo texto
outra est vazia, sem valor.
de comprimento zero (" ")para a varivel vazia.
As duas variveis possuem um valor vazio. So consideradas iguais.
Call 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:
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.
Neste exemplo, a mensagem x menor do que y, ser exibida, uma vez que o teste
x<y verdadeiro, conforme podemos constatar pelos valores atribudos as variveis x e
y.
A estrutura If ... Then...Else
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:
Neste exemplo, a mensagem x maior do que y, ser exibida, uma vez que o teste
x<y falso, conforme podemos constatar pelos valores atribudos as variveis x e y.
A estrutura If ... Then...ElseIf...Else
A estrutura If...Then...ElseIf, 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
Comandos a serem executados, caso a condio seja verdadeira.
Comando1
Comando2
...
Comandon
ElseIf condio-2
Comandos a serem executados, caso a condio2 seja verdadeira.
Comando1
Comando2
...
Comandon
ElseIf condio-3
Comandos a serem executados, caso a condio3 seja verdadeira.
Comando1
Comando2
...
Comandon
...
ElseIf condio-n
Comandos a serem executados, caso a condio n seja verdadeira.
Comando1
Comando2
...
Comandon
Else
Comandos a serem executados, caso nenhuma das condies anteriores seja
verdadeira.
Comando1
Comando2
...
Comandon
End IF.
Neste exemplo, a mensagem x maior dos nmeros, 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.
Mas o que acontece, quando um dos ElseIf verdadeiro?
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.
vale 2 !
vale 4 !
vale 6 !
vale 8 !
vale 10 !
no um nmero par, menor do que 12
A estrutura Select Case x, vai testar o valor de x. Em cada um dos Case, o valor de x
est sendo testado. Quando for encontrado um valor coincidente com o de x, os
comandos abaixo deste Case sero executados. No nosso exemplo, o comando MsgBox
X vale 10 !, abaixo de Case 10, ser executado. O comando abaixo do Case Else
somente ser executado, se todos os testes anteriores falharem.
O uso da estrutura Select...Case, torna o cdigo mais eficiente e de mais fcil leitura.
Na prxima lio veremos mais algumas estruturas de controle, disponveis no VBA.
Estruturas de repetio.
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.
A estrutura For...Next.
Utilizamos o lao For...Next, para repetir um segmento de cdigo, um nmero
determinado de vezes. Utilizamos esta estrutura, quando j sabemos o nmero de vezes
que uma determinada seo de cdigo deve ser repetida. Neste tipo de estrutura,
normalmente, utilizamos uma varivel como contador. Este contador varia de um valor
inicial at um valor final. O Formato geral desta estrutura o seguinte:
For contador = inicio to fim incremento
Comando1
Comando2
...
Comandon
Next
No incio a varivel contador tem o valor definido. Em cada passagem do lao, a
varivel contador incrementada pelo valor definido em incremento. Caso no seja
definido o incremento, ser utilizado o padro 1.
Considere o exemplo a seguir:
Dim x
x=10
Soma=0
Faz a soma dos 10 primeiros nmeros maiores do que zero
For i=1 to x
Soma = Soma +i
Next
MsgBox Valor da Soma = & Soma
A estrutura Do...Loop.
Esta estrutura pode ser utilizada para repetir um trecho de cdigo, enquanto uma
determinada condio for verdadeira, ou at que uma determinada condio
torne-se verdadeira. Podemos utilizar dois operadores condicionais diferentes: While
ou Until. Os operadores While ou Until, podem ser utilizados de duas maneiras
diferentes: No incio do lao, ou no final do lao. Com isso temos quatro situaes
distintas, vamos analisar cada uma delas, a partir de agora.
A estrutura Do While Condio...Loop.
Neste caso, estamos utilizando o operador condicional While, no incio do lao. O
formato geral, neste caso o seguinte:
Do While condio/teste
Comando1
Comando2
...
Comandon
Loop
Nesta estrutura, enquanto a condio for verdadeira, o cdigo dentro do lao
executado. Quando a condio tornar-se falsa, o primeiro comando aps o final do lao,
ser executado. Neste caso, se a condio for falsa j na primeira vez, o lao no ser
executado nenhuma vez.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
IMPORTANTE: 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.
A estrutura Do... Loop While 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.
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.
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.
Tipos de dados e funes para converso de tipos
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.
Determinando o Tipo de Dados contido em uma varivel.
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.
A funo IsArray.
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. O ndice inicia em zero e no em um. 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)
"Segunda-feira"
"Tera-feira"
"Quarta-feira"
"Quinta-feira"
"Sexta-feira"
"Sbado"
"Domingo"
A funo VarType.
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.
Descrio
Vazio (no inicializado)
Nulo (dados no vlidos)
Inteiro
Inteiro longo
Nmero de preciso simples
Nmero de preciso dupla
Monetrio.
Data
Texto
Objeto de automao
Erro
Boleano
Variant (somente utilizado com Arrays de
variantes)
Um objeto para acesso a dados.
Byte
Array
13
17
8192
x,y,z
a, b
c(20)
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
mensagem
mensagem
mensagem
mensagem
mensagem
=
=
=
=
=
=
"Tipo da
mensagem
mensagem
mensagem
mensagem
mensagem
& Chr(13)
Vartype(y)
Vartype(z)
Vartype(a)
Vartype(b)
Vartype(c)
&
&
&
&
&
Chr(13)
Chr(13)
Chr(13)
Chr(13)
Chr(13)
MsgBox mensagem
A funo IsDate.
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
A funo IsEmpty.
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 funo IsNumeric.
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"
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.
Funo CByte.
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.
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:
Funo 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:
Funo CDate.
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:
Funo CDbl.
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:
Vamos apresentar mais algumas funes do VBA, para a converso de tipos de dados.
Funo CInt.
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:
Funo CStr.
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:
Funo Int.
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)
Funo UCase.
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:
Funo Left.
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:
Left(String, n)
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:
Funo Time.
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:
Funo Day.
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( ))
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.
Funo Month.
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
Funo Now.
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:
Funo MonthName.
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.
Funo Hour.
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.
A funo DateDiff.
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.
Valores para o parmetro intervalo.
Valor
yyyy
q
m
y
d
w
ww
h
n
s
Descrio
Anos
Trimestres
Meses
Dias do ano (o mesmo que dias)
Dias
Semanas
Semanas do ano (o mesmo que semanas)
Horas
Minutos
Segundos
A funo DateAdd.
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.
Valores para o parmetro intervalo.
Valor
yyyy
q
m
y
d
w
ww
h
n
s
Descrio
Anos
Trimestres
Meses
Dias do ano (o mesmo que dias)
Dias
Semanas
Semanas do ano (o mesmo que semanas)
Horas
Minutos
Segundos
descobrimento
foi
em
&
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
DateAdd(d,1000000,22/04/1500)
aps
descobrimento
em
&
Funo Year.
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:
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.
Funo WeekDayName.
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:
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
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:
Descrio
Abs(n)
Atn(n)
Cos(n)
Exp(n)
Log(n)
Rnd(n)
Sgn(n)
Sin(n)
Sqr(n)
Tan(n)
NOTA: 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.
Valor de retorno.
2350
1,1071487177
1
2,71828182845905
6,90775527898214
Gera um nmero aleatrio entre 0 e 10
Retorna
1, pois o nmero
negativo
Retorna 0
Retorna 20
Retorna 0
Lio 20:
Resumo do Mdulo 5.
Bibliografia recomendada:
Confira as dicas de livros de Excel no seguinte endereo:
http://www.juliobattisti.com.br/livrosdeexcel.asp
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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
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.
Para incio de conversa, considere a figura a seguir:
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.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
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
poupa esforo, reduz o nmero de linhas de cdigo, e facilita a manuteno, alm
de reduzir a possibilidade 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.
NOTA: 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 utilizando Sub-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.
Calcula_imposto(1500,23,125)
ou
Call Calcula_imposto(1500,23,125)
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:
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
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 Subrotina 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 exibe_data_hora(), a qual faz a
exibio da data e da hora, no formato proposto pela Figura anterior.
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.
Caso algum arquivo tenha sido selecionado, o nome do arquivo ser exibido:
MsgBox "A seguinte planilha ser carregada: " & ArqParaAbrir
5.
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
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.
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.
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.
O objeto Worksheet e a coleo Worksheets:
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
Vamos supor que voc execute esse cdigo quando o nome da primeira planilha
Plan1. Nessa caso, voc obter a seguinte seqncia de mensagens:
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
A Propriedade Visible:
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).
Comentrios:
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.
O exemplo de cdigo a seguir torna visvel todas as planilhas da pasta de trabalho ativa.
Propriedade UsedRange:
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
Worksheets(1).Range("criteria").ClearContents
Se voc usar um argumento de texto para o endereo do intervalo, voc ter que
especificar o endereo em notao de estilo A1 (voc no poder usar a notao de
estilo L1C1, onde L1 significa Linha 1 e C1 significa Coluna 1).
Propriedade Cells:
Use Cells(linha, coluna) onde linha o ndice da linha e coluna o ndice da coluna,
para retornar uma nica clula. O exemplo seguinte define o valor da clula A1 como
24.
Worksheets(1).Cells(1, 1).Value = 24
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
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
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
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.
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:
Importante: 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.
Como calcular o DV do CPF.
Para entender o algoritmo de clculo do CPF vamos utilizar um exemplo prtico.
Considere o seguinte CPF (sem o DV): 333.444.555
Posio
Nmero
1
3
2
3
3
3
4
4
5
4
6
4
7
5
8
5
9
5
1
3
10
30
2
3
9
27
3
3
8
24
4
4
7
28
5
4
6
24
6
4
5
20
7
5
4
20
8
5
3
15
9
5
2
10
O DV1 calculado passa a fazer parte do CPF, conforme indicado pela tabela a seguir:
Posio
Nmero
1
3
2
3
3
3
4
4
5
4
6
4
7
5
8
5
9
5
10
0
1
3
11
33
2
3
10
30
3
3
9
27
4
4
8
32
5
4
7
28
6
4
6
24
7
5
5
25
8
5
4
20
9
5
3
15
10
0
2
0
1
3
2
3
3
3
4
4
5
4
6
4
7
5
8
5
9
5
10
0
11
8
Ou seja: 333.444.555-08
Os algortmos para clculo dos DVs do CNPJ so praticamente iguais. A nica
diferena a quantidade de dgitos do CNPJ diferente do CPF.
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.
Exerccio: 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 Ferramentas -> Macro -> Editor Visual Basic...
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 Inserir -> Mdulo. Ser criado o
Mdulo 1. Agora vamos inserir uma funo, dentro desse mdulo.
6.
Selecione o comando Inserir -> Procedimento.
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:
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:
Public Function ValidaCPF(CPF As String) As String
End 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.
Dim d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11 As Integer
' Demais variveis que sero utilizadas para o clculo do DV.
Dim Soma1, Soma2, Resto As Integer
Dim Resto1, Resto2 As Integer
Dim DV1, DV2 As Integer
' Em primeiro lugar testo se a clula com o CPF contm um valor
' vlido, isto , um valor No Nulo.
If Not (IsNull(CPF)) Then
'*************************************************************************
' Os comandos a seguir desmembram o CPF um a um , atribuindo os valores *
' de d1 ... d11 , usando as funes Mid$ e Val
*
' Como o CPF est no formato de Texto, vamos extrair os dgitos do CPF
*
' um a um, converter o respectivo valor de texto para nmero e atribuir *
' Agora fao o teste para saber se os DVs calculados (DV1 e DV2)
' conferem com os DVs do CPF - d10 e d11
If ((DV1 <> d10) Or (DV2 <> d11)) Then
' Atribuo a palavra "Invlido" para uma varivel com
' nome da funo - ValidaCPF.
' Essa a maneira de fazer com que a funo retorne
' ou seja, atribuindo o valor a ser retornado, uma
' com o mesmo nome da funo.
ValidaCPF = "Invlido"
Else
' Atribuo a palavra "Vlido" para uma varivel com o
' nome da funo - ValidaCPF.
' Essa a maneira de fazer com que a funo retorne
' ou seja, atribuindo o valor a ser retornado, uma
' com o mesmo nome da funo.
o mesmo
um valor,
varivel
mesmo
um valor,
varivel
ValidaCPF = "Vlido"
End If
End If
End Function
Nessa lio veremos como utilizar a funo ValidaCPF, criada na lio Anterior.
Exerccio: Utilizar a funo ValidaCPF criada na lio anterior.
1.
2.
3.
Abra o Excel.
Abra a planilha C:\ExcelAvancado\Nmeros de CPF.xls.
Clique na clula B2 e digite a seguinte frmula:
=ValidaCPF(A2)
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.
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.
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.
Propriedade DefaultSaveFormat:
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:
Propriedade RecentFiles:
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
Principais Mtodos do mtodo Application: Vamos iniciar o estudo dos
principais mtodos do objeto Application. Esse estudo seguir na Prxima lio.
Mtodo InputBox:
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)
expresso: obrigatria e deve ser uma expresso que retorne um objeto Application.
Prompt: String obrigatria. A mensagem a ser exibida na caixa de dilogo. Pode ser
uma seqncia, um nmero, uma data ou um valor Boolean (o Microsoft Excel converte
o valor automaticamente para uma String antes dele ser exibido).
Title: Variant opcional. O ttulo da caixa de entrada. Se esse argumento for omitido, o
ttulo padro ser "Entrada".
Default: Variant opcional. Especifica um valor que aparecer na caixa de texto quando
a caixa de dilogo for inicialmente exibida. Se esse argumento for omitido, a caixa de
texto ser deixada vazia. Esse valor pode ser um objeto Range.
Left: Variant opcional. Especifica uma posio x para a caixa de dilogo em relao ao
canto superior esquerdo da tela, em pontos.
Autor: Jlio Cesar Fabris Battisti
Site:
www.juliobattisti.com.br
proibido usar este material em treinamentos ou em sala de aula.
Top: Variant opcional. Especifica uma posio y para a caixa de dilogo em relao ao
canto superior esquerdo da tela, em pontos.
HelpFile: Variant opcional. O nome do arquivo de Ajuda para essa caixa de entrada.
Se os argumentos HelpFile e HelpContextID estiverem presentes, um boto Ajuda
aparecer na caixa de dilogo.
HelpContextId: Variant opcional. O nmero de identificao do contexto do tpico da
Ajuda em HelpFile.
Type: Variant opcional. Especifica o tipo de dados retornado. Se esse argumento for
omitido, a caixa de dilogo retornar texto. Pode ser um dos valores abaixo ou a soma
deles.
Valor
0
1
2
4
8
16
64
Significado
Uma frmula
Um nmero
Texto (uma seqncia)
Um valor lgico (True ou False)
Uma referncia a clulas, como um objeto Range
Um valor de erro, como #N/D
Uma matriz de valores
Voc pode usar a soma dos valores permitidos para Type. Por exemplo, para uma caixa
de entrada que possa aceitar tanto texto como nmeros, defina Type como 1 + 2.
Comentrios:
Use InputBox para exibir uma caixa de dilogo simples para que voc possa inserir
informaes a serem usadas em uma macro. A caixa de dilogo tem um boto OK e um
boto Cancelar. Quando voc escolhe o boto OK, InputBox retorna o valor inserido na
caixa de dilogo. Quando voc clica no boto Cancelar, InputBox retorna False.
Quando Type 0, InputBox retorna a frmula na forma de texto por exemplo,
"=2*PI()/360". Se houver quaisquer referncias na frmula, elas sero rertornadas como
referncias de estilo A1. (Use ConvertFormula para fazer a converso entre estilos de
referncias).
Quando Type 8, InputBox retorna um objeto Range. Voc precisa usar a instruo Set
para atribuir o resultado a um objeto Range, como mostrado no exemplo seguinte.
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.
Mtodo FindFile:
Mtodo GetOpenFilename:
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)
Files
Mtodo SendKeys
Esse mtodo envia pressionamentos de teclas para o aplicativo ativo.
Sintaxe
expresso.SendKeys(Keys, Wait)
expresso: Opcional. Uma expresso que retorne um objeto Application.
Tecla
Cdigo
BACKSPACE
{BACKSPACE} ou {BS}
BREAK
{BREAK}
CAPS LOCK
{CAPSLOCK}
CLEAR
{CLEAR}
DELETE ou DEL
{DELETE} ou {DEL}
{DOWN}
END
{END}
~ (til)
ESC
{ESCAPE} ou {ESC}
HELP
{HELP}
HOME
{HOME}
INS
{INSERT}
{LEFT}
NUM LOCK
{NUMLOCK}
{PGDN}
PAGE UP
{PGUP}
RETURN
{RETURN}
{RIGHT}
SCROLL LOCK
{SCROLLLOCK}
TAB
{TAB}
{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.
Para combinar uma tecla
com:
SHIFT
+ (sinal de mais)
CTRL
^ (circunflexo)
ALT
% (sinal de porcentagem)
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.
Ativar uma pasta 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
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
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.
Referir-se a planilhas por nome:
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
Propriedade 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.
Worksheets("Sheet1").Activate
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "A seleo contm " & Selection.Columns.Count & "
colunas."
Else
For i = 1 To areaCount
MsgBox "Area " & i & " da selo contm " & _
Selection.Areas(i).Columns.Count & " colunas."
Next i
End If
Propriedade Parent:
Retorna o objeto pai do objeto especificado. Somente leitura.
Exemplo da propriedade Parent:
Este exemplo exibe o nome do grfico que contm myAxis.
Set myAxis = Charts(1).Axes(xlValue)
MsgBox myAxis.Parent.Name
Mtodo 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)
Ao
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.
No salva as alteraes nesse arquivo.
Exibe uma caixa de dilogo perguntando ao usurio se as alteraes
devem ser salvas.
False
Omitido
Significado
Envia a pasta de trabalho para o prximo destinatrio.
No envia a pasta de trabalho.
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.
Mtodo Open:
Abre uma pasta de trabalho.
Sintaxe:
expresso.Open(FileName,
UpdateLinks,
ReadOnly,
Password, WriteResPassword, IgnoreReadOnlyRecommended,
Delimiter, Editable, Notify, Converter, AddToMRU)
expresso:
RecentFile.
Format,
Origin,
Significado
No atualiza nenhuma referncia
Atualiza as referncias externas, mas no as remotas
Atualiza as referncias remotas, mas no as externas
Atualiza tanto as referncias externas quanto as remotas
Delimitador
Tabulaes
Vrgulas
Espaos
Ponto-e-vrgulas
Nada
Caractere personalizado (consulte o argumento Delimiter)
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.
Referir-se a clulas e intervalos usando a notao A1:
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.
Referncia
Range("A1")
Range("A1:B5")
Range("C5:D9,G9:H16")
Range("A:A")
Range("1:1")
Range("A:C")
Range("1:5")
Range("1:1,3:3,8:8")
Range("A:A,C:C,F:F")
Significado
Clula A1
Clulas de A1 at B5
Uma seleo de vrias reas
Coluna A
Linha 1
Colunas de A at C
Linhas 1 at 5
Linhas 1, 3 e 8
Colunas A, C e F
Significado
Linha um
Todas as linhas da planilha
Coluna um
Coluna um
Todas as colunas da planilha
Para trabalhar com vrias linhas ou colunas ao mesmo tempo, crie uma varivel de
objeto e use o mtodo Union, combinando vrias chamadas propriedade Rows ou
Columns. O exemplo seguinte altera para negrito o formato das linhas um, trs e cinco
na planilha um da pasta de trabalho ativa.
Worksheets("Sheet1").Activate
Dim myUnion As Range
Set myUnion = Union(Rows(1), Rows(3), Rows(5))
myUnion.Font.Bold = True
Vamos ver mais alguns exemplos de trabalho com clulas e faixas de clulas.
Loop atravs de um intervalo de clulas:
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 = 1 To 20
Set curCell = Worksheets("Sheet1").Cells(counter, 3)
If Abs(curCell.Value) < 0.01 Then curCell.Value = 0
Next 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 Each c In Worksheets("Sheet1").Range("A1:D10").Cells
If Abs(c.Value) < 0.01 Then c.Value = 0
Next
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 Each c In ActiveCell.CurrentRegion.Cells
If Abs(c.Value) < 0.01 Then c.Value = 0
Next
Resumo do Mdulo 6.
Bibliografia recomendada:
Confira as dicas de livros de Excel no seguinte endereo:
http://www.juliobattisti.com.br/livrosdeexcel.asp
Desejo a todos um excelente estudo e espero, sinceramente, com o contedo desse curso
possa ajuda-los no domnio e utilizao das ferramentas avanadas do Microsoft Excel.