Notifications
Clear all

Validação Condicional.

14 Posts
3 Usuários
0 Reactions
4,354 Visualizações
(@carloseso)
Posts: 1
New Member
Topic starter
 

Pessoal,

Novamente recorra a este estimado grupo, para obter ajuda para solucionar uma dificuldade na elaboração de um relatório.
Preciso criar uma validação de dados "condicional", na qual ao selecionar um Empresa, aparecesse apenas os Coordenadores que correspondem a esta opção, ao selecionar um Coordenador, aparecesse apenas os Gerentes correspondentes a essa opção e assim sucessivamente, porém sem repetir os valores.

Anexo, segue o arquivo com alguns dados genéricos e informações adicionais.

Desde ja, agradeço!

Att.:
Carlos Eduardo de Sousa
E-mail: [email protected]

 
Postado : 15/04/2012 7:35 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Vou mover seu tópico para um lugar mais próprio.

Como dica temos postagem bem similar ao seu assunto, lembre se de usar a pesquisa do fórum!!

Por favor tire um tempo e leia as regras.
Veja em:
viewtopic.php?f=7&t=203

Att

 
Postado : 15/04/2012 10:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Veja uma maneira via VBA, para seu caso.

Baixe o arquivo.
http://www.sendspace.com/file/lnank1

Autor:Damon Ostrander
http://www.mrexcel.com/forum/showthread.php?t=8485
Código para remover duplicidade em Lista de Validação de Dados

Sub UniqueValidationList()
Dim ValList As String
Dim iCell As Integer
Dim jCell As Integer
Dim iDup As Integer
Dim ValRangeName As String
Dim ValRange As Range
Dim Answer As Variant
iDup = 0: ValList = ""
If Left(Selection.Validation.Formula1, 1) = "=" Then
'strip off equal sign character
ValRangeName = Mid(Selection.Validation.Formula1, 2)
Else
ValRangeName = Selection.Validation.Formula1
End If
On Error GoTo BadList
Set ValRange = Range(ValRangeName)
For iCell = 1 To ValRange.Cells.Count
For jCell = 1 To iCell - 1
'skip if duplicate found
If ValRange.Cells(iCell) = ValRange.Cells(jCell) Then
iDup = iDup + 1
GoTo SkipItem
End If
Next jCell
If ValList = "" Then
ValList = ValRange.Cells(iCell)
Else
If Len(ValList) + Len(ValRange.Cells(iCell)) > 254 Then
Answer = MsgBox("Max list size exceeded. List truncated.", _
vbExclamation + vbOKCancel, "Make Unique Validation List")
If Answer = vbCancel Then Exit Sub
GoTo Finish
End If
ValList = ValList & "," & ValRange.Cells(iCell)
End If
SkipItem:
Next iCell
Finish:
Selection.Validation.Delete
Selection.Validation.Add Type:=xlValidateList, Formula1:=ValList
MsgBox iDup & " duplicates removed from validation list", _
vbInformation, "Make Unique Validation List"
Exit Sub
BadList:
MsgBox "Invalid or no validation list range", _
vbCritical, "Make Unique Validation List"

End Sub

Att

 
Postado : 15/04/2012 11:07 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sem VBA. Me avise.

Abs,

 
Postado : 15/04/2012 11:22 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Carlos, seas ajudas acima não for o que pretende, sugiro realizar Pesquisa no forum, pela palavra "Dependente", irá encontrar vários tópcios que acredito se encaixarem em sua duvida.

[]s

 
Postado : 15/04/2012 6:46 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caraca Mandrix!!!!!!
Ficou show seu exemplo usando Indireto Menor e Lin pra fazer as validações... Parabéns!!!

 
Postado : 15/04/2012 10:56 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pessoal, vou dar pitaco, rsrsrs.

MANDRIX.xls, eu já havia tido a necessidade de fazer o que entendi que nosso amigo Carlos Eduardo está precisando. Pesquisando na net (por todos os lados possíveis, inclusive aqui no Planilhando), não obtive sucesso, pois o que eu encontrava era apenas opções iguais a que você colocou (mas a sua é mais "plus" que as outras, pois eu tinha achado apenas com até 3 condições).

A minha necessidade era que eu tivesse um banco de dados e em cada linha eu pudesse fazer a validação. Foi então que eu desenvolvi essa validação, onde eu posso, em cada linha, utilizar a validação condicional. Originalmente eu fiz esta planilha para usar como controle de Receitas e Despesas, mas acho que ela pode servir para vocês.

Essa planilha é daquele tipo que depois que você terminha você nem consegue explicar muito bem o que você fez, rsrsrs, portanto, sendo bem prático, vocês devem ir na aba "Cadastro c.c. despesa" e preencher com as informações necessárias. Segue breve explicação:

- Podemos colocar até 5 Centros de Custo (ou 5 empresas). Para cada Centro de Custo podemos escolher até 5 Categorias (ou Supervisores / Gerentes). Para cada Categoria podemos escolher até 25 Sub-Categorias (ou operacionais).

Enfim, espero ter ajudado.

Abraços pro6 tudo daqui das bandas de Goiás!!!

 
Postado : 16/04/2012 5:36 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!
Sei que o tópico já foi resolvido más não pude deixar de colocar esta planilha com validação dinâmica que aprendi no site CONTEXTURES, o método é de autoria do MVP Roger Govier.
Espero que possa interessar a alguém.
Caso eu esteja errado em postar num tópico já encerrado, peço desculpas.
Um abraço a todos!
Doni

 
Postado : 05/01/2013 8:38 pm
(@hpramos4)
Posts: 3
New Member
 

Bom dia, pessoal!

Estou com um problema semelhante em validação condicional, mas ainda não consegui resolver.
Creio que seja algo próximo dos exemplos fornecidos por vocês, mas a minha dúvida é a seguinte:

Na planilha em anexo, quero fazer uma validação de acordo com os pagamentos do mês. Ou seja, quando a pessoa fizer o cadastro na aba "Entrada de dados", na coluna C, J e K, inserir "Receita_de_clientes", na coluna E eu tenha a validação de todos os meus possíveis pagamentos. No entanto, quero que isto seja condicionado aos meus pagamentos do mês (aba Pagamentos - coluna C, G e F).

Resumindo, quero que quando eu insira uma receita, possa escolher de que cliente foi, mas apenas os que vão pagar no mês.

Espero que tenha sido claro!

Muito obrigado,

 
Postado : 03/04/2013 5:53 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite Hipramos4

Seja bem vindo(a) ao fórum!

Fiz um filtro com fórmulas(nas colunas AA e AB da planilha Pagamentos, utilizando como critério o mês e o ano que vc selecionar nas K2 e K3 dessa planilha.

Na coluna E da planilha Entrada de dados, agora só aparece os clientes do mês que foi selecionado nas células K2 e K3 da planilha Pagamentos.

Baixe a planilha e teste:

Dê retorno.

Se a resposta foi útil, clique na mãozinha que fica do lado da ferramenta Citar.

Um abraço.

 
Postado : 03/04/2013 6:40 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Patropi,

O problema neste método é que a cada inserção de dados é necessário sair da aba Entrada de Dados, ir na aba Pagamentos, modificar K2 e K3, voltar e selecionar no combo (atualizado).

Estou entendendo que o Hpramos4 precisa que esta escolha seja automática, baseada na data (melhor dizendo, mês e ano) da coluna B.

Se for isso mesmo, é necessário prover volatilidade à área de busca em Pagamentos, conforme tento demonstrar no anexo.

Hpramos4,

Para que funcione, é necessário que a coluna datacli da aba Pagamentos permaneça ordenada da menor data para a maior (exatamente como está).

Me avise pois não testei como deveria. É complexo mesmo.

Abs,

 
Postado : 03/04/2013 10:52 pm
(@hpramos4)
Posts: 3
New Member
 

Bom dia Patropi!!

Perfeito! Realmente, era exatamente isso que eu precisava!

Não tenho os conhecimentos tão avançados em Excel, então ainda estou compreendendo a lógica das funções hehehe. Mas de qualquer forma, o problema foi resolvido!

Muito obrigado!

Um abraço,

 
Postado : 04/04/2013 6:10 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Mandrix

Sem dúvida, a tua solução é bem mais prática.

Esta é uma das vantagens dos fóruns, um vai aperfeiçoando a solução do outro e todos nós vamos ajudando e aprendendo.

Um abraço.

 
Postado : 04/04/2013 4:07 pm
(@hpramos4)
Posts: 3
New Member
 

Boa tarde, Mandrix!

Não havia visto sua resposta. De fato, era exatamente isso que eu estava precisando, pois deixa a planilha mais ágil!

Obrigado aos dois, isso será tema do meu TCC (a parte financeira) e me ajudará bastante hehehe

Um abraço,

 
Postado : 06/04/2013 11:25 am