小编use*_*231的帖子

excel vba根据点值更改数据点的条形图颜色


我有一些图表,其中X值是文本,Y值是数字.如果条形图的Y值小于零,我想为每个条形颜色着色,如果大于或等于零,则为绿色.此外,如果条形的X值是"NET CHANGE",我需要条形为黄色.我按照之前的StackOverflow线程中的说明进行操作:使用基于类别标签的VBA更改条形颜色.

我得到运行时错误451属性让过程没有定义,属性get过程没有返回一个对象.

我的代码如下:

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
Run Code Online (Sandbox Code Playgroud)

错误出现在IF语句中.我也试过.Points(pointIterator).Value,它给我一个"没有为这个对象定义的属性或方法"错误.

对我做错了什么的想法?

在此先感谢您的帮助.

excel charts vba points

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

charts ×1

excel ×1

points ×1

vba ×1