对象'_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