Função TimeValue

Calcula um valor de tempo em série a partir da hora, minuto e segundo especificados - parâmetros transferidos como cadeias e que representam a hora num valor numérico único. Este valor pode ser utilizado para calcular a diferença entre horas.

Sintaxe:

TimeValue (Texto As String)

Valor de retorno:

Data

Parâmetros:

Texto: qualquer expressão em caracteres que contenha a hora que pretende calcular no formato "HH:MM:SS".

Utilize a função TimeValue para converter qualquer hora num só valor, para que possa calcular as diferenças da hora.

A função TimeValue devolve o tipo Variante com VarType 7 (Data), e armazena este valor internamente como um número de precisão dupla entre 0 e 0.9999999999.

Ao contrário das funções DateSerial e DateValue, em que os valores de data em série resultam em dias relativos a uma data fixa, pode calcular com os valores devolvidos pela função TimeValue, mas não os pode avaliar.

Na função TimeSerial, pode transferir parâmetros individuais (hora, minuto, segundo) como expressões numéricas separadas. No entanto, na função TimeValue, é possível transferir uma cadeia como um parâmetro que contém a hora.

Códigos de erro

5 Chamada de procedimento inválido

13 Disparidade no tipo de dados

Exemplo:

Sub ExampleTimerValue

Dim daDT As Date

Dim a1, b1, c1, a2, b2, c2 As String

    a1 = "hora de início"

    b1 = "hora de finalização"

    c1 = "tempo 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