我有多个枢轴图表每个具有在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”到特定的工作表名称似乎触发误差为好。

其他提示

我想你可能会一次尝试做太多的事情。

如果数据源将改变,我不会用一个透视图表。

使用一个数据透视表,在运行时创建图表(如您的例子)。建立您的枢轴表的结果的图表。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top