宏将多个不需要的系列添加到XY散点图

时间:2013-04-01 19:01:53

标签: excel vba excel-vba for-loop

我正在编写一个宏来在Excel 2010中创建XY散点图但遇到一些麻烦。我试图使用循环分配.Name,.XValues和.Value但是每当我的宏完成时,图表中有几个不需要的条目。这是我的代码:

    For m = 4 To 36
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(m).Name = Range("A" & m)
    ActiveChart.SeriesCollection(m).XValues = Range("Q" & m)
    ActiveChart.SeriesCollection(m).Values = Range("R" & m)
    Next m

由于某种原因,添加的前三个系列是M1:M2,N1:N2和O1:O2,但我不知道为什么。我只想要来自A,Q和R列的数据。同样在图表的底部总有十个加法系列(例如Series1到Series10)。有谁知道为什么会发生这种情况以及我能做些什么来解决它?

1 个答案:

答案 0 :(得分:1)

尝试下面这样的事情:比依赖于SeriesCollection索引更安全。此外,如果您在代码中创建图表,则默认情况下它将从当前选择的任何范围中获取数据。为了安全起见,您应该在创建图表之后循环并删除任何现有的系列,然后再添加所需的数据。

Dim s 

For m = 4 To 36
    Set s = ActiveChart.SeriesCollection.NewSeries()
    With s
        .Name = Range("A" & m)
        .XValues = Range("Q" & m)
        .Values = Range("R" & m)
    End With
Next m