Hi Rorya

So if ive done this right the code on the tab should look like the following but for some reason it still doesnt do it automatically.

Private Sub worksheet_calculate()
colourTheCharts
End Sub

Sub colourTheCharts()
Dim co As ChartObject
Dim sourceData As Range
Dim n As Long
Dim ser As Series
Dim seriesFormula As String

For Each co In ActiveSheet.ChartObjects
Set ser = co.Chart.SeriesCollection(1)
seriesFormula = Mid$(ser.Formula, 10)
seriesFormula = Left$(seriesFormula, InStr(seriesFormula, ",") - 1)
Set sourceData = Application.Range(seriesFormula)

For n = 1 To ser.Points.Count
With ser.Points(n).Format.Fill
.Visible = True
.Solid
.ForeColor.RGB = sourceData.Cells(n).DisplayFormat.Interior.Color
End With
Next n

Next
End Sub