В очередной раз обращаюсь на форум за помощью. Есть две даты D1 и D2. Необходимо определить сколько полных календарных месяцев между этими датами, а точнее количество дней в этих месяцах. Нашел следующую формулу: =РАЗНДАТ(КОНМЕСЯЦА(D1;0)+1;КОНМЕСЯЦА(D2;-1)+1;"d"). Формула работает, в принципе, как нужно. Как тоже самое реализовать на VBA? Возможно у кого-то есть готовое решение. Буду благодарен за совет.
К сожалению, функция DateDiff возвращает разницу месяцев / дней без учета календарных месяцев. Т.е. между 30.09.2018 и 06.12.2018 - возвращает 67 дней, а требуется 61 день (октябрь - 31 + ноябрь - 30)
Sub jjj_cDateDiff()
Dim dtTmp As Date
Dim dtStart As Date: dtStart = [A1]
Dim dtEnd As Date: dtEnd = [A2]
Debug.Print dtStart, dtEnd,
Debug.Print Abs(DateDiff("d", dtEnd - Day(dtEnd) + 1, DateAdd("m", 1, dtStart) - Day(DateAdd("m", 1, dtStart)) + 1))
End Sub