Te paso un código que hice en un programa mío muy sencillo.
Te lo paso con a = 102000 segundos.
Por cierto tu respuesta: 102000 -> 28 h. 21 min. 18 seg. es incorrecta. El resultado es 28 horas con 20 minutos ya que:
28 h. * 3600 = 100800 segundos
20 min. * 60 = 1200 segundos
Sumando: 100800 + 1200 = 102000 segundos.
Pon solamente un textbox en un formulario para que veas el resultado. El código es el siguiente:
Te lo paso con a = 102000 segundos.
Por cierto tu respuesta: 102000 -> 28 h. 21 min. 18 seg. es incorrecta. El resultado es 28 horas con 20 minutos ya que:
28 h. * 3600 = 100800 segundos
20 min. * 60 = 1200 segundos
Sumando: 100800 + 1200 = 102000 segundos.
Pon solamente un textbox en un formulario para que veas el resultado. El código es el siguiente:
Código [Seleccionar]
Private Sub Form_Load()
Dim a As Long
a = 102000 'El tiempo para Convertir_tiempo en segundos.!
Text1.Text = Convertir_tiempo(a)
End Sub
Public Function Convertir_tiempo(ByRef duracion As Long) As String
Dim Tmp As Long
Dim Horas As Long
Dim Minutos As Long
Dim Segundos As Long
On Error Resume Next
Tmp = duracion
Horas = Int(Tmp / 3600)
Tmp = Tmp - (Horas * 3600)
Minutos = Int(Tmp / 60)
Tmp = Tmp - (Minutos * 60)
Segundos = Tmp
Convertir_tiempo = ""
If Horas > 0 Then Convertir_tiempo = Format(Horas, "00") & ":"
Convertir_tiempo = Convertir_tiempo & Format(Fix(Minutos), "00") & ":"
Convertir_tiempo = Convertir_tiempo & Format(Fix(Segundos), "00")
End Function