Aqui está um exemplo rápido que deve dar tudo de que você precisa:
Sub Macro1()
Dim crt As Chart
Dim ser As Series
Dim val As Long
Dim pnt As Point
Set crt = ActiveChart
Debug.Print "Number of Series: ", crt.SeriesCollection.Count
Set ser = crt.SeriesCollection(2)
Debug.Print "# Points in Series 2: ", ser.Points.Count
NumPoints = ser.Points.Count
Debug.Print "Values for Series 2:"
For i = 1 To NumPoints
val = ser.Values(i)
Debug.Print " ", i, val,
Set pnt = ser.Points(i)
If val > 6 Then
pnt.MarkerForegroundColorIndex = 4
pnt.MarkerBackgroundColorIndex = 4
Debug.Print pnt.MarkerForegroundColor, pnt.MarkerForegroundColorIndex
Else
Debug.Print
End If
Next i
End Sub
Você deve definir a cor usando o valor Index se puder, pois isso mantém cores consistentes. Observe também que o número da cor não indexado começa como -1, portanto, você não pode usá-lo para verificar o valor real da cor. É é definido, no entanto, depois de alterar a cor. Você também desejará alterar a cor do plano de fundo além do Foreground se quiser que o preenchimento seja o mesmo da borda.