年、月、日をそれぞれ数値で指定して日付を作ることができるVBA関数、DateSerialのご紹介です。
Excel関数でいうDate関数に該当します。
DateSerial関数の使い方
年、月、日を指定して日付を作成
DateSerial(年,月,日)
DateSerial(年,月,日)

使い方はシンプルで、DateSerialの引数に年月日をそれぞれ数値で指定します。

たとえば全て数字で打ちこんで実行すると、

このように整形されます。

今日の日付だけを求めるのであればVBAのほうのDate関数で十分ですが、

同じことをDateSerial関数でやると、DateSerial(Year(Date), Month(Date), Day(Date))という式になります。
使い道
定番は月末の日付を求める方法です。リンク先はExcelのほうのDate関数でやってますが、やることは同じです。

今月の末尾を求める式の例(MsgBox DateSerial(Year(Date), Month(Date) + 1, 1) – 1)。
月を+1して翌日、日付を1にすることで1日になり、そこから最終的に-1することで翌月1日の前日=今月の末日を求めることができます。
月を+1して翌日、日付を1にすることで1日になり、そこから最終的に-1することで翌月1日の前日=今月の末日を求めることができます。
DateSereal関数を使うと、日付(年)がうるう年かどうかを判定することも可能です。

Excel(エクセル):日付、時間、曜日、シリアル値
Excelの時間関連操作、設定、関数などまとめです。
セルの表示設定、関数
基本
日付をセルに入力したい場合、m/dあるいはm-dの形式で入力すれば、
自動で入力した年のその日付になります。年号も指定したい場合は、y...

関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
コメント