構文
構文は以下の通りです。
TimeSerial(時, 分, 秒)
解説
TimeSerial関数は、指定した時、分、秒の値を元に、時刻を表すVariant型の値を返します。
●時: 0から23の範囲で指定される時刻の「時」の部分を表します。
●分: 0から59の範囲で指定される時刻の「分」の部分を表します。
●秒: 0から59の範囲で指定される時刻の「秒」の部分を表します。
使い方
以下は、TimeSerial関数を使用して特定の時刻を表示する例です。
Sub ShowTime()
Dim targetTime As Variant
' 12時30分0秒を表示する
targetTime = TimeSerial(12, 30, 0)
' メッセージボックスに時刻を表示する
MsgBox "指定した時刻は " & targetTime & " です。"
End Sub
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
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型の値を返す関数です。是非活用してみてください。