ExcelVBA(マクロ)で年、月、日を数値で指定して日付を作成する方法/DateSerial関数の使い方

IT

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

Advertisements

DateSerial関数の使い方

年、月、日を指定して日付を作成
DateSerial(年,月,日)
deteserial1
使い方はシンプルで、DateSerialの引数に年月日をそれぞれ数値で指定します。
deteserial2
たとえば全て数字で打ちこんで実行すると、
deteserial3
このように整形されます。
deteserial4
今日の日付だけを求めるのであればVBAのほうのDate関数で十分ですが、
deteserial5
同じことをDateSerial関数でやると、DateSerial(Year(Date), Month(Date), Day(Date))という式になります。

使い道

定番は月末の日付を求める方法です。リンク先はExcelのほうのDate関数でやってますが、やることは同じです。

deteserial6
今月の末尾を求める式の例(MsgBox DateSerial(Year(Date), Month(Date) + 1, 1) – 1)。
月を+1して翌日、日付を1にすることで1日になり、そこから最終的に-1することで翌月1日の前日=今月の末日を求めることができます。
やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント