VBA関数のHour関数、Minute関数、Second関数の使い方についてご説明します。
英語の意味そのままですが、Hour関数は時を、Minute関数は分を、Second関数は秒を取得する関数になります。
「10:01:20」のような時間からそれぞれ、時、分、秒を取得したい際に使用します。
時刻として有効な文字列、Date型、Variant型でも取得可能です。
「TimeSerial関数」と併用して利用するなどの頻度が高いです。
また日付に関しては「Year、Month、Day関数の使い方」をご覧ください。
その他、日付に関しては「Date関数」、時間に関しては「Time関数」、日時は「Now関数」などがあります。
1.Hour、Minute、Second関数の使い方
Hour、Minute、Second関数はそれぞれ時、分、秒を返します。
次のように記述します。
Hour(時刻)
Minute(時刻)
Second(時刻)
「時刻」にはそれぞれ時、分、日を取得したいVariant型、文字列型、Date型の時刻を指定します。
2.サンプルコード
日付型でも文字列型でも同じ結果を取得出来ます。
Sub Smaple1()
Dim MyTime As Date
MyTime = "10:20:30"
Debug.Print MyTime
Debug.Print Hour(MyTime)
Debug.Print Minute(MyTime)
Debug.Print Second(MyTime)
'文字列型
Dim MyStr As String
MyStr = "10:20:30"
Debug.Print MyStr
Debug.Print Hour(MyStr)
Debug.Print Minute(MyStr)
Debug.Print Second(MyStr)
End Sub
TimeSerial関数と組み合わせると次のようになります。
分に+10しているので、10分後を取得出来ます。
Sub Smaple2()
Dim MyTime As Date
MyTime = "10:20:30"
'分に+10します
Debug.Print TimeSerial(Hour(MyTime), Minute(MyTime) + 10, Second(MyTime))
End Sub