【问题标题】:Update Pivot Table Source VBA更新数据透视表源 VBA
【发布时间】:2014-06-16 13:31:15
【问题描述】:

我想更新数据透视表的数据源,但是当我运行 makro 时出现以下错误:

数据透视表字段无效。要创建数据透视表,您必须使用组织为带有标签列的列表的数据...

DataArea = "Log Defects!$A$3:$L$10000" ActiveSheet.PivotTables("PivotTablePriority").SourceData = DataArea

数据透视表名称正确! 数据区域是从 excel 复制的(当我单击数据透视表并可以选择数据源时),因此选择应该是正确的。

【问题讨论】:

  • 确保数据有标题。
  • 标题到底是什么意思?仅包含该列标题的第一行?
  • 嘿@Michael,我认为您对评论的理解是正确的......标题是包含列名的数据“块”的第一行。这些名称是否在“日志缺陷”表的第 3 行?
  • 并输入最后一条评论可能会给我带来问题。 Log Defects 周围似乎没有单引号...当我在本地计算机上制作数据透视表时,如果数据位于名称中有空格的工作表上,我需要单引号,这意味着该行应该说DataArea = "'Log Defects'!$A$3:$L$10000"
  • 我认为第二个应该可以工作

标签: vba excel


【解决方案1】:
        Dim WSname as String
        WSname= "Log Defects"
        ActiveSheet.PivotTables("PivotTablePriority").ChangePivotCache ActiveWorkbook. _
        PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        WSname & "!R3C1:R10000C12", Version:= _
        xlPivotTableVersion14)

注意 WSname 没有引号。还可以更改缩放比例 R=row,使其第 3 行更改为 10000,C= 列更改为 1 更改为 12,或将 A 列更改为 L。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    相关资源
    最近更新 更多