【Excel VBA】今日の日付を入力 – Date関数

Excel マクロ(VBA)

今回は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関数を使用します。こちらはまた別の記事で解説しますので、少々お待ちください。

【Excel VBA】日付の計算 - DateSerial関数
前回はExcel VBAで今日の日付を取得する方法を紹介しました。今回はその続きとして、"来月"とか、"今月の最終日"など、日付の計算を実行する方法を紹介します。

コメント

タイトルとURLをコピーしました