在excel xyscatter图表中更改数据系列的颜色

时间:2015-02-16 14:18:02

标签: excel vba excel-vba graph

我试图改变excel图表中数据点的颜色但是我尝试的一切都不成功。

这是我尝试的一种方法,但这些点仍然显示为蓝色:

With Chrt
.ChartType = xlXYScatter
Do Until .SeriesCollection.Count = 0
.SeriesCollection(1).Delete
Loop
    .SeriesCollection.NewSeries

                .SeriesCollection(1).Name = "=""Top Platen"""
                .SeriesCollection(1).Values = yaxis
                .SeriesCollection(1).XValues = xaxis

                ActiveChart.SeriesCollection(1).Select
                 With Selection.Format.Fill
                    .Visible = msoTrue
                    .ForeColor.RGB = RGB(255, 0, 0)
                    .Transparency = 0
                    .Solid
                End With

这是我尝试的另一种方法,数据点仍显示为蓝色:

With Chrt
.ChartType = xlXYScatter
Do Until .SeriesCollection.Count = 0
.SeriesCollection(1).Delete
Loop
    .SeriesCollection.NewSeries

                .SeriesCollection(1).Name = "=""Top Platen"""
                .SeriesCollection(1).Values = yaxis
                .SeriesCollection(1).XValues = xaxis
                .SeriesCollection(1).Interior.Color = RGB(255,0,0)

这只是我代码的一部分,如有必要,我可以提供其他区域。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

我认为问题在于嵌套的With块感到困惑。这是解决它的一种方法,仍然使用嵌套的With块:

With Chrt
    .ChartType = xlXYScatter

    Do Until .SeriesCollection.Count = 0
        .SeriesCollection(1).Delete
    Loop

    .SeriesCollection.NewSeries

    With .SeriesCollection(1)
        .Name = "=""Top Platen"""
        .Values = yaxis
        .XValues = xaxis
        .Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
    End With
End With

以下是Microsoft's documentation link,其中讨论了完全限定的嵌套With块。