I found this code to dynamically change the print area.
It was working fine on the day i inserted the code, ive saved it as a macro enabled workbook etc
The sheets so longer update for some reason
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Isect As Range
Set Isect = Application.Intersect(Target, [D:D])
If Not Isect Is Nothing Then
Range("B" & Target.Row) = Now