Notifications
Clear all

Lista Suspensa Dentro de Tabela

9 Posts
3 Usuários
0 Likes
1,054 Visualizações
(@nilton)
Posts: 18
Active Member
Topic starter
 

Bom dia

Na planilha em anexo, eu possuo as abas de PROD, FORN, ENTRADAS e SAÍDAS, sendo que estas duas últimas são alimentadas pelo conteúdo das abas PROD e FORN.
Acontece que, quando eu converto as tabelas ENTRADAS e SAÍDAS em Tabelas, as listas suspensas deixam de puxar os respectivos itens. E eu preciso que elas sejam em Tabelas, para o cliente poder inserir novos dados, sem ter que ficar copiando e colando linha. Onde eu estou errando e como corrigir isso, por gentileza?

Att.
Nilton

 
Postado : 25/02/2022 8:20 am
(@nilton)
Posts: 18
Active Member
Topic starter
 

Boa noite. Será que não há uma solução plausível para este meu problema ou eu postei no fórum errado? Se for este caso, solicito, por gentileza, que os Moderadores o movam para o fórum correto.

Att.

Nilton

 
Postado : 27/02/2022 7:36 pm
EdsonBR
(@edsonbr)
Posts: 1056
Noble Member
 
Postado por: @nilton

Será que não há uma solução plausível para este meu problema ou eu postei no fórum errado?

Bom dia, @Nilton.

A sala em que vc postou está correta (Fórmulas & Funções) e sim, muito provavelmente deve haver uma solução para seu problema.

Infelizmente seu arquivo usa fórmulas e recursos só disponíveis no Microsoft 365 e boa parte dos colegas aqui do fórum (me incluo nessa) ainda não dispõe dessa última versão do aplicativo logo fica difícil identificar o problema sem a possibilidade de atualizar as células e testar soluções.

O que posso dizer a respeito de lista suspensa, dentro ou fora de um objeto Tabela, mas cuja origem é uma Tabela é que se vc quiser usar corretamente a nomenclatura de Tabela (Referência Estruturada) ao invés de referência absoluta/relativa tipo intervalo (A1:C3 por exemplo), tem uma peculiaridade que precisa ser observada.

Por exemplo: imagine que vc tem uma Tabela tbProdutos cuja coluna (campo) Produto ocupa a coluna A de uma planilha qualquer, num determinado instante ocupando especificamente A1:A100, sendo que em A1 está o correspondente cabeçalho.
Então numa Validação de Dados tipo Lista, usando referência tipo absoluta/relativa, vc usaria diretamente =a2:a100 como Fonte da Lista e funcionaria normalmente (logicamente com o inconveniente de não crescer junto com os dados, como ocorre com Referência Estruturada).

No entanto, se vc tentasse usar como Fonte da Lista a coluna da tabela diretamente, ou seja, =tbProdutos[Produto], o Excel não aceitaria, daria erro.

A maneira correta de fazer nesse caso é criar no Gerenciador de Nomes um novo intervalo nomeado, digamos lstProdutos, cuja fórmula seria =tbProdutos[Produto] e aí sim, usar esse nome lstProdutos como Fonte da Lista na Validação de Dados (não esquecendo de selecionar corretamente a coluna com a seta preta, antes de aplicar a VD).

Detalhe: não é necessário usar a função INDIRETO como vi que vc usou em algumas fórmulas nos intervalos nomeados.

 
Postado : 28/02/2022 8:40 am
(@nilton)
Posts: 18
Active Member
Topic starter
 

@edsonbr

Boa noite, Edson.

Antes de mais nada, quero pedir desculpas pelo meu hiato, mas problemas pessoais me forçaram a ficar afastado da internet e, consequentemente, deste projeto, por alguns dias. Dito isso, quero lhe agradecer tanto pela confirmação do local de postagem de minha dúvida, quanto pela explanação da mesma.

Meu Office, realmente, é o 365, mas eu estava achando que tinha usado fórmulas comuns às outras versões. Não percebi que algumas são exclusivas desta versão. Sendo assim, talvez eu tenha que trocar estas fórmulas por outras, mas não sei quais...

O motivo pelo qual eu necessito que seja em Tabela, é que este projeto não é para mim, e sim para um cliente. Então, à medida que for acrescentando dados, preciso que vá crescendo, para que o cliente não tenha que ficar desprotegendo, inserindo linha, copiando, etc...

Haveria como eu fazer este controle, utilizando fórmulas comuns às demais versões do Excel? Até pelo fato que meu cliente possa não ter o Excel 365...

Quando você dá a sugestão de eu criar um intervalo nomeado, você diz para eu fazer isso em qual aba? Me perdoe, mas eu não entendi esta parte.

Por fim, você diz não ser necessário usar a função INDIRETO... qual devo usar no lugar dela?

Att.

Nilton

PS.: Se houver a necessidade de eu alterar alguma coisa na tabela para facilitar sua análise, por favor me avise que o farei.

Este post foi modificado 2 anos atrás por Nilton
 
Postado : 07/03/2022 10:11 pm
(@nilton)
Posts: 18
Active Member
Topic starter
 

Bom dia pessoal.

Peço antecipadas desculpas pela minha insistência no assunto, mas estou realmente precisando entregar este projeto e não consigo visualizar uma saída.

Então, se alguém tiver uma solução para me apontar, fico agradecido.

Nesta oportunidade, estou reenviando a planilha intitulada ESTOQUE SEM FÓRMULA, onde demonstro como ela está atualmente, e a ESTOQUE SEM FÓRMULA, com a mesma planilha, mas desta vez sem fórmula nenhuma, pois iso pode estar gerando confusão. Vou explicar o que eu preciso com os dados nela constante.

Na guia PROD, eu possuo o nome de todos os produtos que este cliente possui, com os respectivos estoques mínimos e valores unitários. Como esta lista de produtos pode crescer com o tempo, pensei em colocá-la como tabela, para que o cliente possa inserir novos produtos ao final dela, sem ter que ficar copiando e colando linhas. Vale lembrar que quanto menos o cliente tiver que mexer em dados como fórmulas ou formatações, melhor.

Feito isso, tenho a aba ENTRADAS e SAÍDAS. Vamos trabalhar com a aba ENTRADAS, pois creio que depois será apenas questão de replicar as fórmulas na aba SAÍDA.

Na aba ENTRADAS, temos coluna "Produto", entre outras informações, que posso trazer com o PROCV. O problema está em trazer o nome do produto para cada linha que for acrescentada uma data de compra.

Pensei em usar a fórmula ""=CLASSIFICAR(FILTRO(lstProdutos;(ÉNÚM(LOCALIZAR(H7;lstProdutos)));"Não Encontrado"))"" na célular G7 da aba PROD, fazendo com que pegasse as informações que estivesse na célula H7 desta mesma aba, sendo que tal informação viria do conteúdo do que estivesse na célula C7 da aba ENTRADAS que, por sua vez, teria uma validação de dados cuja fonte seria =lstProd_Entrada, que é justamente o que for gerado no intervalo a partir de G7 da aba PROD.

Funcionou perfeitamente, mas apenas para a primeira linha. Quando eu insiro uma nova data de compra, na linha seguinte, não estou conseguindo fazer com que o Excel faça a mesma busca e traba o produto procurado.

Após esta longa explanação, peço encarecidamente que me apontem uma saída, mesmo que eu tenha que refazer toda a estrutura. Ou, que corrijam onde estou errando, para que o Excel possa me entregar os dados da forma que o meu cliente precisa.

Att.

Nilton

 
Postado : 14/03/2022 10:22 am
(@nilton)
Posts: 18
Active Member
Topic starter
 

Estou mandando o ESTOQUE COM FÓRMULAS...

 
Postado : 14/03/2022 10:26 am
EdsonBR
(@edsonbr)
Posts: 1056
Noble Member
 
Postado por: @nilton

...Funcionou perfeitamente, mas apenas para a primeira linha.

Isso acontece pq a fórmula na H7 da planilha PROD é  = Tabela6[@Produto] , o que informa ao Excel para trazer o conteúdo da coluna Produto da Tabela6 (planilha ENTRADAS) na mesma linha (@) em que a fórmula está na planilha PROD, congelada portanto na linha 7, por isso traz sempre aquele valor (se a fórmula estivesse na linha 8, traria o conteúdo da linha 8 e assim por diante).

Infelizmente o Excel, via fórmula, não oferece função para identificar qual seria a célula Ativa na hora que ela estaria  sendo preenchida na ENTRADAS para poder filtrar concomitantemente ao preenchimento (já via VBA a célula recém selecionada pode disparar um evento que pode ser reconhecido e usado). Até existem as funções LIN() e CÉL("lin"), mas elas só funcionariam após o valor ser entrado (ou deletado) na célula.

Vc pode até usar o último valor entrado na tabela como argumento na fórmula da G7, função Localizar, por exemplo:

=DESLOC(Tabela6[Produto];LINS(Tabela6)-1;0;1;1)

Por outro lado, não vejo motivo para vc não usar a própria lista de produtos (lstProdutos) como fonte da Lista de Validação de Dados das tabelas em ENTRADAS e SAÍDAS. Vc pode inclusive já trazer os dados classificados se isso for importante, inserindo a função CLASSIFICAR no próprio Gerenciador de Nomes aplicado ao nome lstProdutos. Veja que no Microsoft 365, diferentemente das versões anteriores, conforme vc vai digitando o próprio Excel se encarrega de ir filtrando somente as linhas em que os valores correspondem (por exemplo ao ir digitando a palavra "Porta" já ocorre a filtragem somente do que contém essa expressão - vide anexo).

 

 
Postado : 14/03/2022 3:56 pm
(@nilton)
Posts: 18
Active Member
Topic starter
 

Boa tarde, @edsonbr

Eu tentei seguir sua sugestão, mas não funcionou. Primeiro, não aconteceu de eu começar a digitar e filtrar a lista, como na sua imagem. Depois, quando eu inseri uma nova linha de compra, a lista não seguiu para a linha de baixo. O que eu posso estar fazendo de errado?

Att.

Nilton

 
Postado : 14/03/2022 6:37 pm
JSCOPA10
(@jscopa10)
Posts: 341
Reputable Member
 

@nilton , abri seu arquivo, para quem não está acostumado com ele, fica bem difícil entender exatamente o que você quer!!! ...

Sugestão: numa coluna ao lado, monta um exemplo do que você quer, e explica lá também mais passo a passo (tipo: nesta célula deve ter isto, por isto)!! ... Depois reposta o arquivo aqui !!! ...

A explicação no próprio arquivo fica SEMPRE melhor!!! .. Estamos aguardando!!!

De qualquer forma, o youtube tem boas aulas sobre isto ... https://www.youtube.com/results?search_query=Lista+suspensa+dentro+da+tabela

Este post foi modificado 2 anos atrás por JSCOPA10
 
Postado : 18/03/2022 6:06 pm