É isso, a gente
sempre vai aprendendo na medida que ensina.
Fui brincar com este
negócio de categorizar ... No artigo tem que ter categoria! Ensinei do jeito mais difícil… isto ajuda a brincar um pouco com a
criatividade e recursos do Libreoffice como a função PROCV(). Mas, vamos simplificar mais
esse trabalho. Acredita que dá de fazer de maneira mais simples ainda que
no Excel?
Vejamos: primeiro
reservamos uma planilha para colocar as categorias que podem se
tornar em subcategorias. Aqui cada coluna é um espaço de categoria.
Na coluna A iniciamos com Brasil e nas linhas abaixo a lista dos
Estados do Brasil, aqui coloquei três para ser mais rápido. Dentro
dos Estados três cidades.
Depois disso:
Nomeamos cada coluna dessas para o libreoffice saber das delimitações
desses dados:
Clicamos na cabeça
da coluna e em dados, definir intervalo nomeamos o intervalo como
“Brasil”.
Depois na planilha
onde vai estar a seleção de categorias e subcategorias, vamos
aplicar a Validação clicando em Dados e “validação” e digita
o nome do espaço nomeado nesse caso “Brasil”.
Ato seguido
selecione a outra célula (onde estarão as subcategorias) e repita a
mesma operação, dessa vez digite: a Função INDIRETO(A1) e como
pode ver o endereço da célula referência (A1).
Para
quem já acompanhou umas dicas anteriores, onde escrevi como usar o
Calc como um banco de dados, está no meu blog pode conferir neste
link:
http://betobyte.blogspot.com.br/2014/02/a-necessidade-e-mae-da-invencao-quem.html
. Agora vai poder incrementar e dar sequência vendo: como colocar
categorias e suas respectivas subcategorias em um formulário, e para
aqueles que querem se aprofundar nesse quesito, basta conferir também
no Ask do libreoffice:
https://ask.libreoffice.org/pt-br/question/58248/definir-o-endereco-de-colagem-na-macro/
. Vai ajudar a dar mais precisão no quesito da macro para
transportar os dados de uma planilha para outra pois caso resolva
fazer um banco de dados, não importa o tamanho, sempre é uma tarefa
meticulosa.
Voltando
ao nosso assunto: quando resolvemos categorizar algo, nos damos
contas das inúmeras categorias a que pertencem nossos objetos ou
itens… imagina então categorizar coisas de um supermercado, por
exemplo. Cada categoria terá inúmeras subcategorias com isso
rapidamente passamos de cem ou de mil… O que fazer para agilizar
este processo sem ter que decorar números e nomes ou ainda percorrer
uma lista sem fim para selecionar um item?
Vou
dar um pontapé inicial e o resto fica por conta da criatividade de
cada um. Em programação existem diversas maneiras de fazer e
nenhuma é errada apenas mais ou menos dispendiosa de tempo e
memória. No final das contas, a melhor maneira de fazer é aquela
que sabemos, não é mesmo?
Vamos
imaginar a seguinte situação temos 11 categorias e cada uma dessas
11 categorias tem 50 subcategorias, ou seja 550 itens de uma lista
para clicar e escolher. Como cadastrar num formulário sem que isso
fique muito complexo? E se aumentarmos o número de categorias?
Confesso que eu tinha feito de um jeito que não foi muito prático a
primeira vez, usando a função SE(), mas a linha de código ficava
muito extensa e fácil de se perder. Mas resolvi utilizando PROCV() e
um pouquinho de criatividade.
Vamos
aproveitar e deixar previsto a possibilidade de chegarmos a 50
categorias por 50 subcategorias, ou seja, uma um total de 2500
subcategorias.
Vamos
imaginar que na planilha2 tenhamos nosso formulário mais ou menos
assim como esta figura abaixo:
comentário:
*Como ficou fácil recortar figura no Libreoffice versão 5, me dei
conta ao fazer este tutorial*.
Mas
e agora, como puxar as subcategorias para que fiquem assim?
Na planilha1 vamos
deixar a primeira coluna (A) para usarmos a função =PROCV()
Na coluna (B) Vamos
preencher com as categorias e em linha, no lado direito de cada
categoria, vamos colocando as subcategorias até o limite de 50.
Agora, voltamos a
Planilha2 e vamos na célula (B5) onde serão selecionadas as
categorias, clicamos nela para ficar selecionada e no menu escolhemos
“validação”:
E no intem
“permitir” escolhemos “Intervalo de Células” e em “Origem”
inserimos o seguinte código: $Planilha1.$B$1:$B$50 e clicamos em
“OK”
Agora vamos fazer
que as opções de subcategoria apareçam de acordo com categoria
escolhida. Para isso selecionamos a célula (B6) e repetimos a
validação só que dessa vez colocamos o seguinte código:
$Planilha1.$A$1:$A$50
Nada demais né?
Mas como esse intervalo de células vai capturar as subcategorias? Ai
é que entra a Função PROCV().
Entendendo o
funcionamento da Função: Na célula A1 da Planilha1
inserimos a Função PROCV(), nela fazemos referência
a célula do formulário (Planilha2, célula B5) onde será
selecionada a Categoria (o critério da função), ou Seja:
Planilha2.B5. Depois do critério da função (que separamos por “;”)
devemos informar a Matriz, ou seja: de onde até onde se deve buscar
estes dados. No caso de B1 a AZ da atual planilha. E em seguida
informamos de qual coluna queremos os dados a ser
mostrado e o zero no final é a ordem de classificação. Os cifrões
em frente ao código é para facilitar a cópia por arrasto que não
deixará mudar os valores.
Uma vez feita a
primeira fórmula, copiamos a mesma arrastando para baixo atá a
célula (A50), depois é só ir mudando na fórmula copiada o número
da coluna que queremos capturar, para que ela possa transpor o dado.
Baixe o arquivo aqui e estude-o, logo vai entender o processo. Aqui vídeo ainda explicando novamente este processo.