Функция расчета числа рабочих дней |
Автор В.Ким | |||||||
04.03.2003 г. | |||||||
Дополнение к функциям времени Георгия Матющенко 'функция расчета числа рабочих дней (праздники не определяются) 'между DateFrom и DateTo включая границы 'Прим. перебор дней осуществляется только для первой и последней недели периода Public Function CountWorkDays(DateFrom As Date, DateTo As Date) As Long Dim i As Integer, k As Long Dim dateNext As Date dateNext = DateFrom - 1 CountWorkDays = 0 i = 1 If DateTo - DateFrom < 0 Then Exit Function Do dateNext = dateNext + 1 k = Weekday(dateNext) If k = vbSaturday Or k = vbSunday Then If i = 1 Then k=(((DateTo - dateNext))\ 7) CountWorkDays = CountWorkDays + 5 * k dateNext = dateNext + 7 * k i = 0 End If Else CountWorkDays = CountWorkDays + 1 End If Loop While Not dateNext >= DateTo End Function Просмотров: 8655
|