题
我有多个枢轴图表每个具有在Excel 2002上的不同工作表自己的枢轴表
当我尝试生成这些图表与VBA用下面的代码:
Set cht = Charts.Add(After:=Worksheets("Setup"))
With cht
' we use named ranges here
.SetSourceData Source:=range(tblName)
.Name = chtName
...
其中tblName被命名区域刚刚创建的几行之前,代码运行正常,如果只有一个表格和图表生成,但给了我一个运行时错误1004:“数据透视图报表的源数据不能改变。 ..”如果我尝试生成的数据透视表和图表设置了一个又一个。
要插入 - >名称 - >定义,创建了一个名为范围的名单似乎是正确的。
什么是与动态范围设置源数据为枢轴图表的正确的方法?
解决方案 2
这一段代码假定只有一个枢轴表每片和枢轴表单元格A1开始:
Sheets(wsName).Select
Range("A1").Select
Set cht = Charts.Add(after:=Worksheets(Worksheets.Count))
With cht
.SetSourceData Sheets(wsName).Range("A1")
.Name = chtName
...
另外改变“Worksheets.Count”到特定的工作表名称似乎触发误差为好。
其他提示
我想你可能会一次尝试做太多的事情。
如果数据源将改变,我不会用一个透视图表。
使用一个数据透视表,在运行时创建图表(如您的例子)。建立您的枢轴表的结果的图表。
不隶属于 StackOverflow