Excel VBA Ändern der Balkendiagrammfarbe für einen Datenpunkt basierend auf dem Punktwert
Ich habe einige Diagramme, in denen die X-Werte Text und die Y-Werte numerisch sind. Ich möchte jeden Balken rot färben, wenn der Y-Wert für den Balken kleiner als Null ist, und grün, wenn er größer oder gleich Null ist. Wenn der X-Wert des Balkens "NET CHANGE" ist, muss der Balken gelb sein. Ich habe die Anweisungen in einem früheren StackOverflow-Thread hier befolgt:Ändern der Balkenfarben mithilfe von VBA basierend auf der Kategoriebeschriftung.
Ich erhalte den Laufzeitfehler 451 Die Eigenschaft let procedure ist nicht definiert und die Eigenschaft get procedure hat kein Objekt zurückgegeben.
Mein Code ist unten:
For chartIterator = 1 To ActiveSheet.ChartObjects.count
For pointIterator = 1 To ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator).Chart.SeriesCollection(1).Points.count
If ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator).Chart.SeriesCollection(1).Values(pointIterator) >= 0 Then
ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator).Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(146, 208, 80)
Else
ActiveWorkbook.Sheets("Due To Chart").ChartObjects(chartIterator).Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(255, 0, 0)
End If
Next pointIterator
Next chartIterator
Der Fehler tritt bei der IF-Anweisung auf. Ich habe auch .Points (pointIterator) .Value ausprobiert, was mir den Fehler "Eigenschaft oder Methode für dieses Objekt nicht definiert" bescherte.
Irgendwelche Gedanken darüber, was ich falsch mache?
Vielen Dank im Voraus für Ihre Hilfe.