Excel VBA質問箱 IV

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

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


60666 / 76732 ←次へ | 前へ→

【20703】Re:任意の日付が休日かを判断し、休日の場合は前日に繰り上げるには
回答  [名前なし]  - 04/12/15(水) 23:09 -

引用なし
パスワード
   考え方は下の感じでいいと思うのですが。

Function BDAY(任意の日付 As Date, 何日前か As Double, 土日祝祭日を除く会社の休業日 As Range)
 Dim BeforeDate As Date
 Dim 休業日チェック As Boolean
 Dim 土日祝祭日チェック As Boolean
 
 BeforeDate = 任意の日付 - (何日前か + 1) '下で1日足すので、1日多く引いておく
 Do
  BeforeDate = BeforeDate + 1 '1日足す
  '土日祝祭日を除く会社の休業日の範囲内にBeforeDateが1つもなければTrue
  休業日チェック = Application.CountIf(土日祝祭日を除く会社の休業日, BeforeDate) = 0
  土日祝祭日チェック = 土日祝祭日にBeforeDateがなければTrue
 Loop Until 休業日チェック And 土日祝祭日チェック '両方ともTrueになるまでループ
 BDAY = BeforeDate '最終的なBeforeDateを返す
End Function

「土日祝祭日にBeforeDateがなければTrue」はおわかりになってるんですよね?
ご自分で組み込んでみてください。
検証はしてません・・・っていうか出来ません。

1 hits

【20698】任意の日付が休日かを判断し、休日の場合は前日に繰り上げるには きどっち 04/12/15(水) 18:34 質問
【20703】Re:任意の日付が休日かを判断し、休日の場... [名前なし] 04/12/15(水) 23:09 回答
【20707】Re:任意の日付が休日かを判断し、休日の場... [名前なし] 04/12/16(木) 0:20 発言
【20705】Re:任意の日付が休日かを判断し、休日の場... かみちゃん 04/12/15(水) 23:36 回答
【20706】Re:任意の日付が休日かを判断し、休日の場... 角田 04/12/15(水) 23:37 回答
【20709】Re:任意の日付が休日かを判断し、休日の場... きどっち 04/12/16(木) 2:35 お礼

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