教えて!ExcelVBA!

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

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

構文

構文は以下の通りです。

TimeSerial(時, 分, 秒)

解説

TimeSerial関数は、指定した時、分、秒の値を元に、時刻を表すVariant型の値を返します。

引数 指定 内容
必須 0から23の範囲で指定される時刻の「時」の部分を表します。
必須 0から59の範囲で指定される時刻の「分」の部分を表します。
必須 0から59の範囲で指定される時刻の「秒」の部分を表します。

使用例

TimeSerial(12, 30, 0)

使い方

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

Sub ShowTime()
    Dim targetTime As Variant
    ' 12時30分0秒を表示する
    targetTime = TimeSerial(12, 30, 0)
    ' メッセージボックスに時刻を表示する
    MsgBox "指定した時刻は " & targetTime & " です。"
End Sub

この例では、TimeSerial(12, 30, 0)によって、12時30分0秒を表すVariant型の値がtargetTimeに代入されます。その後、MsgBox関数を使用して、指定した時刻をメッセージボックスに表示します。実行すると、メッセージボックスに「指定した時刻は 12:30:00 です。」と表示されます。

プログラミング例

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

授業の開始時刻が9時30分で、その後50分経過した場合に終了時刻を求めたいとします。

Sub CalculateEndTime()
    Dim startTime As Date
    Dim endTime As Date
    startTime = TimeSerial(9, 30, 0)
    endTime = startTime + TimeSerial(0, 50, 0)
    MsgBox "終了時刻は " & Format(endTime, "hh:mm") & " です。"
End Sub

このコードでは、startTimeに9時30分をTimeSerial関数を使って設定し、endTimeにはstartTimeに50分を加算して求めた時刻を格納しています。最後に、MsgBoxを使って終了時刻を表示しています。

まとめ

ExcelVBAのTimeSerial関数は、時、分、秒の値を指定して時刻を表すVariant型の値を返す関数です。是非活用してください。