構文
記述方法は以下の通りとなります。
DateSerial([年],[月],[日])
[説明]:
指定した整数値を日付に変換して返します。
[年] | 年を表す整数値を100~9999の範囲で記述します。 |
[月] | 月を表す整数値を1~12の範囲で記述します。 |
[日] | 日を表す整数値を1~31の範囲で記述します。 |
[記述例]:
DateSerial(2020, 2, 29)
DateSerial(Year(Date), Month(Date), Day(Date))
使い方
使い方について具体的に説明します。
整数値を指定して日付に変換する方法
年・月・日に整数値を直接指定して日付に変換する方法について説明します。
[プログラミング例]:
Sub サンプル()
MsgBox DateSerial(2020, 2, 29)
End Sub
[年]に「2020」を、[月]に「2」を、[日]に「29」を指定します。結果「[年]が2020で、[月]が2で、[日]が29の日付をMsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
①<実行>ボタンをクリックします。
②結果は以下の様に表示されます。MsgBoxで「2020/02/29」が表示されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
整数値を指定して日付に変換する方法についての説明は以上です。
関数を指定して日付に変換する方法
年・月・日に関数を指定して日付に変換する方法について説明します。
[プログラミング例]:
Sub サンプル()
MsgBox DateSerial(Year(Date), Month(Date), Day(Date))
End Sub
[年]に「Year(Date)」を、[月]に「Month(Date)」を、[日]に「Day(Date)」を指定します。結果「[年]が今年で、[月]が今月で、[日]が今日の日付をMsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
①<実行>ボタンをクリックします。
②結果は以下の様に表示されます。本日が2021/4/20であるため、MsgBoxで「2021/04/20」が表示されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
関数を指定して日付に変換する方法についての説明は以上です。
今月末の日付を調べる方法
今月末の日付(今月最終日)を調べる方法について説明します。
[プログラミング例]:
Sub サンプル()
MsgBox DateSerial(Year(Date), Month(Date) + 1, 1) - 1
End Sub
[年]に「Year(Date)」を、[月]に「Month(Date) + 1」を、[日]に「1」を指定する事で、本日が2021/4/20である場合、年は「2021」となり、月は「4+1=5」となり、日は「1」となります。これによりDateSerial関数では2021/5/1日付に変換される事となりますが、ここから更に1を引く事で、変換した日付の前日、つまり4月最終日が返される事になります。結果「年が今年で、月が来月で、日が1日の前日日付をMsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
①<実行>ボタンをクリックします。
②結果は以下の様に表示されます。本日が2021/4/20であるため、MsgBoxで「2021/04/30」が表示されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
今月末の日付を調べる方法についての説明は以上です。
プログラミング(サンプル)
プログラミング事例を紹介します。
おわりに
今回は今月末の日付を調べる方法について説明しました。月末最終日を調べる方法については、このやり方が一番手っ取り早いと思います。是非活用してみて下さい。