VBA 時・分・秒から時刻データを取得するTimeSerial関数

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

TimeSerial【タイムシリアル】関数

時・分・秒を個別に指定して時刻データを取得するには、TimeSerial【タイムシリアル】関数を使用します。

TimeSerial【タイムシリアル】関数の書式

TimeSerial(Hour,Minute,Second)
【戻り値】バリアント型(内部処理形式DataのVariant)


設定値(引数)の説明

  • Hour【アワー】(必須)
    時を表す 0 ~ 23 (AM12:00~PM11:00)の範囲の数値または数式や関数を指定します。
    数値範囲を超えた値を設定した場合、その超過分は「翌日」に繰り上げられます。
  • Minute【ミニッツ】(必須)
    分を表す0~59(0分~59分)の範囲の数値または数式や関数を指定します。
    数値範囲を超えた値を設定した場合、その超過分は「時」に繰り上げられます。
  • Second【セコンド】(必須)
    秒を表す0~59(0秒~59秒)の範囲の数値または数式や関数を指定します。
    数値範囲を超えた値を設定した場合、その超過分は「分」に繰り上げられます。

※各引数に設定した値が-32768~32768の範囲を超えた場合はエラーが発生します。
※3つの引数で指定した時刻が、00:00:00~23:59:59(AM12:00:00~PM11:59:59)の範囲内にない場合は正しく計算されません。

現在の時間から10秒後にメッセージを表示するコード例

Sub 時間計算()
Application.Wait TimeSerial(Hour(Time), Minute(Time), Second(Time) + 10)
MsgBox "10秒経過しました。"
End Sub

コードの解説

Application【アプリケーション】オブジェクトのWait【ウエイト】メソッドを使用して、マクロの実行を指定時刻まで停止します。引数Time【タイム】に
TimeSerial関数で開始時刻を指定します。
第一引数の「Hour」にHour関数の引数にTime関数を指定して現在の「時」を取得します。第二引数の「MInute」にMinute関数の引数にTime関数を指定して現在の「分」を取得します。第三引数の「Second」にSecond関数の引数にTime関数を指定して現在の「秒」を取得して10秒を加算して10秒後の時刻を指定します。

TimeSerial 【タイムシリアル】関数の使用例

使用例結果
TimeSerial(10,0,0)10:00:00
TimeSerial(10,60,0)11:00:00
TimeSerial(10,0,60)10:01:00
TimeSerial(10,59,60)11:00:00
TimeSerial(10,-1,-1)9:58:59

以上で、TimeSerial【タイムシリアル】関数についての解説を終了します。ありがとうございました。

日付・時刻関数一覧表

日付や時刻の関数一覧表です。
関数名がリンクになっています。
クリックすると詳細説明ページが開きます。
関数名説明
Date現在の「日付」を取得します。
Year日付から「年」を取得します。
Month日付から「月」を取得します。
Day日付から「日」を取得します。
DatePart年・月・日を部分的に取得します。
Now現在の「日時」を取得します。
Time現在の「時刻」を取得します。
Hour時刻の「時」を取得します。
Minute時刻の「分」を取得します。
Second時刻の「秒」を取得します。
Weekday曜日を表す「整数値」を取得します。
WeekdayName曜日を表す整数値を「曜日名」に変換します。
DateSerial年・月・日を表す整数値から日付データに変換します。
TimeSerial時・分・秒を表す整数値から時刻データに変換します。
DateDiff日付や時間の間隔を計算します。
DateAdd時間を加算または減算した日付や時刻を取得します。
Timer経過した秒数を取得します。
CDateデータ型を日付型に変換します。
IsDate日付や時刻として扱えるかを調べます。

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

フォローする

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