Желаемые результаты идеальны, тем не менее, я прошу гуру Excel посмотреть, доступен ли какой-либо лучший подход
Sub qtrcalc()
Dim StartDate As Date
Dim EndDate As Date
Dim z As Integer
Dim ldate As Date
Dim x As Integer
Dim k As Integer
Dim Ydate As Date
StartDate = Range("c1")
EndDate = Range("c2")
z = DateDiff("q", StartDate, EndDate) '+ 1 ' for begining of the month date
ldate = DateAdd("d", 90, StartDate) 'for the end date based on freq
Range("c27").Value = ldate
Range("c27").Value = StartDate
For x = 28 To 28 + z - 2
Cells(x, 3).Value = DateAdd("d", 90, StartDate)
Ydate = Range("c1").Value
For k = 31 To 31 + z - 5 Step 4
Cells(k, 3).Value = DateAdd("yyyy", 1, Ydate)
Ydate = Cells(k, 3)
Next k
StartDate = Cells(x, 3)
Next x
End Sub