Public Function SommaOrari(Orario1, Orario2) As String
' Orario1 e Orario2 possono essere in formato testo
' restituisce una stringa con la somma superando le 24 ore
Dim ora1 As String, ora2 As String, min1 As String, min2 As String, s_min, sec1 As String, sec2 As String, s_sec
Dim o, m, s
ora1 = Mid(Orario1, 1, 2): ora2 = Mid(Orario2, 1, 2) ' Separo ore
min1 = Mid(Orario1, 4, 2): min2 = Mid(Orario2, 4, 2) ' minuti
sec1 = Mid(Orario1, 7, 2): sec2 = Mid(Orario2, 7, 2) ' secondi
' Calcolo il riporto per i secondi e per i minuti
s_sec = (Val(sec1) + Val(sec2)) \ 60 ' =1 se sec1 + sec2 > 59 altrimenti =0
s_min = (Val(min1) + Val(min2) + s_sec) \ 60 ' =1 se min1 + min2 > 59 altrimenti =0
o = Val(ora1) + Val(ora2) + s_min: If o < 10 Then o = "0" & o
m = (Val(min1) + Val(min2) + s_sec) Mod 60: If m < 10 Then m = "0" & m
s = (Val(sec1) + Val(sec2)) Mod 60: If s < 10 Then s = "0" & s
SommaOrari = o & ":" & m & ":" & s
End Function
|