Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


37556 / 76738 ←次へ | 前へ→

【44347】Re:日付の算出について
回答  Blue  - 06/11/13(月) 17:37 -

引用なし
パスワード
   ならば、先の関数を応用すれば出来ますね。

1.まず、もらった月の末日を取得
2.指定された日付と比べて、小さいほうを採用

という感じですか。

Option Explicit

Public Function GetMonthEnd(ByVal targetDate As Date, ByVal endDay As Integer) As Date
  Dim endDate As Date
 
  ' 月の末日を取得
  endDate = DateSerial(Year(targetDate), Month(targetDate) + 1, 1)
  endDate = DateAdd("D", -1, endDate)

  ' 渡された値と比較
  If Day(endDate) <= endDay Then
    GetMonthEnd = endDate
  Else
    GetMonthEnd = DateSerial(Year(targetDate), Month(targetDate), endDay)
  End If
End Function

使い方は

=GetMonthEnd(日付, 最終日)
0 hits

【44338】日付の算出について ねもと 06/11/13(月) 16:39 質問
【44339】Re:日付の算出について Blue 06/11/13(月) 16:47 質問
【44343】Re:日付の算出について ねもと 06/11/13(月) 17:17 質問
【44347】Re:日付の算出について Blue 06/11/13(月) 17:37 回答
【44340】Re:日付の算出について inoue 06/11/13(月) 16:50 発言
【44344】Re:日付の算出について ねもと 06/11/13(月) 17:21 質問
【44364】Re:日付の算出について りん@昼休み 06/11/14(火) 13:05 発言
【44369】できました。 ねもと 06/11/14(火) 14:42 お礼
【44370】Re:できました。 Blue 06/11/14(火) 14:57 質問

37556 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free