Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim lw As Long
Dim lr As Long
Dim sh As Worksheet
Dim ws As Worksheet
Dim Col%
If Target.Address = "$A$2" Then
Set sh = Sheet1 'Table
Set ws = Sheet2 'Chart
lw = sh.Range("A" & Rows.Count).End(xlUp).Row
lr = lw + 1 - Range("n") 'Cell where days is stored.
Col = sh.Cells(1, Columns.Count).End(xlToLeft).Column
ws.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData sh.Range(sh.Range(sh.Cells(lr, 2), sh.Cells(lr, Col)), sh.Range(sh.Cells(lw, 2), sh.Cells(lw, Col))), xlColumns
For i = 1 To Col - 1 'Headers to be added
ActiveChart.SeriesCollection(i).Name = "=Table!R1C" & i + 1
Next i
ActiveChart.SeriesCollection(1).XValues = "=Table!R" & lr & "C1:R" & lw & "C1"
End If
End Sub