olá pessoal, estou com dificuldades para criar uma regra com DataDiff para gerar paramentro em datas de vencimento com base na data atual do sistema, segue exemplo:
Data de Vencimento: 30/08/2019
05/08/2019
05/07/2019
a) Quando faltar 15 dias para vencer começar contagem regressiva, caso contrario "Dentro do Prazo"
b) Se vencida "Vencida"
c) Se vencida a mais de 30 dias "Crítico"
Agradeço pela ajuda.
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Regra DataDiff
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Sex Jun 30, 2017 2:43 pm
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Regra DataDiff
Algum motivo especifico para utilizar DataDiff?
Pelo exposto a simples diferença de data, aparentemente, atende
Supondo que o comparativo seja Vencimento vx Data de Hoje; teremos Algo +/- assim:
Pelo exposto a simples diferença de data, aparentemente, atende
Supondo que o comparativo seja Vencimento vx Data de Hoje; teremos Algo +/- assim:
Código: Selecionar todos
=SE(DataVencimento-DataHoje>15;"No Prazo";SE(E(DataVencimento-DataHoje>0;DataVencimento-DataHoje<16);"Faltam "&DataVencimento-DataHoje&" dias para Vencer";SE(E(DataVencimento-DataHoje<0;DataVencimento-DataHoje>-31);"Vencido";"Critico")))
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Sex Jun 30, 2017 2:43 pm
Re: Regra DataDiff
Obrigado por atender Reinaldo.
Como estou usando UserForm, criei uma Sub para fazer a regra como você sugeriu, porem esta com um probleminha:
Private Sub StatusVencimento()
Dim DataBase As Date
Dim Vencimento As Date
Dim QuardaStatus As String
DataBase = Format(Now, "yyyy-mm-dd")
If Vencimento - DataBase > 15 Then
QuardaStatus = "Dentro do Prazo"
ElseIf Vencimento - DataBase > 0 And Vencimento - DataBase < 16 Then
QuardaStatus = "À Vencer"
ElseIf Vencimento - DataBase < 0 And Vencimento - DataBase > -31 Then
QuardaStatus = "Vencido"
Else
QuardaStatus = "Crítico"
End If
End Sub
Usei como exemplo os vencimentos abaixo e DataBase 10/08/2019:
06/07/2019 "Crítico" - OK
04/08/2019 " Dentro do Prazo", deveria ser "vencido"
10/08/2019 "Vencido" OK
28/08/2019 "Dentro do Prazo" OK
24/08/2019 "Dentro do Prazo" deveria ser "À Vencer"
Agradeço se analisar.
Como estou usando UserForm, criei uma Sub para fazer a regra como você sugeriu, porem esta com um probleminha:
Private Sub StatusVencimento()
Dim DataBase As Date
Dim Vencimento As Date
Dim QuardaStatus As String
DataBase = Format(Now, "yyyy-mm-dd")
If Vencimento - DataBase > 15 Then
QuardaStatus = "Dentro do Prazo"
ElseIf Vencimento - DataBase > 0 And Vencimento - DataBase < 16 Then
QuardaStatus = "À Vencer"
ElseIf Vencimento - DataBase < 0 And Vencimento - DataBase > -31 Then
QuardaStatus = "Vencido"
Else
QuardaStatus = "Crítico"
End If
End Sub
Usei como exemplo os vencimentos abaixo e DataBase 10/08/2019:
06/07/2019 "Crítico" - OK
04/08/2019 " Dentro do Prazo", deveria ser "vencido"
10/08/2019 "Vencido" OK
28/08/2019 "Dentro do Prazo" OK
24/08/2019 "Dentro do Prazo" deveria ser "À Vencer"
Agradeço se analisar.
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Regra DataDiff
Na rotina acima não é indicado como é obtido o valor da Variável Vencimento? Assim fica dificil entender o que ocorre.
Mas tentemos supondo que a origem seja planilha coluna "A"
Veja no anexo a coluna B o retorno
Mas tentemos supondo que a origem seja planilha coluna "A"
Veja no anexo a coluna B o retorno
- Anexos
-
- StVenc.zip
- (13.05 KiB) Baixado 244 vezes