Prezados Senhores,
Escrevi a seguinte rotina para cálculo das horas quando a hora trabalhada ultrapassa meia-noite, considerando que o cartão neste caso é batido apenas na entrada e saída:
If EntradaManha <> "" Then
minutosEntrada = Int(Left(EntradaManha, 2) * 60)
End If
If SaidaManha <> "" Then
minutosSaida = Int(Left(SaidaManha, 2) * 60)
End If
If minutosEntrada < minutosSaida Or minutosEntrada = minutosSaida Or EntradaManha = "" Or EntradaTarde = "" Then
HorasTrabalhadas = (CDate(SaidaTarde) - CDate(EntradaTarde)) + (CDate(SaidaManha) - CDate(EntradaManha))
Else
'No caso de cálculo horas trabalhadas quando ultrapassar a meia-noite:
calculominutosAteMeiaNoite = 1440 - (Left(EntradaManha, 2) * 60 + Mid(EntradaManha, 4, 2))
calculominutosPosMeiaNoite = Left(SaidaManha, 2) * 60 + Mid(SaidaManha, 4, 2)
calculominutos = calculominutosAteMeiaNoite + calculominutosPosMeiaNoite
horas = Int(calculominutos) / 60
minutos = Format(calculominutos - (horas * 60))
HorasTrabalhadas = Format(horas, "00") & ":" & Format(minutos, "00")
End If
Ocorre que o else nunca ocorre. Alguém saberia indicar por quê?
Agradeço, desde já...
Escrevi a seguinte rotina para cálculo das horas quando a hora trabalhada ultrapassa meia-noite, considerando que o cartão neste caso é batido apenas na entrada e saída:
If EntradaManha <> "" Then
minutosEntrada = Int(Left(EntradaManha, 2) * 60)
End If
If SaidaManha <> "" Then
minutosSaida = Int(Left(SaidaManha, 2) * 60)
End If
If minutosEntrada < minutosSaida Or minutosEntrada = minutosSaida Or EntradaManha = "" Or EntradaTarde = "" Then
HorasTrabalhadas = (CDate(SaidaTarde) - CDate(EntradaTarde)) + (CDate(SaidaManha) - CDate(EntradaManha))
Else
'No caso de cálculo horas trabalhadas quando ultrapassar a meia-noite:
calculominutosAteMeiaNoite = 1440 - (Left(EntradaManha, 2) * 60 + Mid(EntradaManha, 4, 2))
calculominutosPosMeiaNoite = Left(SaidaManha, 2) * 60 + Mid(SaidaManha, 4, 2)
calculominutos = calculominutosAteMeiaNoite + calculominutosPosMeiaNoite
horas = Int(calculominutos) / 60
minutos = Format(calculominutos - (horas * 60))
HorasTrabalhadas = Format(horas, "00") & ":" & Format(minutos, "00")
End If
Ocorre que o else nunca ocorre. Alguém saberia indicar por quê?
Agradeço, desde já...