Galera abaixo está um código que estou usando para somar total de horas, porem quando se tem muitas horas dá um erro "overflow", preciso de ajuada para solucionar este pane, quempuder me ajudar, ficarei muito grato.
Henrique
Segue o meu código
'On Error GoTo fora
If Text2.Text = "" Or Text3.Text = "" Then
MsgBox "Informe uma data válida", vbExclamation, "Informação de Datas"
Text2.SetFocus
Exit Sub
End If
Dim dtp As Date
Dim dtp2 As Date
dtp = Text3.Text
dtp2 = Text2.Text
If CDate(dtp) > CDate(dtp2) Then
MsgBox "A data inicial não pode ser maior que a data final", vbExclamation, "Informação de Datas"
Text1.SetFocus
Exit Sub
End If
Dim totalhours As Long, totalminutes As Long, totalseconds As Long
Dim days As Long, hours As Long, minutes As Long, seconds As Long
Dim interval As Variant, j As Integer
RESP.MoveMin
Do While Not RESP.EOF
If RESP!Data_Deslocamento >= dtp And RESP!Data_Deslocamento <= dtp2 Then
interval = interval + RESP!Total_Horas
End If
RESP.MoveNext
Loop
totalhours = Int(CSng(interval * 24))
totalminutes = Int(CSng(interval * 1440))
totalseconds = Int(CSng(interval * 86400))
hours = totalhours Mod 24
minutes = totalminutes Mod 60
seconds = totalseconds Mod 60
Hora = Str(totalhours) & ":"
AumentaZero = Right$("0" & Trim(Str(Trim(minutes))) & ":", 3)
Hora = Hora & AumentaZero
AumentaZero = Right$("0" & Trim(Str(Trim(seconds))), 3)
Hora = Hora & AumentaZero
Label1.Caption = Hora & " Horas fora da fração"
Exit Sub
'fora:
' MsgBox "Ocorreu um erro no processamento, verifique os campos data", vbExclamation, "Erro na digiração das datas"