Mam kilka wykresów, w których wartości X to tekst, a wartości Y to wartości liczbowe. Chcę kolorować każdy pasek Czerwony, jeśli wartość Y dla słupka jest mniejsza niż zero, Zielona, jeśli jest większa lub równa zero. Ponadto, jeśli wartość X paska to "NET CHANGE", potrzebuję, aby pasek był żółty. Postępowałem zgodnie ze wskazówkami w poprzednim wątku StackOverflow tutaj: Changing Bar colors using VBA based on category label.excel vba zmiana koloru paska wykresu dla punktu danych na podstawie wartości punktu
Otrzymuję błąd czasu wykonania 451 Procedura nie została zdefiniowana i procedura odzyskiwania właściwości nie zwróciła obiektu.
Moje kodu 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 dostarczył mi błąd "właściwość lub metoda nie zdefiniowana dla tego obiektu".
Jakieś myśli o tym, co robię źle?
Z góry dziękuję za pomoc.
To działało idealnie dzięki! – user1899231