如何为数据透视表中的子字段引用数据值?

时间:2017-12-21 20:32:12

标签: excel vba excel-vba

在下面的截图中,我试图在“一年级”行中获得“短”的高度计数,这将是12.5%。

看起来我需要使用.GetPivotData方法,但我不能为我的生活让它工作。它说我需要PivotTable.GetPivotData([DataField],[Field1],[Item1])。但是当我尝试

x = pvt.GetPivotData("Count of Height", "First Grade", "Short").Value

我得到运行时错误'1004':应用程序定义或对象定义的错误。

Sub PivotTest()

    Dim pvt As PivotTable: Set pvt = Sheets("Sheet2").PivotTables("PivotTable1")

    x = pvt.GetPivotData("Count Of Height", "First Grade", "Short").Value

End Sub

我真的看不到我错过的东西。请参阅附表中的表格

enter image description here

1 个答案:

答案 0 :(得分:1)

查看GetPivotData函数,它至少需要一个参数,即数据字段。然后对于每个后续字段,它需要两个参数,字段名称和字段项。

您编写的代码缺少每个项目的字段名称。

那说,这将有效:

x = pvt.GetPivotData("Count Of Height", "Grade", "First Grade", "Height", "Short").Value