教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】TimeValue関数の使い方を教えて!

構文

構文は以下の通りです。

TimeValue(時刻文字列)

解説

TimeValue関数は、指定した時刻のシリアル値を返すために使用されます。

引数 指定 内容
時刻文字列 必須 "hh:mm:ss"形式の時刻を表すテキストや時間を表す数値を指定します。

使用例

TimeValue("10:30:00")

使い方

具体的な使い方を紹介します。

Sub TestTimeValue()
    Dim timeString As String
    Dim convertedTime As Date
    ' timeStringに時刻を代入
    timeString = "10:30:00"
    ' TimeValue関数を使ってtimeStringをシリアル値に変換
    convertedTime = TimeValue(timeString)
    ' 変換後の時刻をメッセージボックスで表示
    MsgBox "変換後の時刻は " & convertedTime & " です。"
End Sub

上記の例では、"10:30:00"という時刻の文字列をTimeValue関数を使ってシリアル値に変換し、メッセージボックスで変換後の時刻を表示しています。

プログラミング例

以下に、プログラミング例を紹介します。

1.時間の表示形式の変換

TimeValue関数を使用すると、文字列で与えられた時間をExcelの時間形式に変換することができます。例えば、以下のようなコードを使用して、セルに入力された文字列を時間の形式に変換することができます。

Sub ConvertTime()
    Dim strTime As String
    Dim convertedTime As Date
    strTime = Range("A1").Value 'セルA1に入力された時間を取得
    convertedTime = TimeValue(strTime) 'TimeValue関数で時間形式に変換
    Range("B1").Value = convertedTime '変換後の時間をセルB1に表示
End Sub

上記のコードでは、セルA1に入力された時間を取得し、TimeValue関数を使って変換後の時間を求め、セルB1に表示しています。

2.時間の計算

TimeValue関数を使用すると、時間の計算も簡単に行うことができます。例えば、以下のようなコードを使用して、時間の加算を行うことができます。

Sub AddTime()
    Dim time1 As Date
    Dim time2 As Date
    Dim result As Date
    time1 = TimeValue("9:30 AM") '時間1を設定
    time2 = TimeValue("0:45:30") '時間2を設定
    result = time1 + time2 '時間の加算
    Range("A1").Value = result '結果をセルA1に表示
End Sub

上記のコードでは、TimeValue関数を使って時間1と時間2を設定し、それらを加算して結果を求め、セルA1に表示しています。

3.時間の比較

TimeValue関数を使用すると、時間の比較も簡単に行うことができます。例えば、以下のようなコードを使用して、2つの時間を比較して結果を表示することができます。

Sub CompareTime()
    Dim time1 As Date
    Dim time2 As Date
    time1 = TimeValue("10:00 AM") '時間1を設定
    time2 = TimeValue("9:30 AM") '時間2を設定
    If time1 > time2 Then
        Range("A1").Value = "時間1が時間2よりも遅いです"
    ElseIf time1 < time2 Then
        Range("A1").Value = "時間1が時間2よりも早いです"
    Else
        Range("A1").Value = "時間1と時間2は同じです"
    End If
End Sub

上記のコードでは、TimeValue関数を使って時間1と時間2を設定し、それらを比較して結果をセルA1に表示しています。

まとめ

TimeValue関数は、指定した時刻のシリアル値を返すために使用されます。是非活用してください。