excel vba zmienia kolor wykresu słupkowego dla punktu danych na podstawie wartości punktu

Mam kilka wykresów, w których wartości X to tekst, a wartości Y są liczbowe. Chcę kolorować każdy pasek Czerwony, jeśli wartość Y dla paska jest mniejsza niż zero, Zielona jeśli większa lub równa zero. Ponadto, jeśli wartość X paska to „ZMIANA NETTO”, pasek musi być żółty. Postępowałem zgodnie ze wskazówkami w poprzednim wątku StackOverflow tutaj:Zmiana kolorów paska za pomocą VBA na podstawie etykiety kategorii.

Otrzymuję błąd czasu wykonywania 451 Nie zdefiniowano procedury umożliwiającej właściwość, a procedura pobierania właściwości nie zwróciła obiektu.

Mój kod jest poniżej:

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

Błąd pojawia się w instrukcji IF. Próbowałem również .Points (pointIterator) .Value, który dostał błąd „właściwość lub metoda nie została zdefiniowana dla tego obiektu”.

Jakieś przemyślenia na temat tego, co robię źle?

Z góry dziękuje za twoją pomoc.

questionAnswers(2)

yourAnswerToTheQuestion