2017-07-13 5 views
0

土曜日、日曜日、祝日の現在の日付より2日遅れて取得しようとしているか、含まれていません。私の休日が格納されているvbaの国際ネットワークの日から2日を引く

表 - [DateTable [休日]]

私はそれがApplication.NetworkDays_Intlの使用を必要と知っているが、私は行くのロジックを取得することはできませんよ。

誰もが

答えて

1

>これを達成する簡単な方法は何かNetworkDays_Intlは、開始日と終了日を取り、範囲内の稼働日数を計算する関数を知っています。これにより、やや面倒なアプローチが必要になります。

Dim StartDate As Date 
Dim EndDate As Date 

Dim Duration As Integer 

Duration = 2 
EndDate = CDate("2017-07-08") 

' Pick theoretically latest start date 
StartDate = DateAdd("d", -Duration + 1, EndDate) 

' Step one day back until we get it right 
Do While Application.NetworkDays_Intl(StartDate, EndDate) <> Duration 
    StartDate = DateAdd("d", -1, StartDate) 
Loop 
Debug.Print StartDate 
関連する問題