エクセルVBAでいくつもアプリケーションを作っていると、
エクセルVBAの日付処理で月の最後の日を調べたいとき(日付の情報を
取得したいとき)が出てくると思います。たとえば、特定にセルに、
指定して月の末日を表示させたい場合など。月の末日を調べるのは、
DateSerial関数を使えば、割と簡単な記述で調べられます。
[記述例] 月の最後の日(月末)を調べるVBA記述
Sub test() '変数の宣言 Dim a As Date '月の最後の日を調べる a = DateSerial(Year(Now), Month(Now) + 1, 1) - 1 '最後の日を表示する MsgBox a End Sub[動作とプログラムの説明]
VBAプログラムの動作は単純です。実行すると、月の最後の日付を表示します。
まず、変数を宣言し、その変数にDateSerial関数を使って調べた日付を
代入し、その後に、メッセージボックス関数で、取得した日付情報を
表示させています。プログラムの考え方としては、調べたい月の次の月
(つまり、調べたい月の来月)から1日前(前日)の日付を引けばいいのです。
この考え方がわかっていると日付処理で色々な応用ができるようになると
思います。Excel VBAは、どのような高度な処理も簡単に作ることができるのです。