Microsoft Excel 2003 Mdulo II Macros e Tabelas Dinmicas
Professores:
Eduardo Arbex Mnica Mara Tathiana da Silva
Resende 2010 Macro no Excel
Uma macro um pequeno programa que contm uma lista de instrues que sero realizadas dentro de uma planilha no Excel. Sendo um repositrio de operaes, uma macro, pode executar um conjunto de tarefas atravs de um nico procedimento.
As instrues que formam o corpo da macro so escritas num cdigo prprio para que o computador as possa entender, essa linguagem designada por VBA Visual Basic for Applications.
Existem duas possibilidades de criao de macros: 1) Atravs do Gravador de Macros 2) Utilizando o editor e programando em Visual Basic for Applications
Gravar uma Macro
Menu Ferramentas > Macro -> Gravar nova Macro Ou (para o Excel em ingls)
Tools / Macro / Record New Macro.
O nome (Macro name ou Nome da Macro) ser constitudo por um conjunto de caracteres que identificaro a Macro e a sua funcionalidade.
Shortcut Key ou tecla de atalho composto por uma combinao de teclas que podero ser utilizadas para executar uma macro
As macros podem ser armazenadas nas seguintes opes: This Workbook (nessa pasta de trabalho), New Workbook (nova pasta de trabalho) ou Personal Workbook (pasta de trabalho pessoal), sendo que cada uma corresponde a macros de mbito diferente. Assim devero armazenar a macro na opo ThisWorkBook (Nessa) para que ela esteja ativada sempre que o documento estiver aberto, e para que ela esteja armazenada no prprio arquivo no correndo o risco de ficar armazenada nas Macros do Excel.
No campo Description (Descrio), introduza um comentrio funo que poder ser importante para que no seja esquecido o respectivo objetivo e funcionalidade da macro criada.
Clique em OK para iniciar a gravao da macro neste momento ser exibida uma toolbar indicando o estado de gravao.
Na toolbar Stop Record (Parar Gravao), existem dois botes: Stop Recording e Relative Reference O boto de Stop Recording termina a gravao da macro, o boto de Relative Reference seleciona o modo de gravao da macro se feito com base em referncias relativas (boto selecionado) ou referncias absolutas.
No caso da toolbar Stop Record desaparecer, poder voltar a exibi-la fazendo no menu a sequncia: View / Toolbars / Stop Record ou Visualizar / Barra de Ferramentas / Parar Gravao (selecione a toolbar). Caso a toolbar no aparea listada a gravao de macros no est ativada.
Nota: Tome ateno aos passos que d quando est gravando pois tudo ser registrado, o que significa que quando for executar a macro, esses procedimentos sero efetuados.
Exerccio
Objetivo: Gravar uma macro testando a diferena entre a execuo de macros com referncias absolutas e relativas.
Macro com referncias Absolutas
1. Acione a gravao da macro. Atribua-lhe o Short Key (tecla de atalho) Ctrl+P 2. Certifique-se que o boto Relative Reference (referncia relativa) est desativado. 3. Clique na clula B3. 4. Escreva AEDB 5. Formate a clula para Bold (Negrito), Itlico, tamanho 18, Small Caps, (utilize o Format / Font ou Formatar / Fonte) 6. Na clula B4 escreva: Faculdades de Engenharia de Resende 7. Na clula B5 escreva: Cursos de Engenharia Eltrica com nfase em Eletrnica e Produo Automotiva 8. Pare a gravao da macro. A macro est criada. 9. Apague tudo o que escreveu nas clulas da coluna B. 10. Clique na clula L8. 11. Carregue simultaneamente nas teclas Ctrl e P 12. O que aconteceu ?
Macro com referncias Relativas
1. Selecione a clula D5. 2. Acione a gravao da macro. Atribua-lhe o Short Key (tecla de atalho) Ctrl+R 3. Selecione o boto Relative Reference (Referncia Relativa). 4. Escreva AEDB na clula que havia sido selecionada. 5. Formate a clula para Bold, Itlico, tamanho 18, Small Caps, (utilize o Format / Font) 6. Na clula D6 escreva: Faculdades de Engenharia de Resende 7. Na clula D7 escreva: Cursos de Engenharia Eltrica com nfase em Eletrnica e Produo Automotiva 8. Pare a gravao da macro. A macro est criada. 9. Apague tudo o que escreveu nas clulas da coluna D. 10. Clique na clula L8. 11. Carregue simultaneamente nas teclas Ctrl e R 12. O que aconteceu? Porqu ?
Como funciona a gravao das macros
O Excel quando se grava uma macro cria um objeto designado por module no workbook onde registra todas as operaes gravadas em linguagem Visual Basic for Applications - VBA. Este mdulo no aparece no Excel com as planilhas.
Para ser visualizado necessrio abrir o Editor de Visual Basic for Applications: 1. Tools / Macro / Macros ou Ferramentas / Macro / Macros 2. Seleciona-se a Macro e clica-se no boto Edit 3. Poder visualizar na rea do lado direito o cdigo VBA que est associado s macros que gravou. A poder executar as mesmas tarefas que num editor de texto normal: escrever, apagar, copiar, mover, mas instrues de VBA. 4. Tente fazer a leitura do que est escrito e compreenda o procedimento da macro. Criando macros
Quando voc iniciar o gravador de macro voc pode escolher para anexar a macro a uma tecla do teclado. Quando ela foi gravada voc apenas clicou na tecla que voc escolheu e a macro por outro lado fez isto novamente. Desenvolva a macro Excel com esta lio passo a passo sobre como usar o Gravador de Macros do Excel. 1. Clique em Ferramentas /Macro /Gravar Macro 2. D um nome para a macro 3. Crie uma formatao qualquer em uma clula (alinhamento, centralizado,...) 4. Parar Macro 5. Salve o arquivo 6. Teste o arquivo em Ferramentas / Macro / Macro / Executar Macro 7. No esquea de mudar o nvel de segurana para Baixo em: Ferramentas / Macro / Segurana / Baixo Teste a macro e verifique se est funcionando.
Agora vamos criar um boto para executar esta macro. Clique em: 1. Exibir / Barra de Ferramentas / Personalizar / Comandos / Macro 2. Clique no boto que tem o desenho de um smile e arraste at a barra de ferramentas Formatao 3. Clique em modificar seleo 4. Mude o nome do boto; 5. Altere a imagem; 6. Edite a imagem do boto; 7. Atribua a macro a este boto O boto da macro est criado.
Agora vamos testar. Note que quando abrimos uma nova pasta e executamos a macro o arquivo que foi criado a macro aberta tambm. Para corrigir isso pressione Alt + F11. Abrir o modulo em VBA. Clique em Modulo e l ter a macro. Digite antes do End Sub: Workbooks(ALINHAMENTO.XLS).CLOSE
Vamos fazer outro exerccio sobre macro criando um boto que ir gerar um relatrio: 1. Abra a planilha PlanilhaAluno.xls 2. Nomeie os intervalos (vendedores, produtos e preo) 3. Crie uma lista de validao para Vendedor e produto (dados / validao / lista / Origem (=vendedores); 4. Crie uma barra de rolagem para a Quantidade; 5. Use =PROCV(B2;Preco;2) para buscar o preo; 6. Calcule o preo total =D2*C2
At aqui criamos a estrutura da planilha. Criaremos uma macro que gere um relatrio sobre as vendas efetuadas, para isso: 1. Clique em Ferramentas / Macro / Gravar Nova Macro ; 2. D um nome para a macro; 3. Selecione os dados para constar no relatrio (Vendedor, Produto, Quantidade, Preo. Unit e preo total) 4. Copie os dados (Crtl + C); 5. V para a planilha Relatrio de Vendas; 6. Pressione Crtl + para ir a ltima coluna da planilha; 7. Pressione Crt + para ir a primeira coluna da planilha; 8. Clique em Referncia relativa e pressione a setinha para ir uma linha para baixo;
9. Clique novamente em Referncia relativa; 10. Clique em colar / Colar Especial / Valores; 11. Volte para a planilha Controle de Vendas e para a macro 12. Pressione Esc para tirar a seleo do copiar; 13. Clique na barra de ferramentas formulrio em Boto; 14. Associe a macro criada e este boto; 15. Teste a macro.
Executar uma Macro
A execuo de uma macro pode ser concretizada de diversas formas: Tecla de Atalho Shortcut Key Boto na Barra de Ferramentas (Toolbar) Run / Executar Comando no Menu Editor de Visual Basic for Applications
Tecla de Atalho Shortcut Key
A associao a teclas de atalho realizada quando a macro criada.
Boto na Barra de Ferramentas (Toolbar) Para associar uma Macro a um Boto: 1. View / Toolbars / Customize Visualizar / Barra de Ferramentas /Customizar 2. Na janela do Customize selecione a guia Commands (Comandos) 3. Selecione a categoria Macro
4. Na rea dos Commands sero exibidos dois itens: Custom Menu Item e Custom Button. Selecione este segundo e arraste-o com o mouse at Toolbar onde o pretende inserir. Ateno s poder inserir o boto quando o ponteiro do mouse ficar com a forma I. Nesse momento libertar o boto do mouse utilizado para arrastar e verificar que ser criado um novo boto. 5. Na janela de Customize poder ainda utilizar dois botes que se encontram na rea do Selected Command: a) Description que exibe um texto explicando o que o comando selecionado faz. b) Modify Selection semelhante ao clique sobre o boto criado, exibe uma srie de tarefas possveis para configurao do boto (ver operaes seguintes).
6. Clique sobre o boto Modify Selection- abrindo um menu de tarefas possveis para a configurao do boto a) No ltimo grupo de configuraes existe uma opo designada por Assign Macro. Esta opo permite indicar qual a macro que dever ser executada sempre que se clica no boto; b) No terceiro grupo existem 4 estilos diferentes de exibir o boto: s com texto, com texto e imagem ou somente com imagem. Se selecionar o estilo Texto e Imagem, ser exibido no boto alm da imagem o nome associado; c) Na opo Name indique o nome que pretende ver associado ao boto; d) Para alterar a imagem associada ao boto poder: optar por uma imagem diferente, alterar a que est a visualizar ou a construir a sua. Para isso clique sobre a tarefa de Change Button Image.
Modificar uma Macro de um Boto
1. Tools / Customize 2. Arraste o boto da toolbar at ao documento 3. Solte-o
Comando Run/Executar
1. Tools / Macro / Macros 2. Na caixa de dilogo Macros seleciona-se a macro pretendida na lista da Macro Name Clique sobre o boto Run
Associao de uma Macro a um Comando do Menu
1. View / Toolbars / Customize (Visualizar / Barras de Ferramentas / Customizar) 2. Na janela do Customize encontra-se na Guia Commands (Comandos) 3. Selecione a categoria Macro 4. Na area dos Commands ser exibido um item de Custom Menu Item, selecione-o e arraste-o com o mouse at a uma posio do menu que lhe interesse por exemplo pode introduzir numa das listas de opes do menu (Arquivo, Visualizar,) ou ento criar como uma nova opo do Menu..
5. Para criar uma nova lista no menu dever : a) Selecionar a categoria New Menu b) Na rea dos Commands ser exibida a opo New Menu (Novo Menu), que dever arrastar at barra dos menus c) Poder alterar o seu nome clicando no boto de Modify Selection (Modificar Seleo) d) Esta nova lista ter o mesmo comportamento que a outras 6. Na janela de Customize poder ainda utilizar dois botes que se encontram na rea do Selected Command: a) Description que exibe um texto explicando o que o comando selecionado faz. b) Modify Selection semelhante ao clique sobre o menu ou comando de menu criado, exibe uma srie de tarefas possveis para configurao
Colocando no Excel o Menu Criado
1. Tools / Customize 2. Arraste o Menu ou Comando do Menu at ao documento e solte-o. Tabelas Dinmicas no Excel
Como introduo criaremos um 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 a seguir:
Na Lista da Figura anterior temos o que chamamos de uma listagem "bruta", ou seja, sem nenhuma forma de totalizao, cruzamento ou agrupamento. Com base na listagem "bruta", podemos fazer algumas anlises e perguntas, tais como: Qual o total de vendas por trimestre para o ano de 1997? Qual o total de Vendas para cada empresa, no segundo trimestre de 1996?
Alm de responder a essas perguntas (e outras tantas), seria importante ter uma ferramenta que nos permitisse, rapidamente alterar um ou mais critrios. Por exemplo, com um simples clique de mouse eu poderia passar a exibir o total de vendas trimestrais para o ano de 1997, ao invs de para o ano de 1996. Tudo isso possvel com o uso de Tabelas Dinmicas???
Ento vamos pratica, criando o nosso primeiro Relatrio de Tabela Dinmica.
Exemplo 1: Usar os dados da planilha, para criar um relatrio dinmico, onde possamos analisar, facilmente, o total de vendas por Cliente, por trimestre. Usar o campo Ano como Campo de pgina, para que possa ser feita a Filtragem das vendas por ano. 1. Abra o Microsoft Excel. 2. Abra a planilha. 3. Selecione o comando Dados -> Relatrio de tabela e grfico dinmicos... Ser aberto o Assistente de tabela dinmica e grfico dinmico. Na primeira etapa do assistente devemos informar qual a fonte de dados que ser utilizada como base para a tabela dinmica. No nosso exemplo usaremos os dados da lista na prpria planilha do Excel. Certifique-se de que a opo Banco de dados ou lista do Microsoft Excel esteja selecionada, conforme indicado na Figura a seguir:
4. Clique no boto Avanar para seguir para a prxima etapa do assistente. 5. 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 a seguir. Caso seja necessrio voc pode alterar a faixa de dados.
6. Clique no boto Avanar para seguir para a etapa final do assistente. 7. Nessa etapa voc define se o relatrio de tabela dinmica ser construdo na prpria planilha onde esto os dados, ou em uma nova planilha. Selecione a opo Nova planilha, conforme indicado na Figura a seguir e clique em OK.
8. Voc estar de volta ao Excel. Nesse momento o Excel exibe uma planilha com as reas bem definidas da tabela dinmica (posteriormente existe a descrio dos elementos que compem uma 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. 9. Na Figura a seguir temos a tela inicial, onde os campos ainda no foram arrastados para as respectivas posies no relatrio de tabela dinmica.
10. No nosso exemplo vamos comear pelo campo Ano. Esse campo ser um item de pgina, ou seja, ao selecionarmos um valor para o ano, o relatrio ser filtrado para exibir o total de vendas apenas para o ano selecionado. 11. Arraste o campo Ano para a rea onde est escrito: Solte campos de pgina aqui. 12. O campo Nome da Empresa ir formar as linhas do nosso relatrio, ou seja, para cada cliente diferente, teremos uma linha diferente no relatrio. 13. Arraste o campo Nome da Empresa para a rea onde est escrito: Solte campos de linha aqui. 14. O campo Trimestre ir formar as colunas do nosso relatrio, ou seja, para cada trimestre diferente, teremos uma coluna diferente no relatrio. 15. Arraste o campo Trimestre para a rea onde est escrito: Solte campos de coluna aqui. 16. Os itens do nosso relatrio sero formados pelas vendas. 17. Arraste o campo Vendas para a rea onde est escrito: Solte itens de dados aqui. 18. Observe que, rapidamente, o Excel calcula, automaticamente o total de vendas por Empresa e por trimestre, conforme indicado na Figura a seguir: 19. Observe que tambm calculado o Total Global, com a soma dos quatro trimestres - coluna F, bem como o Total Global por cliente - linha 94.
Agora vamos aprender a utilizar os comandos que mostram a facilidade para obter diferentes visualizaes dos dados de uma tabela dinmica no Excel.
Exemplo: 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.
1. Abra a lista Ano, na parte de cima da tabela. Observe que so exibidos os valores para os anos em que existem pedidos, conforme indicado na Figura a seguir:
2. Clique no valor 1997 e depois clique em OK. Observe que os valores da tabela dinmica so filtrados para exibir apenas os totais correspondentes aos pedidos de 1997. Compare os valores desta Figura (somente pedidos para 1997) com os valores da figura com todos os pedidos.
3. Agora j tivemos, digamos assim, uma pequena idia do que possvel de ser feito com tabelas dinmicas. Com um simples clicar de mouse, aplicamos um filtro para o ano de 1997. 4. Vamos continuar testando as capacidades de filtragem da tabela dinmica. 5. Abra a lista Trimestre. Observe que so exibidos os valores para os trimestres do ano de 1997, nos quais existem vendas. Cabe lembrar que estamos com o filtro para o ano de 1997 ainda ativo. Caso no fossem exibidos os quatro trimestres na lista, isso significaria que no houve vendas para os trimestres que no estivessem sendo exibidos. Para o ano de 1997 existem vendas para todos os trimestres, conforme indicado na Figura a seguir:
6. Vamos supor que voc queira exibir apenas as vendas para o segundo semestre de 1997 (Trim3 e Trim4). Desmarque o Trimestre 1 e o Trimestre 2. Clique em OK. Observe que os valores da tabela dinmica so filtrados para exibir apenas os totais correspondentes aos pedidos do segundo semestre de 1997 (Trimestres 3 e 4). Compare os valores da primeira figura (somente pedidos para 1997) com os valores da Figura a seguir (somente os pedidos para o segundo semestre de 1997).
Vamos aprender a filtrar os dados usando o campo de pgina e tambm os campos de coluna e de linha.
Exemplo: Voltar a exibir o total de vendas para todos os pedidos, ou seja, retirar os filtros aplicados 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 a seguir e clique em OK:
3. Agora estamos sem nenhum filtro aplicado Tabela Dinmica. O prximo passo ser adicionar os campos Pas de Destino e Cidade de Destino, como campos de pgina. 4. Parra arrastar os campos preciso que a barra de ferramentas Tabela Dinmica, indicada na Figura a seguir, esteja sendo exibida:
Nota: Se a barra de ferramentas Tabela Dinmica no estiver sendo exibida, selecione o comando: Exibir -> Barra de ferramentas -> Tabela dinmica.
5. Clique no campo Pas de Destino e arraste-o para a rea de campos de pgina, ao lado do campo Ano. 6. Clique no campo Cidade de Destino e arraste-o para a rea de campos de pgina, ao lado do campo Pas de Destino. 7. A sua planilha deve estar conforme indicado na Figura a seguir:
8. Agora podemos aplicar filtros por Ano, por Pas de Destino e por Cidade de Destino. Vamos iniciar filtrando apenas o total de vendas para os pedidos do Brasil. 9. Abra a lista Pas de Destino. Observe que so exibidos os valores para todos os pases para os quais existem pedidos, conforme indicado na Figura a seguir:
10. Clique em Brasil e depois clique em OK. Observe que os valores da tabela dinmica so filtrados para exibir apenas os totais correspondentes aos pedidos do Brasil. 11. Agora, dentro do Brasil, vamos filtrar apenas o total de vendas para o ano de 1997, ou seja, ser calculado o total de vendas, por trimestre, para o ano de 1997. 12. Abra a lista Ano. Observe que so exibidos os valores para os anos em que existem pedidos. 13. Clique no valor 1997 e depois clique em OK. Observe que os valores da tabela dinmica so filtrados para exibir apenas os totais correspondentes aos pedidos de 1997 para o Brasil, conforme indicado na Figura a seguir:
14. Observe que no incio da planilha so exibidos os filtros que esto sendo aplicados. Pas de destino Brasil e Ano = 1997. 15. Vamos filtrar um pouco mais. Vamos definir que seja exibido o total de vendas, por trimestre, apenas para a Cidade de So Paulo, mantendo os critrios anteriores, ou seja, ficaremos com Brasil So Paulo 1997. 16. Abra a lista Cidade de Destino. Observe que so exibidos os valores para todos as cidades para as quais existem pedidos. Clique em So Paulo e depois em OK. Pronto, ser exibido o total de vendas apenas para os pedidos que atendem aos trs critrios: Brasil So Paulo 1997. 17. Observe que com o uso e tabelas dinmicas extremamente simples definir e alterar critrios de filtragem. De uma maneira rpida e fcil, podemos obter diferentes vises do mesmo conjunto de dados.