| Usuario |
Calculo de horas |
Desconocido
|
| Enviado - 22/7/2002 |
| |
Quiero conseguir hacer una función que dada un hora me la redondee de la siguiente forma:
- Si tiene menos de 15 minutos redondee hacia abajo,
- Si tiene mas de 45 minutos redondee hacia arriba,
- en otro caso, redondee a 30 minutos
Una vez redondeada la hora me devuelva la hora resultante en el formato de Tipo Date.
El código que he ideado es el siguiente, la verdad es que no se que falla, pero no devuelve la hora redondeada. Creo que el fallo está en la parte en negrita.
Public Function REDONDEA_HORA(hora As Date) As Date
Dim MINUTOS As Integer
Dim HORAS As Integer
MINUTOS = Minute(hora)
HORAS = Hour(hora)
If MINUTOS <= 15 Then
MINUTOS = 0
HORAS = hora
Else
If MINUTOS <= 45 Then
MINUTOS = 30
HORAS = hora
Else
MINUTOS = 0
HORAS = hora + 1
End If
End If
REDONDEA_HORA = HORAS & ":" & MINUTOS
End Function |
| |
|
|
|