我试图在我的电子表格中插入图表,如msdn中所述:
https://msdn.microsoft.com/en-us/library/bb238877(v=office.12).aspx
不幸的是我在
中收到错误方法' SetSource数据'对象' _chart'失败
在从ActiveChart
开始的行上。它为什么这样做?我在这里尝试过字符串和范围变量都无济于事。
除了我无法使用此方法之外,我不喜欢您需要选择图表的事实,当然还有更好的方法吗?
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
答案 0 :(得分:2)
PlotBy参数指定是按行还是按列绘制数据。因此,参数应设置为xlRows或xlColumns。
答案 1 :(得分:0)
错误出现在以下行,因为没有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