ごあいさつ
2006/12/3(日)
■[VB-TIPS] 末日を求めるには
月の末日を求めるには、うるう年の計算とかで、結構やっかいです。
そこで、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引数に渡すとエラーとなりました。
トラックバック - http://d.hatena.ne.jp/chaichanPaPa/20061203/1165113615
リンク元
- 19 http://www2.ocn.ne.jp/~t-kun/limited/wreath2006th.html
- 9 http://d.hatena.ne.jp/pinkmac/20061201/1164974617
- 9 http://search.yahoo.co.jp/search?p=VB6+末日&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=
- 8 http://chaichan.web.infoseek.co.jp/vbtips/VBMemo2008-11-11.htm
- 7 http://search.yahoo.co.jp/search?p=vb+末日&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=
- 6 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLG,GGLG:2005-34,GGLG:ja&q=vb+format+末日
- 5 http://www.hyuki.com/ring/ring.cgi?mycmd=list
- 5 http://www1.parkcity.ne.jp/chaichan/
- 4 http://kotokoto.yh.land.to/log/eid133.html
- 3 http://chaichan.web.infoseek.co.jp/cgi-bin/qanda.cgi?modefg=9