燈明日記 このページをアンテナに追加 RSSフィード

ごあいさつ

燈明日記へようこそ!!

燈明日記の主なテーマは、以下の通りです。

そして、燈明日記へ来られたのも『私』と『あなた』の何かのご縁です。なので、どうぞごゆっくりご覧下さい!


2006/12/3(日)

[] 末日を求めるには

月の末日を求めるには、うるう年の計算とかで、結構やっかいです。

そこで、IsDate関数を使って末日を31日からデクリメントして求めていけば、うるう年の計算を考慮しないで済むわけです。

Private Sub Command1_Click()
     Dim strMatujitu As String
     
     strMatujitu = GetMatujitu(Now)
End Sub
Public Function GetMatujitu(MyDate As String) As String
     Dim strWkDate    As String
     Dim vntMatubi    As Variant
     
     strWkDate = Year(MyDate) & "/" & Format(Month(MyDate), "00") & "/31"
     vntMatubi = 30
     '日付として認識できるまで繰り返す
     Do While Not IsDate(strWkDate)
          strWkDate = Year(MyDate) & "/" & Format(Month(MyDate), "00") & "/" & vntMatubi
          
          '1日前にする
          vntMatubi = vntMatubi - 1
     Loop
     GetMatujitu = strWkDate
End Function

尚、日にちのデクリメントには、DateAdd関数が使えそうですが、存在しない日をDateAdd関数の第3引数に渡すとエラーとなりました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

Connection: close