Eu tenho um campo que calcula o total de horas de desconto de um contrato da seguinte maneira:
Public Function CalculaIntervalo(HI As Date, HF As Date) As String
On Error Resume Next
Intervalo = HF - HI
vdf = CDate(HF)
vdi = CDate(HI)
Interval = vdf - vdi
Horas = Int(CSng(Interval * 24))
minutos = Int(CSng(Interval * 1440)) Mod 60
segundos = Int(CSng(Interval * 86400)) Mod 60
CalculaIntervalo = Horas & " : " & Format(Interval, "nn")
End Function
O intervalo Hf e Hi é baseado em data e hora, ou seja, :
HI= 06/12/2018 7:00
HF= 07/12/2018 12:00
Intervalo= 29:00
Até aqui td certo.
Mas agora precisamos de outro campo que calcule o intervalo considerando apenas as horas entre 7:00 e 19:00
Ou seja,
HI= 06/12/2018 7:00
HF= 07/12/2018 12:00
Intervalo= 17:00
Não estou conseguindo realizar o calculo desta maneira, considerando apenas as horas executadas entre 7:00 e 19:00. Alguém poderia me ajudar?
Public Function CalculaIntervalo(HI As Date, HF As Date) As String
On Error Resume Next
Intervalo = HF - HI
vdf = CDate(HF)
vdi = CDate(HI)
Interval = vdf - vdi
Horas = Int(CSng(Interval * 24))
minutos = Int(CSng(Interval * 1440)) Mod 60
segundos = Int(CSng(Interval * 86400)) Mod 60
CalculaIntervalo = Horas & " : " & Format(Interval, "nn")
End Function
O intervalo Hf e Hi é baseado em data e hora, ou seja, :
HI= 06/12/2018 7:00
HF= 07/12/2018 12:00
Intervalo= 29:00
Até aqui td certo.
Mas agora precisamos de outro campo que calcule o intervalo considerando apenas as horas entre 7:00 e 19:00
Ou seja,
HI= 06/12/2018 7:00
HF= 07/12/2018 12:00
Intervalo= 17:00
Não estou conseguindo realizar o calculo desta maneira, considerando apenas as horas executadas entre 7:00 e 19:00. Alguém poderia me ajudar?