Duncan,
I have attached a file that shows one way to do this. It involves clicking a button on the spreadsheet, but you could move it to a worksheet_change event.
You could also edit the code to add a variable start date as well.
Code for the button is:
Sub VariableChartRange()
Dim dateEndDate As Date
Dim intRows As Integer
dateEndDate = Cells(1, 2)
For intRows = 2 To 366
'This finds the row of maximum date to be charted
If Cells(intRows, 4) = dateEndDate Then Exit For
Next intRows
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(1).XValues = "='Sheet1'!$D$2:$D$" & intRows
ActiveChart.SeriesCollection(1).Values = "='Sheet1'!$E$2:$E$" & intRows
End Sub
Hope this helps.
Matthew