2012-06-28 54 views
2

但是我想设置SeriesCollection.Values属性,我得到错误“无法设置Series类的Values属性”。我曾尝试Google寻求可能的解决方案,但都没有奏效。不能在VB.Net中设置SeriesCollection.Values属性

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

我已经取得了一些成功,在打字阵列(例如“= {58,77,65106}”)的实际数据我想绘制的,但我想避免通过我的所有数据,以创建循环必要的数组。

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

的代码看起来是这样的:

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 

UPDATE: 代码中并没有错误,如果该行是:

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

当H15成为H16,我再次得到错误

回答

1

如果您更换这些生产线,是否可以正常工作:

.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") 

1

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

.(X)Values = New Object() {value1, value2, etc..}