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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage