Funcion SumaHoras
Publicado por Emanuel Lopez (45 intervenciones) el 09/12/2006 19:53:18
tengo esta funcion que les pongo ahi abajo, pero tengo un problema al manerarla, no me saca ningun resultado, es que no entiendo como manejarla, supuestamente la funcion suma dos horas de tal manera que pueda mostrar una suma de horas de este modo
"350:00", es justamente lo que encesito pero no tengo ni la menor idea de como hacer que corra esta funcion si alguien me puede ayudar se los agradesco.
Tengo en mi programa dos variables n1 y n2 en esas variables almaceno horas en n1="15:25" y en n2="23:00", supuestamente con esta funcion me deberia de arrojar un resultado de "38:25", mi duda es como pasar esos valores acumulados a la funcion??
si alguien me puede ayudar lo agradesco mucho.
Function SumaHoras(Hora1 As String, Hora2 As String) As String
Dim H1 As Long
Dim H2 As Long
Dim M1 As Integer
Dim M2 As Integer
Dim P As Integer
Dim P2 As Integer
Dim Hf As Long
Dim Mf As Long
P = InStr(1, Hora1, ":") ' guardo la posicion del ":" de la hora 1
P2 = InStr(1, Hora2, ":") ' guardo la posicion del ":" de la hora 2
H1 = Mid(Hora1, 1, P - 1) 'tomo la hora 1
H2 = Mid(Hora2, 1, P2 - 1) 'tomo la hora 2
M1 = Mid(Hora1, P + 1, Len(Hora1)) ' tomo los seg. de la hora 1
M2 = Mid(Hora2, P2 + 1, Len(Hora2)) ' tomo los seg. de la hora 2
Hf = (H1 + H2) ' sumo las horas
Hf = Hf * 60 ' paso las horas a minutos
Mf = M1 + M2 ' sumo los minutos
Mf = Hf + Mf ' sumo el total minutos
Hf = Fix(Mf / 60) ' obtengo las horas totales de las horas
Mf = Mf - (Hf * 60) ' obtengo los minutos
SumaHoras = Format(Hf, "0#") & ":" & Format(Mf, "00")
End Function
"350:00", es justamente lo que encesito pero no tengo ni la menor idea de como hacer que corra esta funcion si alguien me puede ayudar se los agradesco.
Tengo en mi programa dos variables n1 y n2 en esas variables almaceno horas en n1="15:25" y en n2="23:00", supuestamente con esta funcion me deberia de arrojar un resultado de "38:25", mi duda es como pasar esos valores acumulados a la funcion??
si alguien me puede ayudar lo agradesco mucho.
Function SumaHoras(Hora1 As String, Hora2 As String) As String
Dim H1 As Long
Dim H2 As Long
Dim M1 As Integer
Dim M2 As Integer
Dim P As Integer
Dim P2 As Integer
Dim Hf As Long
Dim Mf As Long
P = InStr(1, Hora1, ":") ' guardo la posicion del ":" de la hora 1
P2 = InStr(1, Hora2, ":") ' guardo la posicion del ":" de la hora 2
H1 = Mid(Hora1, 1, P - 1) 'tomo la hora 1
H2 = Mid(Hora2, 1, P2 - 1) 'tomo la hora 2
M1 = Mid(Hora1, P + 1, Len(Hora1)) ' tomo los seg. de la hora 1
M2 = Mid(Hora2, P2 + 1, Len(Hora2)) ' tomo los seg. de la hora 2
Hf = (H1 + H2) ' sumo las horas
Hf = Hf * 60 ' paso las horas a minutos
Mf = M1 + M2 ' sumo los minutos
Mf = Hf + Mf ' sumo el total minutos
Hf = Fix(Mf / 60) ' obtengo las horas totales de las horas
Mf = Mf - (Hf * 60) ' obtengo los minutos
SumaHoras = Format(Hf, "0#") & ":" & Format(Mf, "00")
End Function
Valora esta pregunta


0