関数・メソッド

指定した時・分・秒をそれぞれ取得する【Hour関数/Minute関数/Second関数】【ExcelVBA】

構文

Hour      時のみ取得
Minute   分のみ取得
Second  秒のみ取得

指定した値から時、分、秒を分けて取得します。
戻り値は全て数値型(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】

コメント

タイトルとURLをコピーしました