用dymanic数据源创buildPiechart的VBA代码

作为VBA中sub()的最后一步,我试图编写一个代码来创build子结果数据上的饼图,但是我无法将数据源定义为数据的列位置,行不一样。 这是当前的代码。

'Create Pie chart Charts.Add ActiveChart.ChartType = xlPie ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(Cells(2, X + 2), Cells(1 + Y, X + 2)), PlotBy:= _ xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:="Market Simulator" ActiveChart.HasTitle = False 

X和Y在代码的前面填充,X表示图表源数据向右移动了多less列,Y表示数据源有多less行(不包括标题)。

当我尝试和运行子我得到一个“对象_global方法单元格失败”错误,从网上search似乎这是因为数据源位置不够具体,但我不知道如何可以更多因为工作表和单元格都已定义。 我也尝试添加工作簿,但没有帮助。

可能是常见的错误,因为您没有完全限定所有范围/单元格引用与工作表。 当您添加图表工作表时Sheet 1不再处于活动状态,然后代码尝试访问图表工作表上的单元格,这将永远不会愉快地结束。 注意下面两个单元格前面的点。

 Charts.Add ActiveChart.ChartType = xlPie With Sheets("Sheet1") ActiveChart.SetSourceData Source:=.Range(.Cells(2, x + 2), .Cells(1 + y, x + 2)), PlotBy:= _ xlColumns End With ActiveChart.Location Where:=xlLocationAsObject, Name:="Market Simulator" ActiveChart.HasTitle = False