VBA 加算または減算した日付や時刻を取得するDateAdd関数

スポンサーリンク

DateAdd【デイトアド】関数

時間を加算または減算した日付や時刻を取得するには、DateAdd【デイトアド】関数を使用します。引数Date【デイト】に指定された日付や時刻データに、引数Interval【インターバル】に指定された計算単位で引数Number【ナンバー】に指定された整数値を加算または減算して、バリアント型(内部処理形式StringのVariant)の値を返します。

DateAdd【デイトアド】関数の書式と引数の説明

DateAdd(Interval,Number,Date)
【戻り値】バリアント型(内部処理形式のDateのVariant)

  • InterVal 【インターバル】(必須)
    日付や時刻の間隔を計算する単位を下記の文字列で指定します。記述するときは「ダブルクオティーション(“)」で囲みます。
Intervalの設定値
設定値説明
yyyy
q四半期
m
y年間通算日
d
w週日
ww
h
n
s

  • Number【ナンバー】(必須)
    日付や時刻に加算または減算する整数値を指定します。小数点を含む数値を指定した場合は、少数部分は無視されます。
    ※正の値を指定して加算した場合は、将来日付と時刻データを返し
    ※負の値を指定して減算した場合は、過去の日付と時刻データを返します。
  • Date【デイト】(必須)
    時間を加算または減算する日付や時刻をバリアント型(内部処理形式DateのVariant)の値や、日付リテラルをで指定します。。

【設定値の「内部処理形式のDateのVariant」の指定方法】
日付の場合は、DateSerial関数で指定
時刻の場合は、TimeSerial関数で指定
すれば、「内部処理形式のDateのVariant」の日付、時刻データが返ります。


日付リテラルとは

日付型データとして確実に認識させるには日付を(月/日/年)の順番で記述して「#(シャープ記号)」で囲みます。(例:#5/1/2017#)これを日付リテラルといいます。

現在から4週間後の日付を取得するコード例

Sub 日加算()
MsgBox "今から4週間後は" & DateAdd("ww", 4, Date)
End Sub

実行結果

現在から4時間後の時刻を取得するコード例

Sub 時間加算()
MsgBox "今から4時間後は" & DateAdd("h", 4, Time)
End Sub

実行結果


※過去の日付を取得する場合は、引数Number【ナンバー】に負の値を指定します。
※計算結果の値が西暦100年1月1日から9999年12月31日の有効範囲を超えた場合はエラーが発生します。
以上で、DateAdd【デイトアド】関数についての解説を終了します。
ありがとうございました。

日付・時刻関数一覧表

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

スポンサーリンク

関連記事・広告