Notifications
Clear all

Formula em Validação de Dados

4 Posts
3 Usuários
0 Reactions
1,064 Visualizações
(@yatagan)
Posts: 22
Eminent Member
Topic starter
 

Olá pessoal, venho aqui pedir ajudar em relação a validação de dados do excel.

Eu tenho uma enorme lista com vários alimentos, queria que quando criasse a caixa de validação de dados onde tem a lista suspensa com todos os alimentos que ao digitar por exemplo a letra "B" aparecessem os alimentos iniciados por essa letra quando clicar naquele seta ao lado, eu sei que há esta maneira pois tenho uma planilha aqui modelo que achei na internet e ela faz isso, só que não consigo extrair o que foi feito nela para que isso ocorra (ELA NÃO USA VBA,ELA É xls).

Estou mandando a planilha em que eu quero me basear.

Até logo!

ajuda: a parte em que a validação que quero está na aba Receitas no Quadro1 tem uma lista para preencher onde tem a setinha de validação, lá é que acontece ao digitar a inicial os alimentos com essa inicial aparecem.

 
Postado : 18/06/2017 8:39 pm
NERI S
(@neri-s)
Posts: 0
Estimable Member
 

Bom dia amigo
veja se serve a opção no endereço abaixo:
https://guiadoexcel.com.br/lista-de-val ... letar-vba/

Att

 
Postado : 19/06/2017 6:30 am
Estevaoba
(@estevaoba)
Posts: 0
Eminent Member
 

Bom dia.

Segue link de um tópico semelhante ao seu:

viewtopic.php?f=20&t=24888

Baixe a planilha com a solução e siga as instruções abaixo:

1. Crie uma tabela auxiliar preenchida com a fórmula (matricial) de busca abaixo (Tecla Crtl + Shift + Enter após inserir fórmula matricial). É importante iniciar essa tabela auxiliar na mesma linha da tabela de dados. Depois arraste para tantas linhas quanto achar necessárias. Eu arrastei a fórmula por 200 linhas.
=SEERRO(ÍNDICE($A$2:$A$10000;MENOR((LIN($A$2:$A$10000)-LIN($F$1))*SE(ÉERROS(LOCALIZAR($D$2;$A$2:$A$10000;1));CONT.VALORES($A$2:$A$10000)+1;1);CONT.VALORES($A$2:A2)));"")

2. Selecione uma célula que será usada para a lista suspensa. No caso, usei a célula D2.

3. Na aba fórmulas, clique em Gerenciador de Nomes, clique em Novo e crie um novo intervalo. Eu nomeei Intervalo_Dinamico (não use espaço ou acentos). No campo Refere-se a, cole a fórmula:
=DESLOC(Plan1!F2;0;0;CONT.VALORES(Plan1!$F$2:$F$202)-CONTAR.VAZIO(Plan1!$F$2:$F$202))
Essa fórmula irá definir a extensão do intervalo com dados (a tabela auxiliar do item 1) que coincidam com as primeiras letras digitadas.

4. Clique na célula D2 e depois na aba Dados, Validação de Dados. Em seguida, selecione Lista e em Fonte, digite = Intervalo_Dinamico (ou o nome que você escolheu na etapa 3 acima). Desmarque a opção Mostrar alerta de erro após a inserção de dados inválidos na aba Alerta de Erro.

Boa sorte.

 
Postado : 19/06/2017 8:17 am
(@yatagan)
Posts: 22
Eminent Member
Topic starter
 

Obrigado aos dois pela ajuda, mas como havia dito, usar o vba nesse caso não seia adequado (por que provavelmente irei compartilhar a planilha, então todo mundo que recebesse precisaria ativar as macros, e isso seria meio desgastante, já que a maioria que receberia não teria entendimento prévio sobre macros e como ativá-las)

E do outro modo não tive êxito, mas eu prestei bem atenção na planilha base que tenho aqui e consegui reproduzir na minha planilha sem problemas e sem ajuda de VBA.
Claro, que criarei uma planilha com vba especificamente para mim afim de facilitar

mais uma ve, Obrigado!

 
Postado : 19/06/2017 12:04 pm