| 
    
     |  | IROC さん ありがとうございました。 >これで如何でしょうか?
 >
 >Dim y As Long, m As Long, d As Long
 >Dim ret As String
 >
 >  y = 2004
 >  m = 7
 >  d = 77
 >
 >  ret = y & "/" & m & "/" & d
 >
 >  MsgBox IsDate(ret)
 >
 
 IsDate関数があるのですね。参考になります(もうちょっと注意深くHELPを見ないといけないですね。反省します)。
 
 実際には入力された日付が下のようだったとします。
 年→2003 月→2 日→29
 カレンダーを見るとわかるようり、2003年2月は閏年ではないので、29というのは無いわけです。
 この判断にEOMONTH関数を使いたいわけだったのです。
 
 この質問をしてからいろいろとHELPをみていたところ、DateAdd関数が使えるのがわかりました。これを利用して入力された年月に"01"をつけ、強制的に月初日にして1ヶ月加算し、翌月の月初日を求めます。それから1日マイナスすることで、入力された年月の月末日を求めるようにします。
 
 いまこの方法ができるかどうか、検証をしたいとおもいます。
 
 これからもよろしくお願いします。
 
 |  |