0
我試圖根據不同於X或Y的值更改散點圖中的標記顏色。該值位於同一行中作爲標記的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
謝謝,但之後我怎麼確定去哪裏查找信息,如果我不能使用與設置一個整數? – segolene
只需刪除單詞'Set',並且您留下了一個語法上有效的語句:'valueR = value.Cells.Item(1,pointIterator)' –