0

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

4

1 回答 1

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
于 2013-04-01T19:20:38.187 回答