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.