【エクセルVBA】DateAddで未来の日時や過去の日時を取得

投稿者: | 2021年2月7日
excelアイコン

エクセルバージョン

マイクロソフト365

 

本日はVBAで何年後や何か月前などの日付や日時を取得するDateAdd関数についてです。

それでは行ってみましょう!

 

DateAdd概要

概要

・指定した日付けや現在時刻から何年後、何日後、何時間後何年前、何日前、何時間前などの日付や日時を取得できます。

・Variant(Date)を返します。

構文

DateAdd(interval, number, date)

引数

DateAdd説明必須/省略可
interval
(第1引数)
下記intervalの表から選択します。yyyyなら年、nなら分などを指定。必須
number
(第2引数)

未来なら→1、何秒後なら→15など。
過去なら→-3など 

未来の日時取得は正(+)の値を指定。
過去の日時取得は負(-)の値を指定。

必須
date
(第3引数)
Now()とか日付(“2021/1/1”)など。いつから検索するかを指定。必須

 

第1引数のintervalの設定

設定説明
yyyy
q四半期
m
y年間通算日
d
w平日
ww
h
n
s

 

サンプル例

yyyy指定した場合(年)

Debug.print

 

m指定した場合(月)

 

ww指定した場合(週)

 

d指定した場合(日)

 

h指定した場合(時)

 

n指定した場合(分)

 

s指定した場合(秒)

 

注意点

注意点

・例えば1/31の1か月後は2/31ではなく2/28あるいは閏年の月末の日を取得します。

・DateAddで取得した値の書式は、コントロールパネルでの設定によって決まります。

・第2引数のnumberが整数で指定してない場合、最も近い整数で計算されます。

・計算された日付が西暦100年よりも前になる場合エラーが発生します。
dateAdd(“yyyy”, -1900, “2000/1/1”) → 西暦100年はOK
dateAdd(“yyyy”, -1901, “2000/1/1”) → 西暦99年はエラー

 

まとめ

未来や過去の日付を取得したい場合はご使用してみてください。

以上です。

日付の変換

【関数】(DATE)年,月,日から日付に変換

【関数】(DATEVALUE)文字形式の日付をシリアル値の日付に変換

【関数】(YEAR,MONTH,DAY)日付から年,月,日を取得

【VBA】(DateSerial)年,月,日から日付を取得

【VBA】(DateValue)文字の日付から日付を取得

時間

【関数】(TIME)時,分,秒を指定してシリアル値に変換

【関数】(TIMEVALUE)時間をシリアル値に変換

【VBA】(Time)現在時刻を取得

【VBA】(TimeValue)文字列の時間や数式から時刻を取得

【VBA】(TimeSerial)時,分,秒を指定して時刻を取得

【VBA】(Hour,Minute,Second)時,分,秒を分けて取得

現在の日時,日付

【関数】(NOW)現在の日時を取得

【関数】(TODAY)本日の日付を取得

【VBA】(Now)現在の日時を取得

【VBA】(Date)本日の日付を取得

曜日や週

【関数】(WEEKDAY)日付から曜日の整数を取得

【関数】(WEEKNUM)指定した日付が年初から第何週目か

【VBA】(Weekday)日付から曜日の定数や値を求める

【VBA】(WeekdayName)数値や定数を指定で曜日取得

土日や祝日

【関数】(WORKDAY)土日,祝日,指定日を除いた日付を取得

【関数】(NETWORKDAYS)土日,祝日,指定日を除いた日数を取得

何か月前や何か月後など

【関数】(EDATE)何ヶ月前や何ヶ月後の日付を取得

【関数】(EOMONTH)何か月前や何か月後の末日を取得

【VBA】(DateAdd)未来の日時や過去の日時を取得

2つの期間の差

【関数】(DAYS)二つの日付から日数を取得

【VBA】(DateDiff)二つの期間の差を数字で取得

関連記事

【機能】日付,曜日,時間のユーザー定義一覧

【機能】日付の西暦を和暦(元号)にする

【関数】土日を削除した日付データの作成方法

【関数】土日祝日を削除した日付データの作成方法

【関数】土日のみ色を付けた日付データの作成方法

【関数】曜日ごとに集計

【関数】月別の収支

【関数】時給と時間から日給を求める

【VBA】書式一覧Format

【VBA】日付や時刻かを調べる IsDate

【VBA】日時の取得、変換のいろいろ

【VBA】土日祝日を削除した日付データを作成

Excel目次