今回はExcel VBAで今日の日付を取得する方法を解説します。
Date関数で今日の日付を取得
日付を取得するには、Date関数を使用します。例えばB2セルに今日の日付を入力する場合、以下のコードで実行できます。
Cells(2, 2) = Date
実行結果は以下の通りです。
yyyy/m/d形式の、”日付データ“として入力されていることがわかります。
なお、yyyy/m/d形式では、年はyyyy、つまり必ず数字4桁で、月はmなので、1桁以上で(1月は”01″ではなく”1″と表記される)、日もdなので、1桁以上で(1日は”01″ではなく”1″と表記される)表記されます。
また、”日付データ“というのは、文字列でも数値ない、ということです。その証拠に、以下のように日付特有の計算を実行することができます。
文字列であれば演算ができないのでエラーになるはずですし、数値であれば、そもそも”2022/12/6″が割り算2回と認識され、以下のように全く異なる結果が出てきます。
年だけ、月だけ、日だけを取得する場合
なお、今日の日付から年、月、日だけを取得したい場合は、それぞれ以下のように実行できます。いずれも、数値として出力されます。
Year(Date)
今日の日付から年だけを取得したい場合はYear関数を使用します。例えばB3セルに本日の年を記入する場合は以下のように記述します。
Cells(3, 2) = Year(Date)
実行結果は以下の通りです。
Month(Date)
今日の日付から月だけを取得したい場合はMonth関数を使用します。例えばB4セルに本日の月を記入する場合は以下のように記述します。
Cells(4, 2) = Month(Date)
実行結果は以下の通りです。
Day(Date)
今日の日付から日だけを取得したい場合はDay関数を使用します。例えばB5セルに本日の日を記入する場合は以下のように記述します。
Cells(5, 2) = Day(Date)
実行結果は以下の通りです。
日付の計算を行う場合
なお、”来月”とか、”今月の最終日”など、日付の計算を実行したい場合はDateSerial関数を使用します。こちらはまた別の記事で解説しますので、少々お待ちください。
コメント