Compartilhar via

Mais de um tipo de validação em uma mesma célula - Dupla validação de célula

Anônima
2016-09-19T19:50:35+00:00

Olá pessoal!

Preciso fazer uma dupla validação de dados em uma única célula do Excel.

Condições a serem atingidas na validação:

Essas validações consegui fazer utilizado a opção "Personalizado"

  • permitir preenchimento apenas em dias úteis (não pode permitir em finais de semana e feriados)
  • permitir preenchimento apenas no dia atual ( hoje() )
  • permitir preenchimento apenas em horário específico (das 07:00 às 14:00 e das 14:01 às 20:00)
  • permitir preenchimento com base no dia da semana (somente no selecionado)
  • permitir o preenchimento apenas uma vez por semana

Porém, há mais uma validação que não consigo encaixar neste contexto (usaria a validação do tipo "Lista")

  • permitir o preenchimento apenas do valor "x"

Alguém saberia me dizer se é possível, de alguma forma (mesmo que seja por meio de VBA), utilizar duas formas de validação na mesma célula, "Lista" e "Personalizada"?

Desde já agradeço a atenção.

Forte Abraço

David

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Anônima
2016-09-20T15:26:26+00:00

Olá David!

Entendi que a questão da lista suspensa com o "X" seria para efeito de facilitar o preenchimento na sua tabela.

Olhei a imagem e as validações que você descreveu, e acredito que a fórmula de validação personalizada esteja como algo do tipo:

=e(DIA.DA.SEMANA(J$10;2)<=5;cont.se(tab_Feriados;J$10)=0;J$10=HOJE();ou(e(HORA(AGORA())>=7;HORA(AGORA())<=14);e(HORA(AGORA())>=14;HORA(AGORA())<=20)))

Independente de como é sua fórmula, posso sugerir algo que facilitaria o preenchimento. Ao invés de lista, por que não usar o duplo clique para preencher com o "X"?

Na sua fórmula de validação, adicione a condição de aceitar somente o texto "X" na célula, que no meu exemplo, ficaria:

=e(DIA.DA.SEMANA(J$10;2)<=5;cont.se(tab_Feriados;J$10)=0;J$10=HOJE();ou(e(HORA(AGORA())>=7;HORA(AGORA())<=14);e(HORA(AGORA())>=14;HORA(AGORA())<=20));J11="X")

Depois, vá no VBA, e no módulo da planilha cole o código abaixo e faça os ajustes necessários do range (intervalo) conforme a sua planilha:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Range("J11:AM30"), Target) Is Nothing Then

Application.SendKeys ("X")

Application.SendKeys ("{ENTER}")

End If

End Sub

Agora é só testar na planilha. Não é uma solução com caixa de listagem, mas com duplo clique, que ao meu ver fica ainda mais fácil.

Esta resposta foi útil?

1 pessoa achou esta resposta útil.
0 comentários Sem comentários

4 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2016-09-21T20:17:49+00:00

    Boa tarde Rafael!

    Muito obrigado pela solução proposta!

    Apesar de não ser a resposta para a pergunta (como aplicar dupla validação), vai atender às minhas necessidades!

    Ficou perfeito! Melhor até do que eu tinha planejado!

    Muito obrigado mesmo!!!

    Forte Abraço!

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2016-09-20T14:59:27+00:00

    Bom dia Rafael!

    Segue imagem da planilha, o objetivo dela é controlar a execução de tarefas, permitindo que o usuário preencha cada "x" somente com base nas condições que informei anteriormente.

    Consegui fazer todas as validações que mencionei, a não ser a de obrigar o preenchimento com "x".

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2016-09-20T13:12:13+00:00

    Olá David!

    Eu compreendi a questão, mas não consegui enxergar totalmente como se dão algumas das validações que você descreveu sem enxergar o layout da sua planilha. Você consegue postar uma imagem da sua planilha?

    Creio que a solução virá por VBA.

    Abraços!

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2016-09-20T12:57:26+00:00

    Olá David Marcus Mápelli, tudo bem? 

    Obrigado por entrar em contato com à Comunidade Microsoft!

    Muito interessante sua dúvida sobre a validação em uma mesma célula. Acredito que consiga sim por VBA. Peço a gentileza que acesse o link abaixo que vai direciona-lo ao MSDN, fórum especialmente destinados para desenvolvedores e profissionais em TI e voltado também para essa questão.

    MSDN

    https://social.msdn.microsoft.com/Forums/pt-BR/newthread?category=officesharepointpt&forum=vbapt

    Se está informação foi útil, por favor, marque como resposta, caso a sua dúvida não tenha sido solucionada, por favor, poste novamente.

    Espero ter ajudado, até mais!

    Esta resposta foi útil?

    0 comentários Sem comentários