我正在编写一个宏来在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)。有谁知道为什么会发生这种情况以及我能做些什么来解决它?
答案 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