|
いつも利用させていただいています。
稼働日 稼働日 稼働日 休み 休み 休み
100 ←100 ←100(基準日)
基準日が休みに数量が入力されていると仮定して直前の稼働日に基準日
を変更しさらにきめられた日数を前にした日にちを求めたい
のですが求めたところが稼働日だったり休みの時があるため、
日にちが安定して出力されません
どういう処理をしたら処理できるか教えてください。
ユーザー定義関数をつかったサンプルがあったので少しだけ変更して
見ましたが、最後シリアル値を利用して差引しているだけなので
休みは省きたいのですができません。
できればこれを少し変えた方法で処理ができればいいのですが・・・・
ご教授のほどよろしくお願いします。
Function myDay(stDay As Range, myVal As Long, myAry As Range) 'stDay=納期 ,myVal=リードタイム,MyAry=定休日データ
Dim i As Long, j As Long, K As Long '変数 iをLong型 jをLong型に宣言
i = 1 '変数 iに1を代入
K = 0
Do Until j = myVal 'リードタイムが0まで繰り返し処理
If WorksheetFunction.CountIf(myAry, stDay) = 1 And WorksheetFunction.CountIf(myAry, stDay - i) = 0 Then
myDay = stDay - i - (j + K + 1)
j = j - 1
K = K + 1
Else
If WorksheetFunction.CountIf(myAry, stDay - i) = 0 Then 'Countif関数で、
myDay = stDay - i
j = j - 1
End If
End If
i = i + 1
Loop
End Function
|
|