Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
Por CAMILOALVES
Posts
#64340
Boa Tarde!
Necessito de algumas validações entre datas e horários, sendo assim solicito verificar a possibilidade de atender as solicitações abaixo:
1) Não permitir digitação de data maior na célula "B12" em relação a célula "B13";
2) Só permitir a entrada de dados em formato DATA (XX/XX/XXXX) em “B12” e “B13”;
3) Se B12 e B13 forem datas iguais, não permitir digitar valor de hora maior em B14 em relação a B15;
4) Se em B13 a data for maior que B12, deverá ser permitido digitar um horário menor em B15 em relação a B14, isso deve-se ao fato de um evento passar de um dia para outro;
5)Só permitir a entrada de dados em formato HORA: [h]:mm em “B14” e “B15” .
Desde Já Agradeço
Você não está autorizado a ver ou baixar esse anexo.
Por CAMILOALVES
Posts
#64373
Prezado Foxtri - 04 Mai 2021 às 16:46, Bom Dia!
Obrigado por dispor de seu tempo para ajudar-me.
Então...Não funcionou, veja os testes na planilha anexo.
Segue uma breve especificação funcional:
Se “B12” > “B13”
Msg: “Data inicial Não Pode Ser Maior Que Data Final”
Fim-se
Se “B12” = “B13” E “B14”>”B15”
Msg: “Hora inicial Não Pode Ser Maior Que Hora Final”
****Vide CONSIDERAÇÕES FINAIS
Fim-se

****CONSIDERAÇÕES FINAIS: Caso a data final (“B13”) seja maior que a data inicial (“B12”), deverá ser permitido a digitação de um valor menor em hora final (“B15”) em relação a hora inicial (“B14”), Isso deve-se ao fato de um evento passar de um dia para outro, por exemplo, uma preventiva inicia-se em 05/05/21 às 16:00Hs podendo se estender até o dia 06/05/21 às 7:10Hs..
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#64392
Salve, @CAMILOALVES » 05 Mai 2021 às 10:04


Veja se atende.
Validação de Dados | Personalizado | desmarcar Ignorar em branco:

em B12 ~~~> se B13=0, então permite de hoje até hoje+60 dias; se B13>0, então permite de hoje até B13
=E($B$12>=HOJE();$B$12<=$B$13+((HOJE()+60)*($B$13=0)))

em B13 ~~~> permite a partir de hoje e maior ou igual a B12
=E($B$13>=HOJE();$B$13>=$B$12+HOJE()*($B$12=0))

em B14 ~~~> =$B$12+$B$14<=$B$13+$B$15

em B15 ~~~> =$B$13+$B$15>=$B$12+$B$14
CAMILOALVES agradeceu por isso
Por CAMILOALVES
Posts
#64399
Bom Dia Prezado osvaldomp - 05 Mai 2021 às 18:10!
Primeiramente Muito Obrigado Por Dispor de Seu Tempo Para Ajudar-me.
Então...Não Funcionou!
Se Possível, Peço Que Analise.
O que está acontecendo:
1)Na célula “B12” só está aceitando digitação da data atual ou posterior;
2)Na célula “B13” está aceitando digitação de dados com a célula “B12” em branco;
3)Na célula “B14” só está aceitando digitação se houver dados na célula “B15”.
Ressalvas: o objetivo da planilha é controlar manutenção, isso ocorre semanalmente, mensalmente e trimestralmente, portanto não pode haver restrições quanto a lançar datas anteriores a data atual do sistema, a não ser as condições solicitadas.
OBS: Caso Você Julgue Necessário e Se Possível, a Solução Poderá Ser Via Macro.
Segue uma breve especificação funcional:
Format “B12” e “B13” com xx/xx/xxxx
Format “B14” e “B15” com [h]:mm
Se “B12” > “B13”
Msg: “Data inicial Não Pode Ser Maior Que Data Final”
Fim-se

Se “B12” = “B13” E “B14”>”B15”
Msg: “Hora inicial Não Pode Ser Maior Que Hora Final”
****Vide CONSIDERAÇÕES FINAIS
Fim-se

****CONSIDERAÇÕES FINAIS: Caso a data final (“B13”) seja maior que a data inicial (“B12”),
deverá ser permitido a digitação de um valor menor em hora final (“B15”) em relação a hora inicial (“B14”),
Isso deve-se ao fato de um evento passar de um dia para outro, por exemplo, uma preventiva inicia-se em 05/05/21 às 16:00Hs podendo se estender até o dia 06/05/21 às 7:10Hs.

OBS: Reenvio planilha já com vossa solução inicial
Atenciosamente
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#64405
Caro, @CAMILOALVES , veja se atende, por gentileza.

na VD de B12 ~~~> =E(ÉNÚM($B$12);$B$12<=$B$13+((HOJE()+3^8)*($B$13=0)))

na VD de B13 ~~~> =E(ÉNÚM($B$13);$B$13>=$B$12;$B$12>0)

na VD de B14 ~~~> =OU($B$15=0;$B$12+$B$14<=$B$13+$B$15)

na VD de B15 ~~~> =E($B$14>0;$B$13+$B$15>=$B$12+$B$14)
CAMILOALVES agradeceu por isso
Por CAMILOALVES
Posts
#64424
Prezado osvaldomp - 06 Mai 2021 às 18:12, Bom Dia!
Primeiramente Obrigado Pela Força, Dedicação e Paciência, e que DEUS continue lhe dando conhecimento.
My friend, BINGO! era exatamente isso.
Atenciosamente
osvaldomp agradeceu por isso
Por osvaldomp
#64426
#
Salve, @CAMILOALVES .

Que bom que funcionou. Explicando o erro na versão anterior que eu sugeri, foi que eu pensei que se tratava de planejamento (futuro, portanto) então coloquei uma restrição para só aceitar datas a partir do dia atual. :oops:

Deus lhe proteja também. Se cuide.
CAMILOALVES agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord