今月末日を調べるには、翌月の1日の年月日を取得しておいて、
DateAdd関数を使う方法があります。
DateAdd関数は、指定された時間間隔を加算した日付を返します。
サンプルプロシージャでは、DateSerial関数で現在の日付から翌月の1日の
年月日を取得して、その日付から-1日した日付を取得しています。
このようにしておけば、月末が30日でも31日でも、29日でも対応することが
可能です。
● サンプル ●
Sub Sample()
Dim myDate As Date
myDate = DateSerial(Year(Date), Month(Date) + 1, 1)
MsgBox DateAdd("d", -1, myDate)
End Sub
● 詳細 ●
DateSerial関数は、引数に指定した年、月、日に対応する値を返す関数で、
構文は次のとおりです。
<構文> DateSerial(year, month, day)
指定項目 内容
year 必ず指定します。この名前付き引数は整数型(Integer)のデータ形式で
指定します。年を表す100〜9999の範囲の数値または数式を指定します。
month 必ず指定します。この名前付き引数は整数型(Integer)のデータ形式で
指定します。月を表す1〜12の範囲の数値または任意の数式を指定します。
day 必ず指定します。この名前付き引数は整数型(Integer)のデータ形式で
指定します。日を表す1〜31の範囲の数値または任意の数式を指定します。
DateAdd関数は、指定された時間間隔を加算した日付を返します。
構文は次のとおりです。
<構文> DateAdd(interval, number, date)
指定項目 内容
interval 必ず指定します。追加する時間間隔を表す文字列式を指定します。
設定値 内容
yyyy yyyy
q 四半期
m 月
y 年間通算日
d 日
w 週日
ww 週
h 時
n 分
s 秒
number 必ず指定します。追加する時間間隔の数を表す数式を指定します。
将来の日時を取得するには正の数を指定します。
過去の日時を取得するには負の数を指定します。
date 必ず指定します。時間間隔を追加する日付を表す値またはリテラル文字列
を指定します。
|