X または Y とは異なる値に基づいて、散布図のマーカーの色を変更しようとしています。値は、マーカーの X および Y と同じ行にあります。これを実行しましたが、値の領域を適切に定義できないようです。私は実際にコーディングしていないので、間違った方法で見ているかもしれません...
Sub color_chart()
Dim chartIterator As Integer, pointIterator As Integer, _
seriesArray() As Variant
For chartIterator = 1 To ActiveSheet.ChartObjects.Count
seriesArray = ActiveWorkbook.Sheets("Graph").ChartObjects(chartIterator). _
Chart.SeriesCollection(1).Values
For pointIterator = 1 To UBound(seriesArray)
Dim value As Range
Set value = Worksheets("Ranking").Range("F6", "F11")
Dim valueR As Integer
Set valueR = value.Cells.Item(1, pointIterator)
If valueR(pointIterator) = 0 Then
ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator). _
Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(255, 0, 0)
ElseIf valueR(pointIterator) = 1 Then
ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator). _
Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(255, 102, 102)
ElseIf valueR(pointIterator) = 2 Then
ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator). _
Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(255, 128, 0)
ElseIf valueR(pointIterator) = 3 Then
ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator). _
Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(255, 255, 0)
ElseIf valueR(pointIterator) = 4 Then
ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator). _
Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(128, 255, 0)
ElseIf valueR(pointIterator) = 5 Then
ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator). _
Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(0, 255, 0)
End If
Next pointIterator
Next chartIterator
End Sub