我有一些图表,其中 X 值是文本,Y 值是数字。如果条的 Y 值小于零,我想将每个条着色为红色,如果大于或等于零,则将其着色为绿色。另外,如果条的 X 值为“NET CHANGE”,我需要条为黄色。我在这里按照以前的 StackOverflow 线程中的说明进行操作:根据类别标签使用 VBA 更改条形颜色。
我收到运行时错误 451 Property let procedure not defined 并且 property get procedure 没有返回对象。
我的代码如下:
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
错误出现在 IF 语句中。我还尝试了 .Points(pointIterator).Value,它得到了“未为此对象定义的属性或方法”错误。
对我做错了什么有任何想法吗?
在此先感谢您的帮助。