目次

# TimeValue Function

文字列として指定された時、分、秒の値を基に、該当する時刻を示す 1 つの数値 (シリアル値) を返します。こうして変換された数値は、2 つの時刻間の時間計算などに利用できます。

## 構文:

    TimeValue (Text As String)

## 戻り値:

日付

## パラメーター:

Text: 「HH:MM:SS」の形式で指定した、変換する時刻データを示す文字列表式。

この関数は、任意の時刻を 1 つの数値として変換するもので、こうした得られる数値は時刻間の時間計算などに利用できます。

この TimeValue 関数 の返す値は、バリアント型の VarType 7 (Date) であり、内部的には0から 0.9999999999 の倍精度値として格納されます。

DateSerial や DateValue 関数では、日付データをシリアル値に変換する際に、固定設定された基準日からの経過日数として換算していますが、TimeValue 関数で返される値は、時刻間の計算には使えるものの、そのまま直接的な評価が行えるものではありません。

TimeSerial 関数の場合、関数に渡すパラメータ (時、分、秒) は、それぞれ個別の数値表式として指定することができます。これに対して TimeValue 関数では、時刻データを 1 つの文字列の形で渡します。

### Error codes:

5 無効なプロシージャー呼び出しです

13 データ型が一致しません

## 例:

    Sub ExampleTimerValue
    Dim daDT As Date
    Dim a1, b1, c1, a2, b2, c2 As String
        a1 = "start time"
        b1 = "end time"
        c1 = "total time"
        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

ご支援をお願いします！