Вы находитесь на странице: 1из 87

1

LibreOffice Calc Avanado

Ueritom Ribeiro Borges


Revisor: Klaibson Natal Ribeiro Borges

Direitos Autorais
Este documento protegido por Copyright 2010 por seus contribuidores listados abaixo. Voc pode distribuir e/ou modificar este trabalho, tanto sob os termos da Licena Pblica Geral GNU (http://www.gnu.org/licenses/gpl.html), verso 3 ou posterior, ou da Licena de Atribuio Creative Commons (http://creativecommons.org/licenses/by/3.0/), verso 3.0 ou posterior. Todas as marcas comerciais dentro desse guia pertencem aos seus respectivos donos.

O trabalho LibreOffice Calc Avanado de Ueritom Ribeiro Borges e (revisor) Klaibson Natal
Ribeiro Borges foi licenciado com uma Licena Creative Commons - Atribuio 3.0 No Adaptada.

Contribuidores
Ueritom Ribeiro Borges Klaibson Natal Ribeiro Borges (Revisor)

Feedback
Por favor, direcione qualquer comentrio ou sugesto sobre este documento para: ueritom@yahoo.com.br e/ou klaibson@gmail.com

Uma Palavra Para Voc


Talvez ns nunca venhamos a lhe conhecer, mas escrevemos este livro pensando em ajudar VOC no seu trabalho, seja no seu escritrio, sala de aula ou escrevendo um livro, assim como eu fiz. Este e-book gratuito at as primeiras 1000 cpias. Mas se a sua leitura lhe ajudar em algo, agradeceria se voc pudesse comprar uma edio impressa no site http://www.clubedosautores.com.br , pesquise por LibreOffice Calc Avanado, LibreOffice ou pelo nome dos autores.

Muito obrigado antecipadamente pela sua participao.

UERITOM RIBEIRO BORGES KLAIBSON NATAL RIBEIRO BORGES (Revisor)

Agradecimentos

Queremos agradecer a Deus, que nos orientou e nos guiou at conhecer o Software Livre atravs do antigo BrOffice.Org a agora LibreOffice Quero agradecer nossa me, Bertolina Maffei, pela inspirao que ela sempre nos foi dada, pois escreveu um livro com poucos recursos na poca (1996) e sempre quisemos fazer a mesma coisa e agora conseguimos. Acompanhem seu blog www.beleza-e-natureza.blogspot.com Quero agradecer aos desenvolvedores, alunos, grupo de usurios e tantas pessoas que esqueci de mencionar, que de um forma ou de outra, nos inspiraram na criao desse livro.

Os Autores
Ueritom Ribeiro Borges Professor de informtica na Micromix Formao Profissional, em Palhoa/SC e entusiasta da informtica. Trabalha no tambm Facebook: com lngua inglesa, onde possui dois blogs: e www.inglesparaleigos.com e www.inglescommusica.net, que possuem tambm suas respectivas pginas www.facebook.com/inglesparaleigos www.facebook.com/inglescommusica. Klaibson Natal Ribeiro Borges Ps-graduando em Gerncia de Projetos de TI e Administrao de Empresas, ambos Unisul, Universidade do Sul de Santa Catarina, professor do Senai/SC, Unidade So Jos nos cursos de Aprendizagem Industrial e diversos Cursos Tcnicos. Trabalhou em diversas escolas profissionalizantes como instrutor de informtica e rotinas administrativas entre os anos de 2004 2009. Possui o blog, www.libreofficeparaleigos.org, tambm escreveu o ebook LibreOffice Para Leigos, superando os 11 mil downloas. Facebook: www.facebook.com/livreoffice e Twitter: @liboparaleigos

SUMRIO
NDICE DE ILUSTRAES...............................................................................2 1. FUNES INTERMEDIRIAS E AVANADAS........................................6 1.1 FUNO SE...............................................................................................8 1.2 FUNO CONT.SE.................................................................................13 1.3 FUNO SOMASE.................................................................................16 1.4 FUNO CONT.NM............................................................................19 1.5 FUNO CONT.VALORES...................................................................20 1.6 FUNES E E OU...................................................................................21 1.7. FUNO PROCV...................................................................................27 2. RECURSOS ADICIONAIS DO CALC..........................................................31 2.1 AUTOFILTRO..........................................................................................31 2.2 CLASSIFICAR DADOS...........................................................................37 2.3 VALIDAO...........................................................................................40 2.4 DEFINIR NOMES....................................................................................47 2.5 PROTEGER CLULAS...........................................................................49 2.6 EXERCCIOS...........................................................................................53 3. ASSISTENTE DE DADOS............................................................................54 3.1 TABELA DINMICA..............................................................................54 3.2 CRIANDO GRFICOS A PARTIR DE UMA TABELA DINMICA. .66 3.3 EXERCCIOS...........................................................................................74 4. MACROS........................................................................................................75 4.1 PROGRAMANDO MACROS E FUNES....................................80 4.2 - CRIANDO FUNES CALC NO BASIC........................................84

NDICE DE ILUSTRAES
Figura 1 Lista de categorias................................................................................6 Figura 2 Tabela onde ser utilizada a funo SE...............................................8 Figura 3 Funo SE............................................................................................9 Figura 4 Exemplo de preenchimento da funo SE.........................................10 Figura 5 Resultado da funo SE.....................................................................10 Figura 6 Outro exemplo usando a funo SE...................................................11 Figura 7 Funo SE usando frmulas...............................................................12 Figura 8 Planilha de reajuste preenchida..........................................................12 Figura 9 Tabela de exemplo da funo CONT.SE...........................................13 Figura 10 Tabela de apoio................................................................................13 Figura 11 Janela de configurao da funo CONT.SE...................................14 Figura 12 Preenchimento da funo CONT.SE...............................................15 Figura 13 Exemplo para utilizao da funo SOMASE.................................16 Figura 14 Tabela de apoio para a funo SOMASE........................................17 Figura 15 Preenchimento da funo SOMASE................................................18 Figura 16 Tabela preenchida com o uso da funo SOMASE.........................18 Figura 17 Tabela de apoio da funo CONT.NM.........................................19 Figura 18 Comparativo entre CONT.NM e CONT.VALORES...................20 Figura 19 Tabela verdade das funes E e OU................................................22 Figura 20 Tabela de controle de horas.............................................................23 Figura 21 Exemplo do resultado da funo enquanto o preenchimento est incompleto23 Figura 22 Resolvendo o problema do preenchimento incompleto...................24 Figura 23 Resultado da funes SE e OU........................................................25 Figura 24 Exemplo para uso da funo E com a funo SE............................25 Figura 25 Preenchendo a frmula para selecionar os clientes..........................26 Figura 26 Tabela preenchida com as funes E e SE.......................................26 Figura 27 Tabela de exemplo para uso da funo PROCV..............................27 Figura 28 Exemplo de preenchimento da funo PROCV...............................28 Figura 29 Exemplo de tabela preenchida com o auxlio de PROCV...............29 Figura 30 Corrigindo mensagem de erro..........................................................29 Figura 31 Tabela de exemplo para uso do recurso AutoFiltro.........................31 Figura 32 Opes de um dos menus de Filtragem...........................................32

8 Figura 33 Exemplo de uso de Filtro Simples...................................................32 Figura 34 Exemplo de mais de uma filtragem.................................................33 Figura 35 Caixa de dilogo Filtro Padro........................................................33 Figura 36 Exemplo de uso de filtro simples com filtro padro........................34 Figura 37 Exemplo de filtro usando mais de uma condio............................35 Figura 38 Resultado de filtragem usando mais de uma condio (Operador E)35 Figura 39 Exemplo de filtro com operador OU...............................................36 Figura 40 Resultado da filtragem usando operador OU...................................36 Figura 41 Tabela de exemplo para recurso Classificar Dados.........................37 Figura 42 Caixa de dilogo Classificar Dados.................................................38 Figura 43 Tabela depois de classificada...........................................................38 Figura 44 Exemplo de classificao usando dois critrios...............................39 Figura 45 Janela de Validao de dados..........................................................40 Figura 46 Validando clulas selecionadas........................................................41 Figura 47 Lista contendo os valores validados................................................42 Figura 48 Mensagem de erro padro de validao...........................................42 Figura 49 Janela para personalizao da mensagem de erro............................43 Figura 50 Exemplo da opo Parar..................................................................43 Figura 51 Exemplo da opo Aviso.................................................................44 Figura 52 Outro exemplo de validao............................................................45 Figura 53 Definir Nomes..................................................................................47 Figura 54 Tabela de apoio para Definir Nomes...............................................47 Figura 55 Janela de digitao de senha para proteo da planilha...................49 Figura 56 No possvel modificar clulas protegidas....................................50 Figura 57 Planilha utilizada para exemplo de proteo de clulas...................50 Figura 58 Janela de desproteo de clulas......................................................51 Figura 59 Exemplo de frmula aparecendo, mesmo a clula estando bloqueada52 Figura 60 Frmula Oculta................................................................................52 Figura 61 Tabela de exemplo para Assistente de Dados..................................54 Figura 62 Selecionando a origem dos dados....................................................54 Figura 63 Layout do Assistente de dados.........................................................55 Figura 64 Resultado do assistente de dados.....................................................56 Figura 65 Outro exemplo de tabela dinmica..................................................57 Figura 66 Mais um exemplo de tabela dinmica..............................................58

9 Figura 67 Janela para seleo da funo do Campo de Dados.........................59 Figura 68 Alterando a funo da tabela dinmica............................................59 Figura 69 Mensagem informando que no possvel alterar dados na tabela dinmica 60 Figura 70 Exemplo mostrando que a tabela dinmica no atualizada automaticamente .........................................................................................................................................61 Figura 71 Opo que atualiza a tabela dinmica..............................................61 Figura 72 Tabela dinmica atualizada..............................................................62 Figura 73 Janela de filtragem para tabelas dinmicas......................................62 Figura 74 Exemplo de configurao de filtro para Tabela Dinmica..............63 Figura 75 Resultado de filtragem na tabela dinmica......................................63 Figura 76 Exemplo de atualizao da filtragem com atualizao dos valores. 64 Figura 77 Outro exemplo de atualizao da filtragem com atualizao dos valores Figura 78 Assistente de grfico Escolha do tipo de grfico..........................66 Figura 79 Escolha do intervalo de dados..........................................................67 Figura 80 Intervalo que deve ser selecionado (em amarelo)............................68 Figura 81 Assistente de grfico personalizao das sries de dados.............69 Figura 82 Assistente de grfico Escolhendo ttulos e legendas.....................70 Figura 83 Assistente de grfico - exemplo de preenchimento dos Elementos do grfico .........................................................................................................................................71 Figura 84 Grfico depois de pronto..................................................................71 Figura 85 Janela de escolha de tipo de grfico.................................................72 Figura 86 Configurao do preenchimento do grfico.....................................73 Figura 87 Exemplo de grfico formatado.........................................................73 Figura 88 Janela de gravao de macro............................................................75 Figura 89 Tabela para exemplo de utilizao de macros.................................75 Figura 90 Exemplo de configurao de macros...............................................76 Figura 91 Janela para salvar a macro...............................................................76 Figura 92 Janela de seleo de macros.............................................................77 Figura 93 Macro aps executada......................................................................77 Figura 94 Excluindo Macros............................................................................78 Figura 95 Tabela para utilizao de novo exemplo de macro..........................78 Figura 96 Janela Colar Especial.......................................................................79 Figura 97 Tabela aps utilizao da macro......................................................79 Figura 98 Janela de edio do LibreOffice Basic.............................................80 65

10 Figura 99 Cdigo para Macro..........................................................................84 Figura 100 - Macro em execuo - parte 1..........................................................84 Figura 101 Macro em execuo parte 2........................................................84 Figura 102 Exemplo de tabela para demonstrao de funes........................86 Figura 103 Exemplo de cdigo criado para uma funo personalizada...........87 Figura 104 Exemplo de utilizao de funo criada pelo usurio....................88 Figura 105 Exemplo para criao de funo para clculo do IMC..................88 Figura 106 Exemplo da funo do IMC no BASIC.........................................88 Figura 107 Funo IMC aps preenchida........................................................89

11

1. FUNES INTERMEDIRIAS E AVANADAS


O LibreOffice Calc possui inmeras funes, com as mais diversas utilidades e nveis de dificuldades diferentes. Essas funes so separadas por categorias, que so as seguintes: Banco de dados; Data e hora; Financeiras; Informaes Lgicas; Matemticas; Matriciais; Estatsticas; Planilha; Texto; Suplemento.

Figura 1 Lista de categorias A lista da figura acima pode ser localizada ao acessar o Assistente de Funes (boto ). Ao selecionar uma categoria, o assistente mostra apenas as funes que pertencem quela categoria. Alm disso, existem tambm as opes Todas as Funes, que mostra a lista completa

12 independente de categoria, e Recm Utilizadas, que mostra apenas as que foram usadas recentemente. Neste captulo veremos algumas das funes mais utilizadas, onde ser dada uma breve descrio da mesma, alm de ser informado qual categoria pertence e sero utilizados exemplos, para melhor compreenso.

13

1.1 FUNO SE
Essa funo pertence categoria lgicas, e utilizada quando queremos que o Calc faa uma comparao de valores e retorne um texto, nmero ou faa um clculo dependendo do resultado da comparao. A funo efetua um teste (que geralmente feito comparando uma clula com um valor de referncia), e este teste retornar verdadeiro ou falso. Esta funo possui trs parmetros: Teste (obrigatrio): a comparao que ser feita para verificar se a condio verdadeira ou falsa. Para isso, podem ser utilizados os operadores > (maior que), < (menor que), = (igual), >= (maior ou igual a), <= (menor ou igual a) e <> (diferente de), alm de outras funes; Valor_ento (opcional): o que o Calc far caso o teste retorne verdadeiro. Pode ser um texto (neste caso, o valor deve estar entre aspas), um nmero ou at mesmo uma funo; Valor_seno (opcional): o que o Calc far caso o teste retorne Falso. Os itens possveis so os mesmos do Valor_ento. Para melhor compreenso, vamos utilizar o exemplo da imagem abaixo, que representa um boletim escolar, que contm as quatro notas bimestrais e a mdia de cada uma:

Figura 2 Tabela onde ser utilizada a funo SE Como todos sabemos, a mdia mnima para que o aluno seja aprovado 7,0. Baseado nisso, queremos que na coluna resultado aparea a palavra APROVADO, caso sua mdia tenha sido maior ou igual a 7,0 e REPROVADO caso sua mdia tenha sido inferior a 7. Para isso, primeiramente posicionamos o cursor na clula desejada (no caso, G2), em seguida abrimos o assistente de funes e localizamos a funo SE e clicamos em Prximo. A tela que ser exibida a seguinte:

14

Figura 3 Funo SE Deve-se ento preencher os valores Teste, valor_ento e valor_seno. Em teste, devese colocar que se est verificando e o valor que se est comparando (valor de referncia). Em nosso exemplo, o valor que est sendo verificado a Mdia, que est em F2, e o valor de referncia 7, pois a mdia mnima desejada 7. Como a mdia deve ser maior ou igual a 7 para que o aluno seja aprovado em cada disciplina, deve-se digitar ento F2 >= 7 no campo Teste. Como no sabemos de antemo se essa condio ser verdadeira ou falsa (e tambm porque o valor pode variar), temos que prever as duas situaes. Para isso existem os campos Valor_ento, que prev o que dever ser feito quando o teste resultar verdadeiro, e Valor_seno, que prev caso seja falso. Neste exemplo ser preenchido APROVADO para Valor_ento (sempre que for um texto, dever ser colocado entre aspas) e REPROVADO para Valor_seno. A janela dever ficar assim:

15

Figura 4 Exemplo de preenchimento da funo SE Na clula G2 aparecer escrito REPROVADO, pois a mdia em F2 6,8 que menor que 7, resultando portanto em FALSO. Caso seja alterada alguma das notas para cima, de modo que a mdia fique superior a 7, o valor de G2 mudar automaticamente para APROVADO, pois a condio passar a ser verdadeira. Aps isso, pode-se copiar a frmula de G2 e copiar para as clulas abaixo dela, que o Calc atualizar a frmula para as linhas correspondentes, e a planilha ficar como na figura abaixo:

Figura 5 Resultado da funo SE No exemplo acima, foi utilizado apenas texto para os resultados VERDADEIRO e FALSO desta funo. No entanto, nada impede que no lugar disso sejam utilizados nmeros e at mesmo outras frmulas e/ou funes. Vejamos outro exemplo:

16

Figura 6 Outro exemplo usando a funo SE Suponha que a tabela acima seja a folha de pagamento de uma empresa, e que todos recebero reajuste salarial baseado no seu salrio, de acordo com a lista a seguir: Para quem ganha at R$1.400, o reajuste ser de 10%; Para quem ganha acima desse valor, o reajuste ser de 7%. O valor de referncia nesse novo exemplo R$1.400, portanto o teste ser B2 <= 1400 (para o funcionrio Ricardo, pois o valor de seu salrio est em B2). Em valor_ento, usa-se a frmula B2 * 10%, pois o reajuste (10%) calculado em cima do salrio (B2). Em valor_seno, usa-se B2 * 7%.

Figura 7 Funo SE usando frmulas

17 Para calcular o valor do salrio reajustado (D2), usa-se a frmula =B2+C2, pois o valor do novo salrio ser o salrio atual (B2) mais o valor do reajuste (C2). Para as linhas seguintes, a frmula ser a mesma, devendo-se apenas substituir B2 por B3, B4, B5, etc. e C2 por C3, C4, C5... A planilha completa ficar assim:

Figura 8 Planilha de reajuste preenchida

18

1.2 FUNO CONT.SE


Esta funo da categoria Matemticas, e usada sempre que desejamos saber a quantidade de vezes que determinado valor se repete num intervalo. Veja a tabela abaixo:

Figura 9 Tabela de exemplo da funo CONT.SE Essa tabela simula as vendas de uma concessionria de veculos em uma semana. Para facilitar, inseri apenas o nome do cliente e o veculo que ele levou, e coloquei apenas 3 diferentes tambm para no complicar. Como a tabela pequena, fica fcil verificar quantos veculos de cada modelo foram vendidos. Imagine agora se a tabela contivesse 500 registros e 15 modelos diferentes de veculos. Seria bem mais trabalhoso no? Para isso existe esta funo. Veremos agora como usar a funo CONT.SE para contar quantas vezes cada carro foi vendido nesta tabela. Faremos uma nova tabela que mostrar os totais:

Figura 10 Tabela de apoio

19 Calcularemos primeiro o total de vendas do Gol. Para isso, posicione o cursor na clula E3 e abra o Assistente de Funes. Localize ento a funo CONT.SE (categoria Matemticas) e clique em Prximo. A janela que dever aparecer a seguinte:

Figura 11 Janela de configurao da funo CONT.SE A funo CONT.SE possui dois argumentos, que so obrigatrios: o intervalo, que indica em quais clulas ser feita a verificao, e critrios, que define o que ser verificado. No campo critrio, pode-se usar os operadores matemticos <, >, <>, <=, >= e =. No caso do sinal de igual (=), este pode ser omitido, digitando-se apenas o valor a ser pesquisado, que pode ser texto (entre aspas), nmeros ou um endereo de clula, e neste caso o Calc comparar com o valor da clula em questo. Para nosso exemplo, o intervalo ser $B$2:$B$10, pois so essas clulas que contm os valores a serem verificados. J em critrios, pode-se digitar tanto Gol (texto) quanto D3 (clula de referncia, que contm a palavra Gol). No entanto, melhor usar o endereo da clula por dois motivos: o primeiro que, se o valor de D3 for modificado, o CALC automaticamente recontar para este novo valor, e o segundo que facilita para copiar a frmula e colar nas linhas seguintes, pois o CALC atualiza de acordo com a linha. Isso quer dizer que se voc copiar a frmula que est na clula E3 para a clula E4, a o campo critrios ser atualizado automaticamente para D4, pois nesse caso est se referindo quela linha e far a verificao para o valor seguinte (Fox). J se for

20 preenchido com Gol, o Calc continuar comparando com Gol, mesmo que eu deseje comparar agora o Fox. A janela preenchida dever ficar assim:

Figura 12 Preenchimento da funo CONT.SE Aps o preenchimento da frmula em todas as clulas, o Calc dever retornar os seguintes valores: GOL = 2; FOX = 4; Ka= 3.

21

1.3 FUNO SOMASE


Tambm da categoria Matemticas, a funo SOMASE efetua a soma dos valores em um determinado intervalo, baseado na condio estabelecida. Vamos considerar, como exemplo, a tabela abaixo, que contm as vendas dos funcionrios de uma loja em um determinado dia:

Figura 13 Exemplo para utilizao da funo SOMASE A loja do exemplo acima possui trs vendedores: Jos, Fernanda e Arnaldo. Sabemos que o total de vendas dos trs foi R$1.771,00. Mas quanto vendeu cada um? Para saber, recorremos funo SOMASE. Antes, porm vamos colocar fazer outra tabelinha do lado, com o nome de cada vendedor, para que o Calc retorne o valor de venda de cada um:

Figura 14 Tabela de apoio para a funo SOMASE

22 Depois de criarmos a segunda tabela, colocaremos o cursor em E5, abriremos o assistente de funes, localizaremos a funo SOMASE e clicaremos em Prximo. Esta funo possui trs parmetros: Intervalo (obrigatrio): o intervalo de clulas que contm os valores a serem verificados. No nosso exemplo, de A2 at A12 (A2:A12); Critrios (obrigatrio): funciona da mesma maneira que na funo SOMASE. Para o caso do Arnaldo, deve ser preenchido com E5 ou Arnaldo; Soma_intervalo (opcional): define o intervalo que ser somado nas linhas em que o critrio for atendido. Se for deixado em branco, o Calc assume que o soma_intervalo igual ao intervalo. Como no isso que queremos, preencheremos este campo com os valores corretos, que no caso B2:B12. O preenchimento dever ficar assim:

Figura 15 Preenchimento da funo SOMASE O que foi feito acima foi o seguinte: nas linhas em que a coluna A contm Arnaldo, soma-se o valor da coluna B na mesma linha. Caso contrrio, no soma. O valor da frmula para o caso do Arnaldo dever ser R$325,00, o de Fernanda R$878,00 e o de Jos ser R$568,00, de acordo com a figura abaixo:

23

Figura 16 Tabela preenchida com o uso da funo SOMASE

24

1.4 FUNO CONT.NM


Pertencente categoria matemticas, a nica funo desta funo contar quantas clulas contm valores numricos no intervalo determinado, ignorando texto e clulas em branco. Para exemplificar, usaremos novamente o boletim que foi usado para exemplificar a funo SE. Suponhamos que desejssemos saber quantas clulas possuem valores numricos (notas) em todo o intervalo da tabela, que vai de A1 at G6:

Figura 17 Tabela de apoio da funo CONT.NM Selecionaremos ento a clula B10 para inserir a funo e digitaremos

=CONT.NM(A1:G6), ou se preferir, chamar o Assistente de funes, localizar a funo CONT.NM e, em valor 1, digitar o intervalo. O valor que a funo retornar ser 25, pois essa a quantidade de clulas que a possuem valores numricos naquele intervalo.

25

1.5 FUNO CONT.VALORES


Diferentemente da funo CONT.NM, que pertence categoria Matemticas, esta funo pertence categoria Estatsticas. Enquanto a primeira funo soma apenas clulas que contm nmeros, a funo CONT.VALORES soma clulas que possuem qualquer tipo de dados (texto, nmero, sinais e at espao em branco) no contando apenas clulas vazias. importante ressaltar que se for pressionada a barra de espaos no teclado, o Calc no a considera mais aquela clula como vazia, e ser contada na funo. Como exemplo, usaremos o mesmo exemplo acima, para verificarmos a diferena. Ponha o cursor em B11 e digite =CONT.VALORES(A1:G6), ou se preferir use o Assistente de Funes. Veja o comparativo das duas funes no mesmo exemplo:

Figura 18 Comparativo entre CONT.NM e CONT.VALORES

26

1.6 FUNES E E OU
Estas funes foram colocadas juntas, pois tem funo muito semelhante: ambas fazem comparao de pelo menos duas condies e retornam VERDADEIRO ou FALSO, dependendo das condies. As duas funes pertencem categoria Lgicas. Tanto a funo E quanto a funo OU so raramente usadas sozinhas, pois se o forem, o resultado ser apenas a palavra VERDADEIRO ou a palavra FALSO. Elas so utilizadas geralmente de auxiliares para outras funes, principalmente a funo SE. Antes de vermos um exemplo de cada funo importante entendermos a diferena de uma para outra. Como informado, ambas as funes precisam de pelo menos duas condies para funcionar, o que faz com que a sintaxe das duas seja a seguinte: Funo E =E(condio 1; condio 2; ...condio N); Funo OU =OU(condio 1; condio 2; ...condio N) As condies 1 e 2 foram negritadas por serem obrigatrias, enquanto que as restantes so opcionais. Cada condio independente, ou seja, uma pode ser verdadeira e outra falsa. A funo retornar VERDADEIRO ou FALSO dependendo das condies, e obedecendo aos seguintes critrios: Funo E: retornar VERDADEIRO somente se TODAS as condies forem verdadeiras. Havendo pelo menos uma falsa, o resultado ser FALSO; Funo OU: retornar FALSO apenas se TODAS as condies forem falsas. Havendo pelo menos uma verdadeira, o resultado ser VERDADEIRO. Para exemplificar, vamos ver alguns exemplos: =E(2>3;5=4) retorna FALSO, pois 2 no maior que 3 (FALSO) e 5 no igual a 4 (FALSO); =E(31>18;23<20) retorna FALSO, pois apesar de 31 ser maior que 18 ( VERDADEIRO), 23 no menor que 20 (FALSO). Como temos uma verdadeira e uma falsa, retorna FALSO; =E(3=3; 7 > 2) retorna VERDADEIRO, pois 3 igual a 3 e 7 maior que 2. Como todas as condies so verdadeiras, retornou VERDADEIRO; =OU(3=4;5>7) retorna FALSO, pois 3 no igual a 4 (FALSO) nem 5 maior que 7. Quando ambas as condies so falsas, o resultado FALSO;

27 =OU(4>2;(32/4=9)) retorna VERDADEIRO, pois 4 maior que 2

(VERDADEIRO). Mesmo a segunda condio (32/4=9) sendo falsa, na funo OU necessrio que apenas uma condio seja verdadeira para que a funo retorne VERDADEIRO; =OU(15>10;17<20) retorna VERDADEIRO, pois ambas so verdadeiras. O uso das funes E e OU pode ser resumido nas tabela abaixo: E OU V F V F Verdadeiro V F V V Falso F F V F Figura 19 Tabela verdade das funes E e OU Como mencionado anteriormente, essas duas funes so geralmente utilizadas como auxiliares de outras funes, principalmente a funo SE. Vamos ver um exemplo de cada uma delas como auxiliar, iniciando pela funo OU. Imagine que voc trabalha por hora e por isso precisa ter um controle de quantas horas trabalhou no ms.Voc poderia fazer uma planilha parecida com a seguinte:

Figura 20 Tabela de controle de horas A princpio, tudo parece estar certo, pois foi usada uma funo que calcula a diferena entre a hora de sada (C2) e a hora de entrada (a frmula usada em D2 foi =C2-B2). Essa funo vai calcular o que desejamos, que a quantidade de horas trabalhada em cada dia. Porm temos um pequeno problema: enquanto tivermos digitado apenas um dos valores (B2 ou C2), o valor de D2 ficar incorreto, pois como ele calcula a diferena entre B2 e C2 e um dos valores est em branco, o Calc considera esse valor como sendo zero. Veja:

28

Figura 21 Exemplo do resultado da funo enquanto o preenchimento est incompleto No caso da figura acima, C3 est em branco e por isso o Excel considera o valor faltante como sendo zero (convertido em horas igual meia-noite). Como das 14hs at a meia-noite se passam 10 horas, esse valor que o Calc preenche em D3. Para evitar que isso ocorra, podemos aperfeioar a frmula em D3 para que o clculo seja feito apenas quando ambos os valores estiverem preenchidos, caso contrrio D3 fica em branco. A frmula a ser usada a seguinte:

Figura 22 Resolvendo o problema do preenchimento incompleto O que foi feito acima foi o seguinte: usamos uma funo SE, que em seu Teste usa uma funo OU. O trecho =OU(B3=;C3=) verifica se B3 ou C3 (ou ambas) esto em branco. Enquanto pelo menos uma das duas estiver em branco, retornar VERDADEIRO e o valor em D3 ser em branco tambm. Para que o que teste retorne FALSO, necessrio que ambas as clulas estejam preenchidas, e nesse caso a funo executar o clculo (Teste_seno). Veja isso na prtica:

29

Figura 23 Resultado da funes SE e OU A figura acima mostra trs situaes: apenas B3 preenchido, apenas C3 preenchido e ambos preenchidos. Note que apenas no ltimo caso, o valor de D3 aparece, que era o nosso objetivo inicial. Vamos agora ver um exemplo da funo E dentro da funo SE. Suponhamos que voc tenha a lista de clientes abaixo, e voc vai fazer a oferta de algum produto:

Figura 24 Exemplo para uso da funo E com a funo SE No entanto, esta oferta no ser feita a todos, e sim apenas aos que atendem aos critrios estabelecidos, que no nosso caso : idade a partir de 30 anos e renda a partir de R$1.500. Na coluna D, dever ser escrito SIM para os clientes que atenderem os dois critrios e NO para os clientes que atenderem apenas um dos critrios (tanto faz se a idade ou a renda) ou nenhum.

30

Figura 25 Preenchendo a frmula para selecionar os clientes O que foi feito no exemplo da figura acima foi: primeiro usamos a funo E no teste da funo SE para que a mesma verifique quais atendem os critrios determinados. Para os que atenderem os critrios, retornar SIM (valor_ento), e para os que no atenderem, retornar NO (valor_seno). Depois de preencher a frmula para a primeira linha, pode-se copiar e colar para todas as linhas seguintes, na coluna D. A tabela preenchida dever ficar assim:

Figura 26 Tabela preenchida com as funes E e SE

31

1.7. FUNO PROCV


Esta funo pertence categoria Planilha e utilizada em matrizes de dados (tabelas com pelo menos duas linhas e duas colunas) para pesquisa de valores. Ela pesquisa um valor na primeira coluna da matriz e, caso seja localizado, retorna o valor de qualquer coluna, na linha onde o valor procurado foi localizado. Vamos a um exemplo: digamos que voc tem uma locadora de filmes e deseja controlar as vendas atravs de uma planilha do Calc. A tabela poderia ser como na figura abaixo:

Figura 27 Tabela de exemplo para uso da funo PROCV Na tabela acima, as colunas A at E sero usadas para registros das locaes e das colunas H at J constam os filmes que esto cadastrados (obviamente uma locadora teria muito mais filmes, que poderiam inclusive estar em outra planilha, porm foram usados poucos apenas para exemplificar). O que a funo PROCV pode fazer por ns nesse caso : ao preenchermos o nome do filme, na coluna B, podem ser preenchidos automaticamente o valor e a categoria do mesmo, se for localizado na tabela de filmes. Antes de usarmos a funo, vejamos os parmetros da mesma: Critrios de pesquisa (obrigatrio): o valor que ser procurado (no nosso caso o nome do filme), lembrando que essa funo pesquisa apenas na primeira coluna da tabela; Matriz (obrigatrio): o intervalo onde esto os dados; ndice (obrigatrio): o nmero da coluna onde se deseja que se retorne o valor. No nosso caso, a coluna H a coluna 1, a coluna dos valores a 2 e a das categorias a nmero 3. Ordem de classificao (opcional): pode ser preenchido com VERDADEIRO (ou o nmero 1), FALSO (ou o nmero 0) ou deixado em branco. Caso seja VERDADEIRO, ser necessrio classificar os dados em ordem alfabtica, caso

32 contrrio dar mensagem de erro. Se for falso, no necessrio classificar. Se for deixado em branco, assumir o valor VERDADEIRO. Agora sim vamos tabela. Selecione a clula do valor (C2), abra o Assistente de Funes e digite o seguinte:

Figura 28 Exemplo de preenchimento da funo PROCV Em critrio de pesquisa, foi utilizado o valor B2 pois nessa clula que contm o nome do filme. Aps o mesmo ser digitado, ser pesquisado na primeira coluna da tabela dos filmes (H2:J9). O ndice 2 indica que se o critrio for achado na primeira coluna, retornar o valor que est na coluna 2 (valor) da linha onde o critrio foi localizado. Feito isto, selecione C2 e faa o mesmo procedimento. A nica alterao que o ndice ser 3 e no mais 2, pois agora desejamos saber a categoria, que a terceira coluna da tabela. Veja abaixo um exemplo de como poderia ficar a tabela preenchida:

Figura 29 Exemplo de tabela preenchida com o auxlio de PROCV

33

Voc deve ter notado que na linha 7 aparecem duas vezes o valor #N/A. Isso ocorre porqu o valor de referncia B7, que est em branco. Como o valor em branco () no existe na tabela, aparece o #N/A, que significa Valor no disponvel. Para corrigir esse erro simples, basta usar uma funo SE para que, se B7 estiver em branco, o valor da clula seja (em branco), e execute a funo PROCV apenas se existir algum texto. A funo para C7 ficaria mais ou menos assim:

Figura 30 Corrigindo mensagem de erro Seria interessante usar esta funo a partir j da primeira linha, pois sempre que a clula onde o valor ser pesquisado estiver em branco, aparecer esta mensagem. til inseri-la logo na primeira linha, e assim que ela estiver concluda, copiar e colar a frmula nas linhas seguintes.

34

2. RECURSOS ADICIONAIS DO CALC


Alm de funes, o Calc possui vrios recursos que podem agilizar e/ou facilitar a vida de quem est utilizando o software. So recursos para classificar, limitar valores, proteger, etc. Vamos estudar alguns deles a partir de agora.

2.1 AUTOFILTRO
O AutoFiltro um recurso que permite selecionar alguns valores da planilha, que atendem ao(s) critrio(s) especificado(s). Pode-se usar tanto critrios simples de pesquisa quanto critrios personalizados. Para acessar, deve-se colocar o cursor em qualquer clula da linha que contm o rtulo (nome dos campos, ex: nome, idade, etc) e depois selecionar o menu Dados Filtrar AutoFiltro. Do lado de cada clula da linha selecionada aparecer o smbolo podemos iniciar a filtragem de valores. Veja exemplo: , que indica que j

Figura 31 Tabela de exemplo para uso do recurso AutoFiltro Como voc deve ter percebido, o smbolo mencionado no pargrafo anterior apareceu ao lado de Nome, Idade e Sexo, que esto todos na mesma linha. Esse smbolo um boto clicvel, e quando se clica em cima de um deles aparecero os seguintes itens: Todas: essa opo utilizada quando foi aplicado algum filtro e queremos que todos os itens sejam mostrados novamente. como se a filtragem fosse desfeita;

35 10 primeiros: mostra apenas os dez primeiros itens da lista para aquele filtro, independentemente de outros critrios; Filtro Padro: permite usar critrios personalizados de filtro. Ser estudado mais adiante. Alm dessas trs opes, aparecero logo abaixo alguns itens, que nada mais so do que os itens que constam naquela coluna. Por exemplo, se selecionarmos o boto do lado da coluna C (Sexo), aparecero M e F, que so as opes disponveis para esta coluna:

Figura 32 Opes de um dos menus de Filtragem Se clicarmos na opo M, a lista ser filtrada, e sero mostrados apenas as linhas que contm M no sexo:

Figura 33 Exemplo de uso de Filtro Simples Note que, assim que um filtro aplicado a uma coluna, o boto muda de cor, passando a ficar azul. Se forem aplicados filtros a outras colunas, acontecer o mesmo com elas:

36

Figura 34 Exemplo de mais de uma filtragem No caso acima, selecionamos o valor Pablo na coluna de Nomes, e como existia apenas um Pablo, foi o que retornou. Caso houvessem mais, seria mostrado um em cada linha. Alm dos filtros simples, existe tambm a opo Filtros Padro (que nada mais so que filtros Personalizados). Suponhamos que quisssemos visualizar todas as pessoas do sexo masculino cuja idade seja maior que 25 anos. Nesse caso, primeiramente temos que selecionar Todas na coluna Nome, para voltar como estava antes. Aps isso, selecionamos a opo Filtro Padro. A seguinte caixa de dilogo surgir:

Figura 35 Caixa de dilogo Filtro Padro Nesta caixa de dilogo existem: Nome do campo: qual campo ser utilizado na filtragem (neste exemplo, existem as opes Sexo, nome e Idade); Condio: contm um operador matemtico que ser usado para comparao, os quais so os seguintes: =, >, <, >=, <= e <>, que j foram estudados anteriormente, alm das seguintes opes: o Maior: mostra os n maiores valores da lista. Por exemplo, se voc selecionar esta opo e em valor digitar 5, aparecero apenas os 5 maiores valores da lista; o Menor: idem ao anterior, porm com os menores. o Maior %: mostra os n% maiores valores da lista. Por exemplo, se sua lista contm 50 valores e voc seleciona esta opo e em valor digita 30, sero mostrados apenas os 15 maiores valores (15 equivale a 30% de 50);

37 o Menor %: idem ao anterior, porm com os menores. Valor: o valor de referncia, que ser comparado com os outros para que se decida quais valores sero mostrados e quais no sero. Voltando ao nosso exemplo, para que sejam mostrados apenas os que tem mais de 25 anos, configure da seguinte maneira: Nome do campo: Idade; Condio: > (maior); Valor: 25. Clique em OK. A tabela dever ficar assim:

Figura 36 Exemplo de uso de filtro simples com filtro padro Da mesma maneira, podem ser usados filtros para calcular valores inferiores a um valor x, iguais ou diferentes. necessrio apenas ter cuidado com o maior (>) e maior ou igual (>=), pois no primeiro caso sero localizados apenas os valores que so superiores ao valor determinado, enquanto no segundo caso o valor entra junto na lista, caso haja. Por exemplo: se tivssemos colocado no exemplo acima para localizar os valores maiores ou iguais a 25, e houvesse 25 na lista, o mesmo teria sido mostrado. O filtro padro pode ser usado para filtrar mais de uma condio ao mesmo tempo. Por exemplo, se quisermos que seja mostrado apenas os que tm idade entre 20 e 30 anos, inclusive, no ser possvel usando apenas filtro simples. Teremos que acessar o filtro padro para este caso. No filtro padro podem ser usados os operadores E e OU, que tem o mesmo sentido das funes E e OU, vistas anteriormente. Ento, para o exemplo do pargrafo anterior, configuramos da seguinte maneira:

38

Figura 37 Exemplo de filtro usando mais de uma condio No exemplo acima, foi usado filtro E, que s retorna os valores em que todas as condies forem verdadeiras. No nosso exemplo, as condies foram: idade maior ou igual a 20 E idade menor ou igual a 30. Quem tem 52, por exemplo, atende primeira condio, que idade maior ou igual a 20, porm no atende segunda, que idade menor ou igual a 30. Por isso, no mostrado. A lista que contm os valores que atenderam aos dois critrios a seguinte:

Figura 38 Resultado de filtragem usando mais de uma condio (Operador E) J o operador OU faz com que sejam mostrados todos os critrios que tenham pelo menos uma condio verdadeira, no importando o resultado das outras. Por exemplo, iremos inverter agora, queremos que sejam mostrados apenas os que tenham menos de 20 e mais de 30. Com o operador E no seria possvel, pois no tem como um valor ser menorque 20 e maior que 30 ao mesmo tempo. Para isso, usaremos o operador OU, e a configurao seria a seguinte:

Figura 39 Exemplo de filtro com operador OU

39

E o resultado seria o seguinte:

Figura 40 Resultado da filtragem usando operador OU Caso voc no queira mais utilizar AutoFiltros, s remov-los, clicando novamente em Dados Filtrar AutoFiltro que ele desaparecer.

40

2.2 CLASSIFICAR DADOS


Esta opo est localizada no menu Dados e serve para fazer a classificao de valores, em ordem crescente ou decrescente, seguindo um ou mais critrios. Para melhor compreenso, vamos usar a figura abaixo, que quase igual figura do item anterior, porm com apenas uma coluna a mais:

Figura 41 Tabela de exemplo para recurso Classificar Dados A tabela acima contm os seguintes campos: Nome, Idade, Sexo e Cidade. Suponhamos que precisemos classificar os clientes em ordem alfabtica por nome. Para isso, temos que selecionar toda a tabela (e no apenas a coluna dos nomes, seno ir classificar apenas essa coluna e os dados ficaro misturados). Aps isso, iremos em Dados Classificar, e aparecer ento a seguinte caixa de dilogo:

41

Figura 42 Caixa de dilogo Classificar Dados Por enquanto, utilizaremos apenas a primeira parte, que o item Classificar por. Como queremos classificar por nome, no precisa alterar nada ali por enquanto. A ordem pode ser crescente, que de A at Z (ou do menor para o maior, no caso de nmeros), ou decrescente, que de Z at A (ou do maior para o menor). Vamos colocar decrescente e dar OK. A tabela ficar assim:

Figura 43 Tabela depois de classificada O primeiro item a ser classificado no precisa ser necessariamente o da primeira coluna. No nosso caso, poderia por exemplo ter sido classificado primeiro por idade, ao invs de nome. Neste caso, teramos os mais velhos primeiro, at chegar nos mais novos (caso fosse selecionado decrescente).

42 Na classificao feita acima, foi usado apenas o primeiro critrio de classificao por no haver nenhum dado repetido (todos os nomes eram diferentes). Mas e se tivssemos valores iguais, como o Calc saberia qual classificar primeiro? Para isso existe a opo em seguida por, de preenchimento opcional, que faz com que, caso o primeiro valor se repita, ele faz a verificao atravs deste segundo elemento, para definir qual vir em seguida. Por exemplo, se classificarmos primeiramente por cidade, veremos que So Paulo aparece duas vezes, sendo uma para Fbio e outra para Pedro. Vamos agora classificar por Cidade crescente e por Nome Decrescente. Isso far com que o registro de Pedro aparea primeiro que o de Fbio, pois como a cidade empatou, o critrio de desempate o nome. Como selecionamos decrescente, o Pedro vir primeiro que o Fbio, e vice-versa. Veja:

Figura 44 Exemplo de classificao usando dois critrios Caso seja necessrio, possvel ainda efetuar um terceiro critrio de classificao, que funcionaria da mesma maneira. Por exemplo, se o segundo critrio de classificao fosse o sexo, Pedro e Fbio teriam empatado novamente, sendo necessrio um terceiro critrio, que poderia neste caso ser tanto nome quanto idade, crescente ou decrescente. Para isso, bastaria configurar o segundo Em seguida por.

43

2.3 VALIDAO
Este recurso est presente no menu Dados, e serve para limitar os valores que podem ser usados em determinada clula. Por padro, as clulas aceitam qualquer tipo de valor (nmeros, texto, porcentagem, data, etc.). No entanto, existem alguns casos que necessitam, ou pelo menos seria mais til, que fossem delimitados certos tipos de valores, para evitar que sejam preenchidos valores que no cabem em determinada clula. Para acessar o recurso de Validao de Dados, primeiramente selecione as clulas que sero afetadas. Depois, acesse o menu Dados Validade. Aparecer a seguinte janela:

Figura 45 Janela de Validao de dados Veja um exemplo: suponha que voc trabalha numa revendedora de veculos e tem que fazer a planilha de controle de vendas. Digamos que existam trs vendedores (por exemplo: Paulo, Ricardo e Joo) e cinco carros (Gol, Fox, Palio, Civic e Corsa). Vamos selecionar primeiramente a coluna dos nomes, as clulas que sero utilizadas, depois acessaremos a janela de Validao, e selecionaremos a opo Lista. Aps isso, em Entradas, digite os nomes que voc quer que sejam possveis utilizar, um em cada linha. Para passar para a linha seguinte, pressione ENTER. Caso

44 voc deseja que os nomes sejam classificados em ordem alfabtica, marque Classficar os valores em ordem crescente. A lista preenchida ficar mais ou menos assim:

Figura 46 Validando clulas selecionadas Feito isso, clique em OK. Voc voltar para a planilha, porm ao selecionar uma das clulas que foram validadas, aparecer o smbolo , que ao ser pressionado mostrar uma caixa de seleo contendo os valores que foram digitados na lista. Veja:

Figura 47 Lista contendo os valores validados

45 Isso quer dizer que, no intervalo que foi feita a validao, ser permitido digitar ou selecionar apenas os valores que esto na lista. Caso voc digite um valor diferente dos valores da lista, aparecer uma mensagem de erro, similar a esta:

Figura 48 Mensagem de erro padro de validao Essa mensagem a mensagem padro de erro. No entanto, voc pode escrever a sua prpria. Para isto, selecione novamente as clulas que foram/sero validadas e selecione a opo de Validao de Dados novamente. Em seguida, acesse a aba alerta de erro. Apacer a seguinte janela:

Figura 49 Janela para personalizao da mensagem de erro. Na figura acima, j foram preenchidos os valores. Essa janela contm os seguintes itens: Ao: que tipo de ao ser efetuado pelo Calc. Pode ser de trs tipos: o Parar: faz com que o usurio tenha que alterar obrigatoriamente o valor digitado para um dos valores da lista. Aparece apenas o boto OK;

46

Figura 50 Exemplo da opo Parar o Aviso: permite que o usurio escolha entre aceitar o valor que no est na lista ou no. Possui os botes OK e Cancelar, que se pressionados, faro com que o valor que no est na lista seja aceito ou no, respectivamente;

Figura 51 Exemplo da opo Aviso o Informaes: idem ao aviso. Ttulo: o que aparecer na barra de ttulos (a barra azul da mensagem); Mensagem de erro: a mensagem propriamente dita, informando sobre o erro ocorrido. Outras colunas podem ser validadas tambm, usando tanto a opo lista quanto outras opes. Para a coluna do veculo, podemos usar a opo lista novamente, incluindo agora os nomes dos veculos, e no alerta de erro podemos escrever para selecionar um veculo da lista. J para a coluna do preo, usaremos a opo Nmero Decimal, pois no exemplo colocaremos que o valor mnimo R$10.000. Para isso, temos que selecionar em Dados a opo Maior que e, em Mnimo, digitarmos 10000 (sem pontos, vrgulas etc., a menos que se queira usar um valor quebrado como mnimo, por exemplo, 10345,32). Veja exemplo:

47

Figura 52 Outro exemplo de validao Para este caso, colocaramos o alerta de erro a mensagem O valor mnimo aceitvel R$10.000,00 ou algo do tipo. Alm de Lista e nmero decimal, podem ser validados os seguintes tipos de dados: Data; Hora; Nmero inteiro; Comprimento de texto. Todos esses, com exceo de lista, podem ser validados comparando valores, usando os seguintes operadores matemticos: Igual a; Maior que; Menor que; Menor ou igual a; Maior ou igual a; Diferente de; Entre; No est entre.

48 Cada opo selecionada dever ser preenchida com um tipo de valor diferente. Por exemplo, ao selecionar Maior ou igual a, deve-se preencher o valor mnimo. Ao selecionar Menor que, dever ser preenchido o valor mximo. Ao selecionar Entre, deve-se preencher o valor mximo e o valor mnimo permitidos, e assim por diante.

49

2.4 DEFINIR NOMES


Normalmente, sempre que queremos calcular a soma, mdia ou qualquer outra funo que necessite de um intervalo, usamos o nome da funo e digitamos o endereo das clulas como parmetro do intervalo. Por exemplo, se existem valores a serem somados em B2, B3, B4 e B5, a frmula (que talvez esteja em B6) ficaria assim: =SOMA(B2:B5) No h nada errado com essa frmula. No entanto, esse intervalo (ou qualquer outro) pode ser nomeado, para termos facilitar a localizao e/ou compreenso do mesmo. Para isto, existe o recurso Definir Nome, que est localizado no menu Inserir (subitem Nomes Definir ou CTRL + F3 no teclado):

Figura 53 Definir Nomes Para melhor compreenso, vamos utilizar um exemplo. Vamos voltar novamente ao boletim escolar:

Figura 54 Tabela de apoio para Definir Nomes

50 Se voc clicar em F2, ver que a frmula que aparece =SOMA(B2:E2), pois este intervalo contm as clulas das notas, que so os valores que deveriam ser somados. Vamos deixar como est por enquanto. Agora vamos selecionar de B2 a E2 e em seguida acessar Inserir Nomes Definir. Em seguida aparecer a janela da figura 53. Em Nome, digite Portugues (sem as aspas e de preferncia sem acento) e clique OK. Agora, clique em F2 e edite a frmula. Apague o valor entre parnteses (B2:E2) e substitua por Portugues (o nome que foi dado ao intervalo). A frmula dever ficar =SOMA(Portugues). Pressione ENTER. Voc ver que o resultado no foi modificado (caso tenha modificado, reveja, pois haver algo errado), mas isso que deve acontecer mesmo. Isso ocorreu porqu isso foi feito aps a frmula ter sido inserida. Tanto de uma maneira quanto de outra, o resultado deve ser o mesmo. Importante: ao nomear intervalos, no podem ser usados nomes de funes existentes no CALC (SOMA, MEDIA, MAXIMO, etc), nem nomes de endereos de clulas (A2, B5, D9, etc), pois estas palavras so palavras reservadas do Calc, e caso pudessem ser utilizadas causariam ambiguidade (o Calc no saberia se estaramos falando da funo ou do nome do intervalo).

51

2.5 PROTEGER CLULAS


Este um recurso importante, pois evita que sejam feitas alteraes por descuido (ou propositalmente) nos valores e/ou frmulas das clulas. Para acessar essa proteo, v em Planilha Proteger Documento...no sub-menu que se abrir, aparecero duas opes: Planilha: protege apenas a planilha atual, deixando as outras livres para edio; Documento: protege todas as planilhas de uma vez s. Para fins de compreenso, iremos estudar apenas a proteo da planilha, pois a proteo do documento funcionar da mesma maneira. Aps acessar o menu de Proteger Planilha, aparecer a seguinte janela, pedindo senha para proteo:

Figura 55 Janela de digitao de senha para proteo da planilha O uso de senha opcional; no entanto, caso voc no digite uma senha, qualquer pessoa poder desbloquear a planilha, bastando para isso apenas acessar o menu de proteo de planilha novamente. Se for digitada uma senha, necessrio digitar a mesma senha, EXATAMENTE IGUAL (diferencia maisculas de minsculas), no campo Confirmar. Independente de cadastro de senha ou no, clique em OK para ativar a proteo. Enquanto a planilha estiver protegida, caso algum tente fazer alguma alterao nas clulas, aparecer a seguinte mensagem:

Figura 56 No possvel modificar clulas protegidas

52 Para desproteger, acesse Ferramentas Proteger Documento Planilha (ou Documento, dependendo do que voc selecionou). Caso voc tenha cadastrado senha, a mesma ser solicitada. Caso contrrio, o desbloqueio feito automaticamente. possvel, no entanto, que algumas clulas fiquem desprotegidas, mesmo com a proteo de planilha ativada. Para isso, preciso que primeiramente desproteger essas clulas. Vamos ver isso atravs de um exemplo:

Figura 57 Planilha utilizada para exemplo de proteo de clulas Digamos que, na planilha acima, que ser utilizada por outra pessoa, queiramos proteg-la, porm queremos que a pessoa tenha acesso a alterar os nomes (Coluna A) e Salrios (Coluna B), e no deve ter acesso a alterar as frmulas das Colunas C e D. Para isso, antes de proteger a planilha, temos que selecionar as clulas que ficaro desprotegidas (no nosso caso, de A2 at C13), e em seguida temos que ir no janela de formatao das clulas (menu Formatar Clulas... ou CTRL + 1 no teclado), localizar a aba Proteo de Clulas:

53

Figura 58 Janela de desproteo de clulas Por padro, todas as clulas vem com a opo Protegida selecionada. No entanto, essa proteo s ativada quando protegemos a planilha. Para ter acesso a alterar valores mesmo com a planilha protegida, temos que desmarcar a opo Protegida e clicar em OK. Proteja a planilha novamente e voc ver que teremos acesso para alterar livremente de A2 at B13 (clulas que foram desprotegidas), porm o restante continuar bloqueado. Caso tentemos alterar a clula C9, por exemplo, aparecer a mensagem da figura 56. Voc deve estar se perguntando: e a opo Ocultar Frmula? Ela tambm s funciona quando a planilha est protegida, e serve para ocultar a frmula das clulas selecionadas na barra de frmulas. Veja exemplo:

Figura 59 Exemplo de frmula aparecendo, mesmo a clula estando bloqueada

54 Veja na figura acima a parte circulada em vermelho. Esta a barra de ferramentas, e qualquer clula que tenha frmulas, a mesma ser mostrada ali. Para evitar que isso ocorra, selecione as clulas que voc deseja ocultar a frmula (no nosso caso, de C2 at D13), v novamente no menu Formatar Clulas (figura 58) e marque a opo Ocultar Frmulas. Clique OK e proteja a planilha novamente. O resultado ser o seguinte:

Figura 60 Frmula Oculta Repare novamente na barra de frmulas. Mesmo contendo valor em C5, a frmula no exibida, enquanto a planilha estiver protegida. como se a clula estivesse em branco.

55

3. ASSISTENTE DE DADOS

3.1 TABELA DINMICA


Tambm conhecido como Assistente de Dados, a Tabela Dinmica um recurso do Calc que permite combinar e analisar dados de forma simples e rpida. Pode ser usado para criar uma espcie de resumo de um conjunto de dados, a fim de dar uma viso geral sobre a representatividade desses dados. O Assistente de Dados criado a partir de uma tabela normal, como a apresentada abaixo:

Figura 61 Tabela de exemplo para Assistente de Dados Depois de a tabela estar pronta, clique em qualquer lugar dentro dela, selecione Dados Assistente de Dados Iniciar... aparecer a janela abaixo, que questiona qual a fonte de dados ser utilizada:

Figura 62 Selecionando a origem dos dados

56 Note que, ao clicar em qualquer lugar dentro da tabela, quando acionamos o Assistente de Dados a tabela selecionada automaticamente. Como queremos utilizar os dados da tabela, deixamos marcada a opo Seleo Atual e clicamos OK. Aps clicarmos em OK, aparecer a janela abaixo, que serve para definirmos o layout da tabela dinmica, ou seja, em que posio cada valor ficar:

Figura 63 Layout do Assistente de dados Cada ttulo de coluna representado por um boto, que pode ser arrastado para qualquer uma das posies esquerda (retngulos brancos), sendo que cada um representa os dados de uma forma diferente. Na figura acima, os botes j foram arrastados para dentro de seus respectivos campos desejados (Coluna, Linha e Dados), e o resultado (para este exemplo) fica assim:

57

Figura 64 Resultado do assistente de dados No exemplo acima, o campo Filial foi colocado em Campos de Coluna, e ficou na primeira coluna. O campo Categoria foi colocado em Campos de Linha, e seus valores ficaram em uma linha. J os valores em si foram colocados em Campos de Dados e ficaram na parte dos dados, fazendo interseo entre as respectivas linhas e colunas. Os que no existem na tabela ficaram em branco. Por exemplo, no consta nenhuma consultoria para Curitiba na tabela, por isso a mesma ficou em branco. Alm disso, a tabela mostra o total, tanto de cada linha quanto de cada coluna. Caso o usurio deseje, pode rearranjar os dados de outra maneira, de acordo com a sua necessidade. Para isto, basta clicar em cima da tabela dinmica com o boto direito e em seguida selecionar a opo Iniciar. A mesma janela de antes ser mostrada. Aps isto, basta arrastar o campo desejado para a posio desejada. Veja abaixo outro exemplo de tabela dinmica, utilizando os mesmos dados, tendo apenas sido rearranjados:

58

Figura 65 Outro exemplo de tabela dinmica As alteraes que foram feitas foram apenas inverter a posio de Categoria e Filial, de Campos de Coluna para Campos de Linha e vice-versa. possvel tambm inserir algum dos itens no campo Campos de Pgina, o que far com que aparea uma lista para selecionar uma das opes. Veja exemplo:

59

Figura 66 Mais um exemplo de tabela dinmica O que foi feita para que a tabela ficasse dessa maneira foi mover o campo Filial para Campos de Pgina. Isso faz com que aparea uma lista de seleo, que contm o valor Todas e os valores da coluna em questo. No exemplo da figura acima, foi selecionada uma das filiais, e com isso esto sendo mostrados apenas os valores referentes mesma. Voc deve ter reparado que, no final de cada linha e coluna, existe o total. Esse total calculado sobre a linha ou coluna correspondente, e por padro calcula a soma dos valores. No entanto, possvel utilizar outras funes, como mdia, mximo, mnimo, alm de funes estatsticas, como desvio padro. Para trocar a funo da tabela dinmica, v at a tela de layout. Em Campos de Dados, existe um boto escrito Soma Valor. Clique com o boto esquerdo sobre ele. Ao fazer isso, o boto Opes direita ficar disponvel. Clique neste boto. Aparecer a seguinte janela:

60

Figura 67 Janela para seleo da funo do Campo de Dados Para mudar a funo, basta apenas selecionar a que voc deseja e clicar em OK. Em seguida, clique OK novamente e a tabela j ser atualizada. Para nosso exemplo, iremos utilizar a funo Contagem. A tabela dinmica ficar mais ou menos dessa maneira:

Figura 68 Alterando a funo da tabela dinmica O nmero 1 aparece em quase todas as clulas no exemplo acima porqu existe apenas um item de cada categoria. Caso existissem mais do mesmo item, os valores seriam diferentes. Isso ocorreu devido ao fato de a tabela ser pequena, e estar servindo apenas para demonstrao. Em tabelas grandes, com certeza esses valores seriam maiores (talvez no todos, mas a grande maioria).

61 Voc deve ter reparado que algumas clulas ficaram em branco. Isso ocorre porqu este item no apareceu nenhuma vez na tabela. Portanto, clula em branco equivale ao valor zero. No entanto, no adianta querer preencher as clulas em branco com este valor, ou alterar qualquer clula de dentro da tabela dinmica, pois as mesmas esto protegidas, ou seja, no permitido a insero, alterao e/ou retirada de valores dentro da mesma manualmente. A nica maneira seria alterando valores no layout da tabela dinmica ou alterando valores na tabela original. Caso voc tente inserir valores manualmente dentro da tabela dinmica, aparecer a seguinte mensagem:

Figura 69 Mensagem informando que no possvel alterar dados na tabela dinmica Falando em alterar valores na tabela original, voc pode faz-lo sem problemas. No entanto, a tabela dinmica no atualizada automaticamente. Veja a figura abaixo, onde foi alterado o valor da categoria Manuteno na filial Porto Alegre, de R$1.900,00 para R$2.500,00 (clulas destacadas):

62

Figura 70 Exemplo mostrando que a tabela dinmica no atualizada automaticamente Como voc pode reparar, a clula C5 contm R$2.500,00, enquanto que a sua clula correspondente na tabela dinmica, C21, continua com valor R$1.900,00. Para que a mesma seja atualizada, necessrio clicar com o boto direito em cima da tabela dinmica e selecionar a opo Atualizar, conforme figura abaixo:

Figura 71 Opo que atualiza a tabela dinmica Aps selecionar a opo de atualizar tabela, a mesma ficar atualizada:

63

Figura 72 Tabela dinmica atualizada As clulas alteradas foram destacadas para uma melhor visualizao. Isso foi feito manualmente, ou seja, o Calc no destaca automaticamente as clulas que so alteradas. Alm de todos os recursos vistos acima, possvel tambm aplicar filtragem nossa tabela dinmica, da mesma maneira que feito com uma tabela simples (para mais informaes, veja item 2.1 AutoFiltro nesta apostila). Isso pode ser feito de duas maneiras: a primeira clicando no boto Filtro que est no incio da tabela dinmica, e a segunda e clicando com o boto direito dentro da tabela, e em seguida na opo Filtro. Ser mostrada a mesma janela que aparece no AutoFiltro, opo Filtro Padro:

Figura 73 Janela de filtragem para tabelas dinmicas Digamos que queiramos que sejam mostradas apenas as linhas cujos valores sejam inferiores a R$10.000,00. Para isto, configuraremos o filtro da seguinte maneira:

64

Figura 74 Exemplo de configurao de filtro para Tabela Dinmica Note que a configurao exatamente igual ao AutoFiltro. Se quisssemos utilizar mais de uma condio, bastaria apenas utilizar os operadores E ou OU, especificar a segunda e/ou terceira condies. Para o exemplo da figura acima, o resultado ser o seguinte:

Figura 75 Resultado de filtragem na tabela dinmica Para questes de filtragem, no so considerados os totais, pois os mesmos no so valores originais na tabela. So considerados apenas os valores em si. Caso os valores da tabela original sejam alterados, os valores da filtragem podem ser alterados, podendo ser includos ou retirados. Vejamos um exemplo de cada caso. Primeiramente, iremos alterar o valor da manuteno em Porto Alegre (clula C5) para R$11.000,00, ou seja, o

65 critrio para esta clula passar a ser falso, pois no atender mais ao critrio. Aps a atualizao, a tabela dinmica com o filtro ficar assim:

Figura 76 Exemplo de atualizao da filtragem com atualizao dos valores Compare a figura acima com a anterior. Voc ver que a coluna da filial Porto Alegre foi excluda, pois o valor no est mais atendendo ao critrio. Os totais tambm so atualizados, pois eles se referem apenas s linhas e colunas que esto sendo mostradas na tabela no momento. Agora iremos fazer o contrrio, ou seja, incluir um valor na tabela. Para isso, iremos alterar o valor da categoria Hardware na filial Rio de Janeiro (clula C8) para R$7.200,00. Veja o que aconteceu depois de atualizarmos:

66

Figura 77 Outro exemplo de atualizao da filtragem com atualizao dos valores Sempre que atualizamos, todos os valores que foram alterados so atualizados, juntamente com a tabela em si, se for o caso, e os totais, independente da alterao que feita. Como voc pode perceber, a tabela dinmica totalmente personalizvel. Com ela, possvel visualizar valores por linhas, colunas, filtros, listas, etc. um recurso bastante til em certos casos. Se voc souber us-lo corretamente, pode economizar muito tempo em suas tarefas.

67

3.2 CRIANDO GRFICOS A PARTIR DE UMA TABELA DINMICA


Alm dos recursos mostrados acima, o Calc permite que sejam criados grficos a partir da tabela dinmica. Para inserir, clique em Inserir Grfico ou no smbolo ferramentas Padro. Aps isso ser feito, aparecer a seguinte janela: na barra de

Figura 78 Assistente de grfico Escolha do tipo de grfico Escolha uma das opes disponveis (Barra, Coluna, Pizza, etc) e o subtipo, direita. Um grfico aparecer logo abaixo da janela acima, mostrando como o grfico est ficando at o momento. Para cada alterao de tipo, subtipo ou qualquer outra, o grfico atualizado automaticamente. Para nosso exemplo, utilizaremos o tipo Coluna. Clique em Prximo. A janela seguinte a da escolha do intervalo de dados:

68

Figura 79 Escolha do intervalo de dados Nesta janela ser necessrio fazer alteraes no intervalo, pelo menos para este exemplo, pois da maneira que est, o intervalo selecionado (A17:F23) est englobando as colunas dos totais, o que faz com que as mesmas apaream no grfico. Como o total representa a soma de todos os valores daquela linha/coluna, a barra referente a ele ficar gigante, distorcendo o grfico. Quando o total aparece, como se juntssemos todas as outras barras numa s, uma em cima da outra. Para alterar o intervalo, clique no boto e selecione as clulas desejadas. Para o grfico

ficar perfeito, deve-se selecionar as clulas em amarelo da figura abaixo:

Figura 80 Intervalo que deve ser selecionado (em amarelo)

69 Este intervalo corresponde a A18:E22. Aps a seleo, clique no boto novamente,

para que a janela volte ao normal. Feito isso confira se em Intervalo de dados est preenchido $Planilha1.$A$18:$E$22. O valor Planilha1 pode variar, pois o nome da planilha onde est a tabela, e se a planilha tiver outro nome, ser este nome que aparecer ali. Se o valor inicial ($A$18) ou final ($E$22) estiver diferente, voc pode alter-lo manualmente. Para isso, clique na caixa de texto que contm o intervalo, apague o valor incorreto e preencha com o correto. Nesta janela existem tambm duas opes, que so: Srie de dados em linhas e Srie de dados em colunas. Ambas se referem a que tipo de valores sero usados como referncia no grfico e na legenda. Caso selecione em linhas, os valores da linha sero referncia, e vice-versa. Altere de um para outro e veja a diferena no grfico. Escolha o que mais se adequar ao seu caso e clique Prximo. A terceira janela do assistente de grfico refere-se personalizao de cada srie de dados:

Figura 81 Assistente de grfico personalizao das sries de dados Isso funciona da seguinte maneira: caso uma das linhas ou colunas (dependendo da maneira como foi configurado na janela anterior) contenha um item que deve ficar de fora, ou esteja em branco, ele pode ser retirado da planilha. Neste exemplo, iremos apenas trabalhar com a srie Consultoria, que j est selecionada na imagem. Para alterar o intervalo, clique no boto em

Intervalo para Valores de Y. O intervalo atual B19:E19. Como existem trs clulas em branco neste intervalo, podemos usar apenas o E19. Selecione esta clula e clique no boto selecionadas, o procedimento seria o mesmo. . Ficar

selecionado apenas o B19 para este intervalo. Caso existissem outras categorias a serem

70 Alm disso, possvel alterar a ordem que as categorias aparecem no grfico. Para isso, selecione a categoria que voc deseja e clique nos botes adicionadas, clicando em Adicionar. Aps ter configurado todos os itens, clique em Prximo. Ser exibida em seguida a seguinte janela: ou para ir para cima ou para

baixo, respectivamente. As mesmas podem ser Removidas (clicando no boto Remover) ou

Figura 82 Assistente de grfico Escolhendo ttulos e legendas Esta janela contm os seguintes itens (todos so opcionais): Ttulo: define um ttulo para o grfico. Fica no topo e com letras grandes; Subttulo: fica um pouco abaixo do ttulo e com letras menores; Eixo X: um rtulo que define o nome do eixo inferior do grfico (horizontal); Eixo Y: define o nome do eixo esquerda do grfico (vertical). Exibir Grades: exibe linhas na rea do grfico, tanto na vertical (Eixo X) quanto na horizontal (Eixo Y). Dependendo do grfico, a opo Eixo Z tambm habilitada; Legenda: define a posio do grfico em que a legenda ficar. Para que a mesma seja mostrada, necessrio que a opo Exibir Legenda esteja selecionada. A posio padro Direita. A figura abaixo mostra um exemplo de preenchimento dos campos:

71

Figura 83 Assistente de grfico - exemplo de preenchimento dos Elementos do grfico Aps configurar, clique em Concluir, lembrando que se pode tambm voltar s telas anteriores, clicando em Voltar ou desistir de criar o grfico, clicando em Cancelar. Aps toda a configurao, o grfico ficar assim:

Figura 84 Grfico depois de pronto

72 Aps estar pronto, o grfico totalmente configurvel, tanto tamanho quanto cor, tipo, etc. Para comear, vamos alterar o tamanho do grfico. Para isso, clique com o boto esquerdo do mouse acima do grfico. Aparecero quadradinhos pretos em cada canto da figura ( ). Passe o ).

mouse sobre algum deles e o ponteiro do mouse mudar para duas setas em lados opostos (

Clique com o mouse, segure e arraste para cima ou para baixo, dependendo se voc deseja aumentar ou diminuir. Uma linha pontilhada indica o novo tamanho. Quando estiver satisfeito, apenas solte o mouse. Para mover sem mudar o tamanho, clique no meio da figura e segure. O ponteiro do mouse mudar para . Com o mouse segurado, mova at a posio desejada, depois solte.

Para alterar o tipo de grfico, clique com o boto direito em cima do grfico em clique em Tipo de grfico. Em seguida abrir a seguinte janela, para escolha do grfico:

Figura 85 Janela de escolha de tipo de grfico Nesta janela, basta alterar o tipo e/ou subtipo para o novo grfico. O grfico da planilha atualizado automaticamente. Caso deseje, voc pode tambm alterar para 3D, como est selecionado na figura abaixo. Aps configurar, clique em OK. Caso deseje alterar a cor de fundo, clique com o boto direito e selecione Propriedades do objeto. Na janela que aparece, selecione a aba Preenchimento:

73

Figura 86 Configurao do preenchimento do grfico A opo de preenchimento pode ser feita em trs lugares: Legenda, Parede do grfico e rea do grfico. Para alterar, necessrio clicar com o boto direito na rea que deseja selecionar. Na mesma janela, podem ser alteradas as cores da borda, bastando para isso selecionar a aba borda. Para finalizar este captulo, veja abaixo um grfico depois de formatado:

Figura 87 Exemplo de grfico formatado

74

4. MACROS
Uma macro uma sequncia de comandos e funes armazenadas em um mdulo do LibreOffice Basic e pode ser executada sempre que voc precisar executar a tarefa. Caso execute uma tarefa vrias vezes no Calc, voc pode automatiz-la com uma macro. Antes de executar uma macro, necessrio, grav-la, ou seja, entrar no modo de gravao da macro, executar a(s) tarefa(s) desejada(s) e salvar. Para isso, acesse Ferramentas Macro Gravar Macro. Aps isso, aparecer na planilha a seguinte janela:

Figura 88 Janela de gravao de macro Enquanto essa janela estiver aberta, tudo o que voc fizer ser gravado, ou seja, ser feito assim que voc executar. Para parar, clique em Parar gravao. Vamos a um exemplo. Imagine a tabela abaixo:

Figura 89 Tabela para exemplo de utilizao de macros Vamos formatar a coluna A, pondo uma cor de fundo na mesma, mais ou menos assim:

75

Figura 90 Exemplo de configurao de macros Em seguida, clique em Parar gravao. Aparecer a janela para dar nome macro:

Figura 91 Janela para salvar a macro Escolha um nome para a macro e clique em Salvar. Para este exemplo, ser usado o nome que aparece na imagem (formatacao sem acento) A macro ficar salva na lista de macros e poder ser acessada clicando-se em Ferramentas Macros Executar Macro (lembre-se antes de selecionar as clulas que deseja que a macro seja executada):

76

Figura 92 Janela de seleo de macros Aps selecionar a macro desejada, clique em Executar. A macro ser executada exatamente igual ao que foi gravado. Para este exemplo, foi selecionada a coluna B antes de executar a macro. O resultado final foi o seguinte:

Figura 93 Macro aps executada Quando foi gravada, a macro formatacao continha formatao de clulas, na cor azul. Toda vez que a mesma for executada, a partir de agora, ser exatamente isso que ela ir fazer, nas clulas selecionadas. Por isso a coluna B ficou com a formatao igual coluna A.

77 Note que todas as macros criadas pelo usurio esto localizadas em Minhas macros. Para apagar qualquer uma delas, selecione Ferramentas Macros Organizar Macros LibreOffice Basic. Selecione a macro desejada e clique em Excluir:

Figura 94 Excluindo Macros No exemplo acima, criamos uma macro onde foi alterada apenas a formatao do texto. No entanto, podem ser criadas macros que efetuam clculos tambm. Vejamos outro exemplo:

Figura 95 Tabela para utilizao de novo exemplo de macro Considere a tabela acima. Vamos criar agora a partir desta tabela uma macro que multiplique todos os nmeros por 3. Primeiramente, devemos iniciar a gravao da macro, clicando em Ferramentas Macros Gravar Macro. Em seguida, vamos selecionar a clula A3, que contm o valor 3. Copie este valor para a rea de transferncia (CTRL + C ou Editar Copiar). Feito isso, devemos selecionar todo o intervalo (A1:C3) ou as clulas que devem ser multiplicadas e em seguida clicar em Editar Colar Especial. Ser mostrada a seguinte janela:

78

Figura 96 Janela Colar Especial Nesta janela deve ser selecionada a opo Multiplicar em Operaes, como na figura. Em seguida, clique OK. A tabela ficar assim:

Figura 97 Tabela aps utilizao da macro Em seguida, clique em Parar Gravao. Aparecer a janela para escolher o nome. Para nosso exemplo, demos o nome multiplica para a macro. Clique em Salvar. A macro j est salva. Para test-la, selecione algumas clulas da tabela atual ou digite novos valores. Em seguida v em Ferramentas Macro Executar Macro. Localize a macro desejada e clique em Executar. Como vimos at agora, as macros so utilizadas sempre que uma tarefa repetitiva deve ser executada. Ela pode ser gravada, que foi o que fizemos agora, pode ser programada ou ambos. Veremos como programar uma macro e funes no prximo item.

79

4.1 PROGRAMANDO MACROS E FUNES


Toda vez que uma macro gravada no LibreOffice Calc, gerado tambm um cdigo referente mesma. Esse cdigo criado na linguagem Basic, e gerado automaticamente assim que a macro criada, com os comandos referentes ao que foi gravado na macro. O pacote LibreOffice possui um editor de linguagem Basic, chamado LibreOffice Basic, e pode ser acessado pelo caminho Formatar Macros Organizar Macros LibreOffice Basic. Localize a macro desejada e clique em Editar. Ser mostrada ento a janela do LibreOffice Basic, e ser mostrado na tela o cdigo referente macro selecionada. Na figura abaixo, est o cdigo referente macro multiplica:

Figura 98 Janela de edio do LibreOffice Basic No foi possvel mostrar todo o cdigo gerado na imagem acima; portanto, o mesmo est sendo reproduzido abaixo: sub multiplica rem ---------------------------------------------------------------------rem define variables dim document as object dim dispatcher as object rem ----------------------------------------------------------------------

80 rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array()) rem ---------------------------------------------------------------------dim args2(0) as new com.sun.star.beans.PropertyValue args2(0).Name = "ToPoint" args2(0).Value = "$A$1:$C$3" dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2()) rem ---------------------------------------------------------------------rem dispatcher.executeDispatch(document, ".uno:PasteSpecial", "", 0, Array()) rem ---------------------------------------------------------------------dim args4(5) as new com.sun.star.beans.PropertyValue args4(0).Name = "Flags" args4(0).Value = "A" args4(1).Name = "FormulaCommand" args4(1).Value = 3 args4(2).Name = "SkipEmptyCells" args4(2).Value = false args4(3).Name = "Transpose" args4(3).Value = false args4(4).Name = "AsLink" args4(4).Value = false args4(5).Name = "MoveMode" args4(5).Value = 4 dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args4()) end sub

81

Todo esse cdigo foi gerado para efetuar o clculo da multiplicao dos valores das clulas. Ele gerado automaticamente quando a clula gravada. Pode parecer complicado a princpio, porm com um pouco de estudo, ficar mais compreensvel. interessante tambm estudar um pouco de lgica de programao, para termos noes do bsico, principalmente sobre variveis. Os componentes bsicos de toda macro criada no BASIC so: Sub xxxx: esta linha indica o incio do cdigo da macro, sendo que o xxxx substitudo pelo nome da mesma. No final de todo o cdigo, ela deve ser fechada, digitando-se end sub; Dim: este comando serve para declarar as variveis que sero utilizadas. Uma varivel um espao de memria que servir para armazenar determinado valor (nmero inteiro, texto, nmero decimal, etc), que pode ou no variar quando o cdigo executado (por isso se chama varivel); Rem: serve para indicar comentrios, e devem ser colocados no incio da(s) linha(s) que se deseja usar como comentrio. Um comentrio nada mais que observaes a respeito do que est sendo feito naquela parte do cdigo. Isso til para melhor compreenso do que est sendo feito, tanto por outra pessoa que analise o cdigo quanto pela prpria pessoa que fez, pois se o cdigo for muito grande, ela pode no se lembrar de tudo o que foi feito. Sendo assim, teria que analisar o cdigo novamente para recordar o que havia feito naquela parte, e assim gastaria mais tempo desnecessariamente. Por isso, os comentrios so altamente recomendveis, tanto em BASIC quanto em qualquer outra linguagem de programao. No possvel explicar aqui como funciona a programao em BASIC, pois o contedo muito extenso. Caso deseje mais informaes sobre o assunto, acesse http://help.libreoffice.org/Basic/Basic_Help/pt Alm das macros, com o BASIC possvel criar funes para serem utilizadas no Calc. Veremos como fazer isso no prximo subitem.

82

4.2 - CRIANDO FUNES CALC NO BASIC


Antes de comearmos a ver funes propriamente ditas, veremos um pouco de como criarmos nossas prprias macros. Vamos comear com uma bem simples, que mostra ao usurio uma caixa de dilogo solicitando o nome do usurio. Aps o mesmo preencher e clicar em OK, ser mostrada uma mensagem de boas vindas personalizada com o nome do usurio. Para comear, abra a janela de gerenciamento de macros, que est em Ferramentas Macros Organizar Macros LibreOffice Basic. Em seguida, selecione Novo. Aparecer a janela de edio do Basic. Digite o cdigo abaixo:

Figura 99 Cdigo para Macro Feito isso, salve as alteraes e execute a macro. Ser mostrada a janela abaixo, solicitando a digitao de nome:

Figura 100 - Macro em execuo - parte 1 Aps clicar em OK, aparecer a caixa de mensagem abaixo, com o nome que foi digitado:

Figura 101 Macro em execuo parte 2

83

Vamos analisar o que cada parte do cdigo faz: Sub SeuNome: essa linha o cabealho da macro, onde inicia o cdigo que ser executado. Quando foi clicado em Novo, nessa linha aparece escrito Sub Macro1, e deve ser substitudo pelo nome de macro desejado; Rem: as linhas que comeam com essa palavra so apenas comentrios, que explicam o que ser feito ou qualquer outra observao que seja necessria fazer. No so consideradas pelo Basic na hora de executar; Dim Nome as String: Essa linha declara a varivel Nome, com tipo de dados String (texto). Cada varivel que for declarada deve ser colocada em uma linha separada; Nome = InputBox("Digite o seu nome:", "Preencha"): essa linha atribui o valor digitado na caixa de texto (InputBox) varivel Nome. Os valores entre parnteses se referem aos valores que sero informados ao usurio (veja figura 100); MsgBox ("Seja bem-vindo(a), " &Nome &"!", "Boas-vindas"): o comando MsgBox faz aparecer apenas uma mensagem, informando o texto que foi colocado entre parnteses (veja figura 101). Caso seja necessrio inserir valor de variveis, usado o smbolo & e depois o nome da varivel; End Sub: essa indica o fim do cdigo da macro, que foi aberta em Sub SeuNome. Esse apenas um exemplo de como configurar uma macro via programao no Calc. Para mais exemplos e informaes, acesse o site oficial do LibreOffice Basic: http://help.libreoffice.org/Basic/Basic_Help/pt . Agora veremos como criar uma funo que ser utilizada no Calc atravs do Basic Alm das macros, que vimos acima, possvel criar tambm funes para uso prprio no Calc. Aps ela estar programada, possvel utiliz-la da mesma maneira que se usa as funes nativas do Calc, ou seja, usando-se o sinal de igual, o nome da funo e os parmetros desejados. A diferena que neste caso os parmetros sero definidos por ns. Antes de comear, vamos fazer o seguinte: uma planilha onde digitaremos uma data e desejaremos saber em que dia da semana (por extenso) esta data caiu. Apesar de trabalhar com funes de datas, o Calc no possui nenhuma que faa isso diretamente. O que pode-se fazer utilizar a funo DIA.DA.SEMANA, que retornar um nmero de 0 a 6 ou de 1 a 7, dependendo de como for configurada a funo. Usaremos para este exemplo a contagem padro, que atribui valor 1 para domingo, 2 para segunda-feira, 3 para tera-feira e assim por diante. A planilha dever ficar mais ou menos assim:

84

Figura 102 Exemplo de tabela para demonstrao de funes A funo em B2 ficar =DIA.DA.SEMANA(A2), e retornou 7 porqu a data em A2 caiu num sbado, e assim sucessivamente. Feito isto, chegou a hora de criar a nossa funo. Para isso, iremos acessar o editor de macros, clicando em Ferramentas Macros Organizar Macros LibreOffice Basic e depois vamos clicar em Editar. Vamos criar uma funo que denominaremos DiaPorExtenso, e que contm apenas um parmetro, que ser o valor que resultou da funo DIA.DA.SEMANA. Todos os parmetros devem ser declarados no cabealho da funo, ao lado do nome da mesma. O cdigo para este exemplo em especfico ficou assim:

Figura 103 Exemplo de cdigo criado para uma funo personalizada

85 O cdigo acima recebe o valor da clula (Numero) e o compara com valores de 1 a 7 (Select Case Numero indica que o valor a ser comparado o da varivel Numero). Caso o valor de Numero seja um valor que no esteja entre 1 e 7, retornar a mensagem Dia Invlido (Case Else). Aps isso, devemos fechar a funo com End Function. Vamos testar agora na planilha. Vamos colocar o cursor em C2 e digitar =DIAPOREXTENSO(B2). Depois podemos copiar a funo para as linhas seguintes na mesma coluna. O resultado dever ficar assim:

Figura 104 Exemplo de utilizao de funo criada pelo usurio Uma observao importante: as funes personalizadas no aparecem na lista do assistente de funes, pelo fato de terem sido criadas pelo usurio. Somente aparecem nesta lista as funes nativas, ou seja, aquelas que foram criadas junto com o Calc. Para finalizar, vamos ver mais um exemplo de utilizao de funes personalizadas no Calc. Suponhamos que voc deseja criar uma planilha para o clculo do IMC (ndice de Massa Corprea, medida utilizada calcular o peso ideal, e que calculado dividindo-se o peso pela altura ao quadrado). Vamos primeiramente digitar os valores necessrios na planilha:

Figura 105 Exemplo para criao de funo para clculo do IMC Aps isso, iremos ao editor do Basic e digitaremos o cdigo abaixo:

86

Figura 106 Exemplo da funo do IMC no BASIC A funo acima uma funo bem simples, sendo que seu clculo ocupou apenas uma linha. Isso ocorreu porqu no foi necessrio escolher entre vrios valores como no exemplo anterior. Apenas fez o clculo e retornou o valor deste clculo. Lembre-se de salvar as alteraes feitas no editor do Basic. Uma observao importante: nos casos em que a funo tiver mais de um argumento, como o nosso caso (peso e altura), eles devem ser colocados na MESMA ORDEM em que forem usados na funo. Feito isso, volte na planilha e digite =INDICEMASSA(b1;b2). O resultado ficar assim:

Figura 107 Funo IMC aps preenchida Caso voc tenha colocado primeiro a altura e depois o peso, basta inverter a ordem dos endereos do que est na funo do exemplo que tambm dar certo. Experimente alterar os valores para verificar o funcionamento da funo. Este captulo foi apenas uma breve introduo ao funcionamento das macros e do editor Basic do LibreOffice. No possvel explicar tudo, pois o material muito extenso e ficaria invivel colocar aqui. No entanto, como j mencionei anteriormente, no site oficial do LibreOffice, existem muito mais informaes disponveis sobre este assunto. Estamos chegando ao fim deste livro de LibreOffice Calc Avanado. Espero que tenha sido til e voc possa utilizar os conhecimentos aqui adquiridos a seu favor. At logo!!

87

REFERNCIAS BIBLIOGRFICAS
ROCHA, Tarczio da, OpenOffice.Org 2.0 Calc Completo e Definitivo, Editora Cincia Moderna, Rio de Janeiro, 2006; GONALVES, Cristiane, Broffice.org: Calc Avanado Com Introduo s Macros Editora Cincia Moderna, Rio de Janeiro, 2009;