構文
Hour 時のみ取得
Minute 分のみ取得
Second 秒のみ取得
指定した値から時、分、秒を分けて取得します。
戻り値は全て数値型(Integer)です。
戻り値は全て数値型(Integer)です。
Hour/Minute/Second関数のサンプルコード
Public Sub sample_Hour_Minute_Second() Dim str As String: str = "2021/02/23 12:01:00" '■通常の使い方 Debug.Print Hour(str) '12 Debug.Print Minute(str) '1 Debug.Print Second(str) '0 '■Format関数でも同様結果取得可能 Debug.Print Format(str, "h") '12 Debug.Print Format(str, "n") '1 Debug.Print Format(str, "s") '0 '■日付データのみの場合は"00:00:00"と時刻の初期値を取得 str = "2022/2/23" Debug.Print Hour(str) '0 Debug.Print Minute(str) '0 Debug.Print Second(str) '0 '■時刻データと判断できれば正常に返ってくる Debug.Print Hour("12時5分") '12 '■Date型のデータ以外はエラー '実行時エラー13 型が一致しません Debug.Print Hour("12じ5ふん") Debug.Print Minute("abc") Debug.Print Second("") End Sub
注意点
- Format関数で同様の結果を取得できるので、必ずしも覚える必要はありません。
- 日付データ以外はエラーとなるので、日付かどうか判断する場合はisDate関数を使用します。
関連記事
日付データかどうか判断する【IsDate関数】【ExcelVBA】
時刻データかどうか判断する【IsDate関数応用】【ExcelVBA】
文字列を日付データに変換する【CDate関数】【ExcelVBA】
年/月/日から日付データを取得する【DateSerial関数】【ExcelVBA】
翌月末日や翌20日を簡単に求めたい(DateSerial関数)
西暦→和暦変換-和暦→西暦変換【DATEVALUE関数】【ExcelVBA】
指定した年・月・日をそれぞれ取得する【Year関数/Month関数/Date関数】【ExcelVBA】
コメント