首页 文章

多个数据透视表SetSourceData错误

提问于
浏览
0

我有多个数据透视图,每个透视图在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 回答

  • 0

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

    如果数据源将要更改,我将不会使用数据透视表 .

    使用数据透视表,在运行时创建图表(如您的示例) . 构建数据透视表结果的图表 .

  • 0

    这段代码假定每张工作表只有一个数据透视表,数据透视表在单元格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”更改为特定工作表名称似乎也会触发该错误 .

相关问题