Ir ao conteúdo
  • Cadastre-se
bieltonan

RESOLVIDO Validação de Dados com condições

Recommended Posts

Fala rapaziada.

 

 

Estou com o seguinte problema:

 

Na célula A1 possuo 2 opções possíveis (através de Lista): SIM; NÃO

 

 

Para as colunas ao lado (são 3) preciso que obedeçam ao seguinte critério: se, em A1, for selecionado NÃO as células ao lado (ex.: B1, C1 e D1) devem aparecer NÃO SE APLICA automaticamente (sem ação do usuário, sem seleção em lista); caso contrário, serão habilitadas listas em cada uma das células com informações específicas.

 

 

 

É possível????

 

 

 

 

Tks!

Compartilhar este post


Link para o post
Compartilhar em outros sites

este é tranquilo. ate meu ver.

 

use a formula 

=SE($A:$a="não";"Não se Aplica";0)

 

"serão habilitadas listas em cada uma das células com informações específicas"

esta opcao acima você deve colocar no lugar do "0".

 

dependendo claro do que você precisa informar. mas a formula base pode ser a acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

este é tranquilo. ate meu ver.

 

use a formula 

=SE($A:$a="não";"Não se Aplica";0)

 

"serão habilitadas listas em cada uma das células com informações específicas"

esta opcao acima você deve colocar no lugar do "0".

 

dependendo claro do que você precisa informar. mas a formula base pode ser a acima.

 

Eu não entendi muito bem sua fórmula, Bruno. Ou talvez eu não tenha entendido onde inserir ou como explicar.

 

 

A1 (como Validação, tipo LISTA)

SIM

NÂO

 

 

B1

***Se inserido NÃO em A1.... deve aparecer aqui NÃO SE APLICA (automaticamente)

***Se inserido SIM em A1.... deve aparecer aqui uma LISTA (da Validação) com algumas opções

Compartilhar este post


Link para o post
Compartilhar em outros sites

@bieltonan

 

Se quiser exprimentar esta solução que utiliza macro:

I - Coloque nas colunas  "P", "Q" e "R", a partir da linha 1, mínimo de duas linhas, as listas a serem aplicadas respectivamente na Validação de Dados das colunas "B", "C" e "D"

II - Instale o código abaixo no módulo da planilha, assim:
1. copie o código daqui
2. clique com o direito na guia da planilha de interesse e escolha 'Exibir código'
3. cole o código na janela em branco que vai se abrir
4. feito! 'Alt+Q' para retornar para a planilha e testar
 

Private Sub Worksheet_Change(ByVal Target As Range) Dim rngB As Range, rngC As Range, rngD As Range  If Target.Column > 1 Then Exit Sub  If Target.Count > 1 Then Exit Sub  If Target.Value = "NÃO" Then    Target.Offset(, 1).Resize(, 3).Validation.Delete    Target.Offset(, 1).Resize(, 3).Value = "NÃO SE APLICA"  ElseIf Target.Value = "SIM" Then   Target.Offset(, 1).Resize(, 3).Validation.Delete   Target.Offset(, 1).Resize(, 3).ClearContents   Set rngB = Range("P1", Range("P1").End(xlDown))    Target.Offset(, 1).Validation.Add Type:=xlValidateList, AlertStyle:= _     xlValidAlertStop, Operator:=xlBetween, Formula1:="=" & rngB.Address      Set rngC = Range("Q1", Range("Q1").End(xlDown))    Target.Offset(, 2).Validation.Add Type:=xlValidateList, AlertStyle:= _     xlValidAlertStop, Operator:=xlBetween, Formula1:="=" & rngC.Address       Set rngD = Range("R1", Range("R1").End(xlDown))    Target.Offset(, 3).Validation.Add Type:=xlValidateList, AlertStyle:= _     xlValidAlertStop, Operator:=xlBetween, Formula1:="=" & rngD.Address  Else    Target.Offset(, 1).Resize(, 3).Validation.Delete    Target.Offset(, 1).Resize(, 3).ClearContents  End IfEnd Sub



III - Funcionamento - válido para alterações na coluna "A" :
a. inserindo "NÂO" >> o código coloca "NÃO SE APLICA" e deleta a Validação em B:D
b. inserindo "SIM" >> o código limpa e aplica Validação em B:D conforme P:R
c. inserindo qualquer outro valor >> o código limpa e deleta a Validação em B:D
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@bieltonan

 

Se quiser exprimentar esta solução que utiliza macro:

I - Coloque nas colunas  "P", "Q" e "R", a partir da linha 1, mínimo de duas linhas, as listas a serem aplicadas respectivamente na Validação de Dados das colunas "B", "C" e "D"

II - Instale o código abaixo no módulo da planilha, assim:

1. copie o código daqui

2. clique com o direito na guia da planilha de interesse e escolha 'Exibir código'

3. cole o código na janela em branco que vai se abrir

4. feito! 'Alt+Q' para retornar para a planilha e testar

 

Private Sub Worksheet_Change(ByVal Target As Range) Dim rngB As Range, rngC As Range, rngD As Range  If Target.Column > 1 Then Exit Sub  If Target.Count > 1 Then Exit Sub  If Target.Value = "NÃO" Then    Target.Offset(, 1).Resize(, 3).Validation.Delete    Target.Offset(, 1).Resize(, 3).Value = "NÃO SE APLICA"  ElseIf Target.Value = "SIM" Then   Target.Offset(, 1).Resize(, 3).Validation.Delete   Target.Offset(, 1).Resize(, 3).ClearContents   Set rngB = Range("P1", Range("P1").End(xlDown))    Target.Offset(, 1).Validation.Add Type:=xlValidateList, AlertStyle:= _     xlValidAlertStop, Operator:=xlBetween, Formula1:="=" & rngB.Address      Set rngC = Range("Q1", Range("Q1").End(xlDown))    Target.Offset(, 2).Validation.Add Type:=xlValidateList, AlertStyle:= _     xlValidAlertStop, Operator:=xlBetween, Formula1:="=" & rngC.Address       Set rngD = Range("R1", Range("R1").End(xlDown))    Target.Offset(, 3).Validation.Add Type:=xlValidateList, AlertStyle:= _     xlValidAlertStop, Operator:=xlBetween, Formula1:="=" & rngD.Address  Else    Target.Offset(, 1).Resize(, 3).Validation.Delete    Target.Offset(, 1).Resize(, 3).ClearContents  End IfEnd Sub

III - Funcionamento - válido para alterações na coluna "A" :

a. inserindo "NÂO" >> o código coloca "NÃO SE APLICA" e deleta a Validação em B:D

b. inserindo "SIM" >> o código limpa e aplica Validação em B:D conforme P:R

c. inserindo qualquer outro valor >> o código limpa e deleta a Validação em B:D

 

 

 

osvaldomp

 

Ficou perfeito cara!

 

Exatamente o que eu queria!

 

 

 

Muito Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×