Sub ColorPointsToMatchCells()
Dim srs As Series
Dim sFmla As String
Dim vFmla As Variant
Dim sYvals As String
Dim rYvals As Range
Dim iPt As Long
Dim nPts As Long
If ActiveChart Is Nothing Then GoTo OuttaHere
For Each srs In ActiveChart.SeriesCollection
Select Case srs.ChartType
' only do pie, bar, column charts
Case xlPie, xlDoughnut, xlBarClustered, xlBarStacked, xlBarStacked100, _
xlColumnClustered, xlColumnStacked, xlColumnStacked100
On Error GoTo SeriesError
' get series information
sFmla = srs.Formula
nPts = srs.Points.Count
vFmla = Split(sFmla, ",")
sYvals = vFmla(LBound(vFmla) + 2)
Set rYvals = Range(sYvals)
For iPt = 1 To nPts
' don't change point color if cell has no fill color
If rYvals.Cells(iPt).Interior.Pattern = xlSolid Then
srs.Points(iPt).Interior.Color = rYvals.Cells(iPt).Interior.Color
End If
Next
End Select
SeriesError:
On Error Resume Next
Next
OuttaHere:
End Sub