Try this:
Sub FillDates()
Dim wks As Worksheet, i As Long, n As Long
Dim dt1 As Date, dt2 As Date, x As Long, d As Long
Set wks = Worksheets("NAV_REPORT_FSIGLOB1")
With wks
'make start 1st
dt1 = .Cells(2, "D")
If Day(dt1) > 1 Then
.Rows(2).Copy
.Rows(2).Insert xlShiftDown
.Cells(2, "D") = DateSerial(Year(dt1), Month(dt1), 1)
n = n + 1
End If
i = .Cells(.Rows.Count, "D").End(xlUp).Row
Do
.Cells(i, "D").Select
dt1 = .Cells(i - 1, "D")
dt2 = .Cells(i, "D")
d = DateDiff("d", dt1, dt2)
If d = 1 Then
i = i - 1
ElseIf d > 1 Then
.Rows(i).Copy
.Rows(i).Insert xlShiftDown
.Cells(i, "D") = DateAdd("d", -1, dt2)
n = n + 1
ElseIf d < 1 Then
MsgBox "Date sequence error", vbCritical
Exit Sub
End If
' escape infinite loop
x = x + 1
If x > 100 Then
MsgBox "Too many iterations > 100", vbCritical
Exit Sub
End If
Loop While i > 2
End With
MsgBox n & " rows added"
End Sub