Hernán, con los datos de la pregunta no se obtienen esos valores, le preparé este ejemplo, pero cambiando la fecha de encendido,
Utilizo una función que permite calcular solo tiempo horas, minutos y segundos o días, horas, minutos y segundos.
CÓDIGO DEL BOTÓN CALCULAR
Private Sub btnCalcular_Click()
If IsDate(Me.ctlinicio) And IsDate(Me.ctlapagado) Then
If Me.ctlapagado < Me.ctlinicio Then
MsgBox "La fecha y hora de apagado debe ser mayor que el inicio", vbInformation, "Cuidado"
Me.ctlapagado.SetFocus
Exit Sub
End If
End If
Me.ctlhm = TiempoUso(Me.ctlinicio, Me.ctlapagado)
Me.ctldhm = TiempoUso(Me.ctlinicio, Me.ctlapagado, True)
End Sub
Observe que la función TiempoUso acepta hasta 3 parámetros, para obtener solo horas, minutos y segundos se pasan 2 parámetros, fecha hora inicio y fecha hora apagado. Para obtener los días se pasa el tercer parámetro.
CÓDIGO DE LA FUNCIÓN TIEMPOUSO
Public Function TiempoUso(dtDesde As Date, dtHasta As Date, _
Optional blnMostrarDias As Boolean = False) As String
'Función para hallar el tiempo transcurrido desde una fecha y hora
'hasta otra fecha y hora.
'Ejemplo de llamada:
' Tiempouso(#10/09/2022 21:05:12#,#10/12/2022 06:50:15#)
' Retorna 57:45:03 - Solo horas, minutos y segundos
'
' Tiempouso(#10/09/2022 21:05:12#,#10/12/2022 06:50:15#,True)
' Retorna 2:09:45:03 - Días, horas, minutos y segundos
Dim dtTiempo As Date
Dim lngDias As Long
Dim strDias As String
Dim strHoras As String
' restar un día de la hora 'desde' si es posterior o igual que la hora 'hasta'
If dtHasta <= dtDesde Then
If Int(dtDesde) + Int(dtHasta) = 0 Then
dtDesde = dtDesde - 1
End If
End If
' obtener la duración como tipo de datos de fecha y hora
dtTiempo = dtHasta - dtDesde
'obtener los días enteros
lngDias = Int(dtTiempo)
strDias = CStr(lngDias)
' obtener horas
strHoras = Format(dtTiempo, "hh")
If blnMostrarDias Then
TiempoUso = lngDias & ":" & strHoras & Format(dtTiempo, ":nn:ss")
Else
TiempoUso = Format((Val(strDias) * 24) + Val(strHoras), "#,##0") & _
Format(dtTiempo, ":nn:ss")
End If
End Function