VBAで当月の月末日のシリアル値を求めるためには
DateSerial(y,m+1,1)-1
とすればよい。
ここで yは当該年(例:2025)、mは当該月(例:1)が格納されている
変数である。
mが12の場合でも(m+1は13となるが)正しく計算してくれる。
ワークシート関数には、対応する月末日を計算する関数EOMONTHがある。
=EOMONTH("2025/1/23",0)
とすれば1月末となる 2025/1/31 を求めることができる。
第二引数を1,2、-1などとすれば、
翌月末とか翌々月末、前月末などを求めることもできる。
VBAでもこのワークシート関数を使うことができる。
この方法を使えば VBAでもEOMONTH関数が使える。
WorksheetFunction.EOMONTH("2025/1/23",0))
とやれば2025/1/31が求められる。
DateSerial(y,m+1,1)-1
とすればよい。
ここで yは当該年(例:2025)、mは当該月(例:1)が格納されている
変数である。
mが12の場合でも(m+1は13となるが)正しく計算してくれる。
ワークシート関数には、対応する月末日を計算する関数EOMONTHがある。
=EOMONTH("2025/1/23",0)
とすれば1月末となる 2025/1/31 を求めることができる。
第二引数を1,2、-1などとすれば、
翌月末とか翌々月末、前月末などを求めることもできる。
VBAでもこのワークシート関数を使うことができる。
この方法を使えば VBAでもEOMONTH関数が使える。
WorksheetFunction.EOMONTH("2025/1/23",0))
とやれば2025/1/31が求められる。