Joe4,

Sorry I am causing a lot of confusion. Hopefully the following will help.

I have the following code, and E3 onwards is populated with the date due to the 2nd statement that you provided.

VBA Code:

```
Range("D3:E" & Cells(Rows.Count, "F").End(xlUp).Row).ClearContents
Range("E3:E" & Cells(Rows.Count, "F").End(xlUp).Row) = DateSerial(Right(Range("Q1"), 2), 4, 1)
Application.ScreenUpdating = False
myDate = DateSerial(Right(Range("Q1"), 2), 4, 1)
lastRow = Cells(Rows.Count, "F").End(xlUp).Row
For r = 3 To lastRow
If Len(Cells(r, "D")) > 0 Then Cells(r, "E") = myDate
Next r
Application.ScreenUpdating = True
```

The loop you have above checks, Cell D3 onwards and if it is not blank, it inserts myDate.

The problem is that whilst the macro is running, D3 onwards will ALWAYS be blanks as we have just cleared the contents of D3 onwards by the code in the first line above. Therefore the loop doesn't do anything.

In the spreadsheet, I have inserted a new column F after column E and inserted the following formula in Column F and hidden Column E

Basically, can the loop not have the above formula in cells E3 onwards? This will avoid inserting a new column, and inserting the above formula in all cells as the formula will exist in cells E3 onwards.

So when the macro has completed, and you go into the spreadsheet, the date will only show in Column E3 onwards when you populate column D3 onwards with a value.

I hope the above clarifies things.