Я пытаюсь использовать Excel функцию DateAdd, чтобы найти на следующий рабочий день .
Он дает одинаковый результат, независимо от того, используете ли вы d, w или y для аргумента точки.
Я попробовал следующий код и получил идентичные результаты во всех 3 столбцах.
Sub test()
Dim i As Integer
For i = 1 To 9
Debug.Print i;
Debug.Print DateAdd("d", i, #9/10/2009#);
Debug.Print DateAdd("w", i, #9/10/2009#);
Debug.Print DateAdd("y", i, #9/10/2009#)
Next i
End Sub
Результат:
1 11.09.2009 09.11.2009 11.09.2009
2 09.09.2009 12.09.2009 12.09.2009
3 13.09.2009 13.09.2009 13.09.2009
4 14.09.2009 14.09.2009 14.09.2009
5 15.09.2009 15.09.2009 15.09.2009
6 16.09.2009 16.09.2009 16.09.2009
7 17.09.2009 17.09.2009 17.09.2009
8 18.09.2009 18.09.2009 18.09.2009
9 19.09.2009 19.09.2009 19.09.2009
Выписка из документации:
Возвращает вариант (Date), содержащий дату, к которой был добавлен указанный интервал времени.
Syntax
DateAdd(interval, number, date)
...
interval Required. String expression that is the interval of time you want to add.
....
The interval argument has these settings:
Setting Description
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week
...