对象'_chart'的Excel VBA .AddChart方法'SetSource Data'失败

我试图在我的电子表格中插入一个图表,如msdn中所述:

https://msdn.microsoft.com/en-us/library/bb238877(v=office.12).aspx

不幸的是我得到的错误

对象'_chart'的方法'SetSource Data'失败

在启动ActiveChart的线上。 为什么这样做? 我已经试过这两个string和范围variables无济于事。

除了我不能得到这个方法的事实,我不喜欢你需要selectgraphics的事实,当然还有更好的办法吗?

 Function TimeSeries(rngToPrint As Range) Dim strRange As String Dim rngChart As Range lngstartrow = 8 lngendrow = Range("a10000").End(xlUp).Row Range("$A$" & CStr(lngstartrow) & ":$B$" & CStr(lngendrow)).Select Sheets(rngToPrint.Worksheet.Name).Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("$A$" & CStr(lngstartrow) & ":$B$" & CStr(lngendrow)), PlotBy:=xlLine End Function 

PlotBy参数指定是否按行或列绘制数据。 所以参数应该设置为xlRows或xlColumns。

该错误出现在以下行,因为没有PlotBy:=xlLine

修改为:

 ActiveChart.SetSourceData Source:=Range("$A$" & CStr(lngstartrow) & ":$B$" & CStr(lngendrow)), PlotBy:=xlRows 

或者:

 ActiveChart.SetSourceData Source:=Range("$A$" & CStr(lngstartrow) & ":$B$" & CStr(lngendrow)), PlotBy:=xlColumns