there is another attempt to that task:
Sub Reorganize_v2()
Dim i, LRow As Long
Dim j As Date
Dim FirstDate, NextDate As Date
LRow = Range("A" & Rows.Count).End(xlUp).Row
FirstDate = Cells(3, 3).Value
LastDate = Cells(LRow, 3).Value
For i = LRow To 3 Step -1
If Cells(i, 1).Value = "Saturday" Or Cells(i, 1).Value = "Sunday" Then
Rows(i).EntireRow.Delete
End If
Next i
LRow = Range("A" & Rows.Count).End(xlUp).Row
For i = FirstDate To LastDate
If Weekday(i, vbMonday) > 5 Then
Cells(LRow + 1 + x, 1).Value = WeekdayName(Weekday(i, vbMonday), False, vbMonday)
Cells(LRow + 1 + x, 3).Value = Format(i, "dd-mmm")
x = x + 1
End If
Next i
LRow = Range("A" & Rows.Count).End(xlUp).Row
Range("A3:E" & LRow).Sort Key1:=Range("C3"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
For i = 3 To LRow
Cells(i, 2).Value = i - 2
Next i
Range("A3:E" & LRow).Select
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
End Sub