2

我正在尝试设置 SeriesCollection.Values 属性,但是出现错误“无法设置 Series 类的 Values 属性”。我已经尝试谷歌寻找可能的解决方案,但还没有一个有效的解决方案。

我已经使用 xlNewApp.Sheets("Synchronized Data").Range("H2:H117") 代替 "'Synchronized Data'!$H$2:$H$117" 但这也不起作用。

我在我想要绘制的实际数据中输入了一个数组(例如“={58, 77, 65,106}”),但我想避免循环遍历我的所有数据来创建必要的数组。

对此问题的任何帮助将不胜感激。

代码如下所示:

    xlSheetCount = xlNewWorkbook.Worksheets.Count
    Dim chart As Excel.Chart = xlNewApp.ActiveWorkbook.Charts.Add(After:=xlNewWorkbook.Worksheets(xlSheetCount))
    xlNewWorkbook.ActiveChart.Name = "Chart_Efficiencies"

    xlNewWorkbook.Sheets(xlSheetCount).name = "Chart_Efficiencies"
    xlNewApp.Charts("Chart_Efficiencies").Select()
    xlNewApp.ActiveChart.ChartType = Excel.XlChartType.xlXYScatter

    xlNewWorkbook.ActiveChart.SeriesCollection.NewSeries()
    With xlNewWorkbook.ActiveChart.SeriesCollection(1)
        .ChartType = Excel.XlChartType.xlXYScatter
        .Name = "HgT Removal Efficiency"
        .XValues = "'Synchronized Data'!$A$2:$A$117"
        .Values = "'Synchronized Data'!$H$2:$H$117" <----------- Problem Here
    End With

更新:如果该行是,代码不会出错:

xlNewApp.Sheets("Synchronized Data").Range("H2:H15").Value

当 H15 变为 H16 时,我再次收到错误

4

2 回答 2

1

我知道这是旧的,而不是主题,但我一直在寻找很长时间......谷歌提供了这个链接,所以我只是把它放在那里,希望它会帮助别人......

    .(X)Values = New Object() {value1, value2, etc..}
于 2014-03-11T14:57:47.217 回答
0

如果您替换这些行,它是否有效:

    .XValues = "'Synchronized Data'!$A$2:$A$117"
    .Values = "'Synchronized Data'!$H$2:$H$117" <----------- Problem Here

有了这个:

.XValues = Sheets('Synchronized Data').Range("$A$2:$A$117")
.Values = Sheets('Synchronized Data').Range("$H$2:$H$117")

?

于 2012-07-09T18:44:36.860 回答