Problema con resta de hora minuto y segundo.

Para: Dante Amor

Ante todo un cordial saludo, tengo un problema a la hora de actualizar la macro que a su ves realiza la función de restar horas minutos y segundos de diferentes celdas, el error mas se nota al cambiar la hora de la PC 11:00:00pm a 12:00:00am, cuando la macro se actualiza y hace el calculo este se va con un resultado a cero es decir si tengo 12:05:00 a.m. En la celda EC45 y en la celda EC41 11:45:00 p.m. La resta a la hora que se actualiza la macro deberia de ser 00:20:00 celda EC48, pero el resultado que da es "######", resultado menor que cero.

La macro trabaja perfectamente solo tiene ese problema a la hora de haber ese cambio de hora en la PC.

Sub ActualizarHora()
'Por.Dante Amor
On Error Resume Next
Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("viajero")
If [EI9] = "0" Then
    Call Guardar
   rpta = MsgBox("EL RECORRIDO DEL VIAJERO A FINALIZADO" & vbNewLine & " Desea Iniciar el viajero?", vbYesNo + vbInformation)
   If rpta = vbYes Then
     h1.[EB42] = "FIN" 
     Iniciar
     Call BorraHoja
   Else
     Call Guardar
     PararReloj
     End If
   Else
    If h1.[EB42] = "FIN" Then Exit Sub
    h1.[EE6] = "VIAJERO EN MARCHA"
    h1.[EC45] = Time 
    h1.[EC48] = h1.[EC45] - h1.[EC41] - h1.[EC15] 'B12
    On Error Resume Next
    Application.OnTime Now + TimeValue("00:00:30"), "ActualizarHora"
  End If
End Sub

Espero que mi pregunta se haya entendido y tenga una pronta respuesta.

1 respuesta

Respuesta
1

. :)

Hola! Edgar

Nada has comentado respecto del valor de la celda EC15. Por ello sólo puedo ayudarte respecto a esta parte:

h1.[EC48] = h1.[EC45] - h1.[EC41]

En este caso sólo necesitas un "pequeño" retoque:

h1.[EC48] = h1.[EC45] - h1.[EC41] - (h1.[EC45] < h1.[EC41])

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas