本ページには広告が含まれています。

ExcelVBA Hour関数 指定した時刻の時を整数で返します

ExcelVBA Hour関数 指定した時刻の時を整数で返します

Excel VBAの「Hour 関数」について解説します。

スポンサーリンク

Hour 関数とは

Excel VBA の Hour 関数は、指定した時刻からを表す整数値 Variant (Integer) を返します。

では、Hour 関数の構文や引数の設定など、実際の使い方について解説していきたいと思います。

Hour 関数(Visual Basic for Applications リファレンス)

構文(引数と戻り値)

Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。

構文

Hour(time)

引数

引数 説明
time【必須】時刻を表すバリアント型 (Variant) の値を、
数値式、文字列式(または任意の組み合わせ)で指定します
time に Null が含まれている場合は Null が返されます

戻り値

戻り値説明
時を表す値0 ~ 23 の範囲の整数値 Variant (Integer) を返します

解説(使用例)

Hour 関数は、引数 time に指定された時刻が何時なのかを示す整数値を返します。

Hour 関数の動作を確認するサンプル

引数に設定した時刻から Hour 関数で時を表す整数値だけ抜き出して表示します。

'■Hour関数の動作確認サンプル
Sub Hour_Sample()
  Dim dt 'As Date
'▼Time関数の取得値を変数に代入
  dt = Time   'コード実行時刻を取得
  MsgBox dt & " は " & Hour(dt) & "時です" & _
  vbCrLf & "1時間後は" & Hour(dt + 1 / 24) & "時です" & _
  vbCrLf & "5時間後は" & Hour(dt + 5 / 24) & "時です" & _
  vbCrLf & "9時間前は" & Hour(dt - 9 / 24) & "時です"
End Sub

実行結果の MsgBox 画像 がこちらです。

Hour_Smple 実行実行MsgBox画像

・3行目、Date型の変数 d を用意しています。

・5行目、変数 dtTime関数でコード実行時の時刻を代入しています。

・6行目~9行目で、MsgBoxHour(dt)Hour(dt + 1 / 24) で1時間後、Hour(dt + 5 / 24) で5時間後、Hour(dt – 9 / 24) で9時間前の時の整数値を取得して表示させています。

日付シリアル値は、1日を1とした値です。小数以下が時間を表します。
シリアル値の1日は1です。1日は24時間ですので、
1時間は、1/24 です。(0.0416666666…割り切れません)
1分は、1/24/60 です。(0.000694444…)
1秒は、1/24/60/60 です。(0.000011574…)
※割り切れないので分数で計算しました。

(+)プラスなら未来、(-)マイナスなら過去ということになります。

Now 関数のように日付に時刻が付いているデータの場合、日付部分は無視されます。

Hour の引数 (time) に、日付リテラル #10:07:30 PM# や 文字列で ”22:07:30” や “22時7分30秒” などのように指定しても同じ結果になります。

Date など日付・時刻関数の使用例について

Date 関数のほか「日付・時刻」の関数について解説している過去記事があります。下記のリンクからジャンプしてご覧いただければ幸いです。

おわりに

Excel VBA Hour 関数は、引数の時刻から時を抜き出して 0~23 の範囲の整数値を返します。簡単に言うと、時刻の時の数値だけを返すということです。

Time 関数や Now関数のように日付に時分秒を含んでいる場合「Hour 関数」「Minute 関数」「Second 関数」を使用して「時」「分」「秒」を取得できます。

Date 関数は日付を取得します。その日付から「月」だけを抜き出すのが「Month 関数」です。
同様に「年」だけを抜き出すのが「Year 関数」、「日」だけを抜き出すのが「Day 関数」です。

以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;

VBAの関数一覧はこちらからご参照ください。

スポンサーリンク
スポンサーリンク

VBAサンプルファイルダウンロードページのご案内

このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。

ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!