Funció TimeValue

Calcula un valor d'hora de sèrie a partir de l'hora, el minut i el segon especificat (paràmetres passats com a cadenes) que representen l'hora en un únic valor numèric. Aquest valor es pot utilitzar per calcular la diferència entre hores.

Sintaxi:


TimeValue (Text As String)

Valor de retorn:

Data

Paràmetres:

Text: Qualsevol expressió de cadena que conté l'hora que voleu calcular en el format "HH:MM:SS".

Utilitzeu la funció TimeValue per a convertir qualsevol hora en un únic valor, per tal que pugueu calcular diferències d'hora.

Aquesta funció TimeValue torna la variant de tipus amb VarType 7 (Data), i emmagatzema aquest valor internament com a nombre de doble precisió entre 0 i 0,9999999999.

Al contrari de les funcions DateSerial o DateValue, en què els valors de data de sèrie resulten en dies relatius a una data fixada, podeu calcular-los amb els valors que es retornen amb la funció TimeValue però no podeu avaluar-los.

A la funció TimeSerial, podeu passar els paràmetres individuals (hora, minut, segon) com a expressions numèriques separades. Per a la funció TimeValue, en canvi, podeu passar una cadena com a paràmetre que conté l'hora.

Codis d'error

5 La crida al procediment no és vàlida

13 Els tipus de dades no coincideixen

Exemple:


Sub ExampleTimerValue
Dim daDT As Date
Dim a1, b1, c1, a2, b2, c2 As String
    a1 = "hora d'inici"
    b1 = "hora de finalització"
    c1 = "hora total"
    a2 = "8:34"
    b2 = "18:12"
    daDT = TimeValue(b2) - TimeValue(a2)
    c2 = a1 & ": " & a2 & chr(13)
    c2 = c2 & b1 & ": " & b2 & chr(13)
    c2 = c2 & c1 & ": " & trim(Str(Hour(daDT))) & ":" & trim(Str(Minute(daDT))) & ":" & trim(Str(Second(daDT)))
    MsgBox c2
End Sub

Ens cal la vostra ajuda!