Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何在透视表中引用子字段的数据值?_Vba_Excel - Fatal编程技术网

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

Vba 如何在透视表中引用子字段的数据值?,vba,excel,Vba,Excel,在下面附带的屏幕截图中,我试图得到“一年级”行中“短”的高度计数,即12.5% 看起来我需要使用.GetPivotData方法,但我一辈子都无法让它工作。它说我需要数据透视表。GetPivotData([DataField]、[Field1]、[Item1])。但是当我尝试的时候 x = pvt.GetPivotData("Count of Height", "First Grade", "Short").Value 我得到运行时错误“1004”:应用程序定义或对象定义错误 Sub Pivot

在下面附带的屏幕截图中,我试图得到“一年级”行中“短”的高度计数,即12.5%

看起来我需要使用.GetPivotData方法,但我一辈子都无法让它工作。它说我需要数据透视表。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
我真的看不出我错过了什么。请参见表格的附图


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

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

也就是说,这将起作用:

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

这是完全正确的。我想我误解了论点的描述。非常感谢!