VBA関数のDate関数を使用して現在の日付を取得する方法です。
Date関数は意外とコードを書いていると使用する場面が多い関数です。
「DateDiff関数」と組み合わせる事で、現在から指定した日付の日数を取得したり、「DateAdd関数」など「現在から○日後」を取得する場合など使用頻度の高い関数です。
Date関数自体は非常に簡単です。
また、現在の「日時」を取得する場合は「Now関数」を使用し、現在の「時刻」を取得するには「Time関数」を使用します。
1.Date関数の使い方
Date関数は現在の日付を取得します。
次のように記述します。
Date
引数はありません。
そのまま「Date」とするだけで使用できます。
Date関数が返す日付形式は、コントロールパネルの「短い形式」で指定した形式です。
基本的にフォーマットを指定しなければ「yyyy/mm/dd」で日付を返します。
また、「Date+1」と加算する事で翌日など指定する事が可能です。
+40など1か月を超えるような数値を加算した場合でも有効な日付を返してくれます。
2.サンプルコード
まずはシンプルなコードです。
Sub Sample1()
Debug.Print Date
Debug.Print Date + 1
Debug.Print Date - 1
End Sub
上記コードの2つ目と3つ目は実は「DateAdd関数」でも同じことが可能です。
Sub Sample2()
Debug.Print DateAdd("d", 1, Date)
Debug.Print DateAdd("d", -1, Date)
End Sub
+40など1か月を超える場合はどうなるでしょう。
Sub Sample3()
Debug.Print Date + 40
Debug.Print DateAdd("d", 40, Date)
End Sub
どちらもカレンダーで有効な日付を返しました。