如何访问PivotCell.RowItem(n)的字段名称?

时间:2012-03-02 18:23:19

标签: excel-vba pivot-table vba excel

我有一个Exel 2007数据透视表,使用经典布局,有2行字段。对于给定的数据PivotCell,我想循环并识别该单元格的相应行字段名称和项目值。如果我在子总计或总计行(与单元格关联的0或1项)上,我的代码可以正常工作。但是如果我尝试使用与2个项目关联的单元格 - “运行时错误'1004':应用程序定义的或对象定义的错误”,它就会失败。

当i = 1时,以下行成功,但当i = 2时失败:

cellSpec(1, i) = pvtCell.RowItems(i).LabelRange.PivotCell.PivotField.SourceName

当我将表达式设置为pvtCell时,我看到了:

pvtCell.RowItems(2).LabelRange.PivotCell=<Application-defined or object-defined error>

然而pvtCell.RowItems(2).Name具有预期的有效值。

任何人都知道获取RowItem字段名称的可靠方法吗?

1 个答案:

答案 0 :(得分:1)

我终于在专门的Excel论坛上找到了答案:http://www.mrexcel.com/forum/showthread.php?p=1638552#post1638552

现在代码更简单了,它实际上有效!

cellSpec(1, i) = pvtCell.RowItems(i).Parent.SourceName