herre is a copy of a routine that I wrote to work out the last 260 working days including taking account of Bank holidays.
The holiday dates are listed in column A of sheet "Lsehols"
I thought this might be close to what you want:
Sub Datelist()Sheets("Lsehols").Select
Bankhols = Range(Cells(1, 1), Cells(77, 1))
Sheets("Dates").Select
inarr = Range(Cells(1, 1), Cells(274, 1))
indi = 0
today = Date
If Weekday(today, vbMonday) > 5 Then
today = today - 1
End If
If Weekday(today, vbMonday) > 5 Then
today = today - 1
End If
For i = 274 To 14 Step -1
Dayval = False
Do While Dayval = False
Cday = today - indi
If Weekday(Cday, vbMonday) > 5 Then
indi = indi + 1
Else
Bankhol = False
For jj = 1 To 77
If Cday = Bankhols(jj, 1) Then
indi = indi + 1
Bankhol = True
Exit For
End If
Next jj
Dayval = Not (Bankhol)
End If
Loop
inarr(i, 1) = today - indi
indi = indi + 1
Next i
Sheets("Dates").Select
Range(Cells(1, 1), Cells(274, 1)) = inarr
End Sub