如何使用VBA控制Excel数据透视表字段列表中元素的顺序?

我有一个数据透视表,其目的是根据用户的select,在两个不同的聚合级别上总结我的数据。

在原来的状态下,这里是我的数据透视表的feild列表: 在这里输入图像说明

当用户更改某些设置时,以下代码将隐藏字段列表中的IndexA:

Sheets("test").PivotTables("test").PivotFields("IndexA").Orientation = xlHidden 

并且当更改被颠倒时,下面的代码使得IndexA再次可见:

 Sheets("test").PivotTables("test").PivotFields("IndexA").Orientation = xlRowField 

结果字段列performance在看起来像这样,字段列表元素的修改顺序如下: 在这里输入图像说明

请注意,在ROWS字段列表中,IndexA现在位于底部而不是顶部,这破坏了报告的一致性和可读性。

我的问题是..有没有办法通过VBA控制透视字段列表的顺序? 或另一种方法来达到相同的结果,我正在寻找? (打开和closures字段列表中的某个项目并保存顺序)

我感谢任何人都可以提供有关此主题的帮助/build议。

这是设置位置的代码:

 With Sheets("test").PivotTables("test").PivotFields("IndexA") .Orientation = xlRowField .Position = 1 End With 

为了将来的参考,我通过使用macroslogging器并手动完成了这个工作,因为我记不清头顶的语法。 只是指出它,因为logging手动操作可以非常方便地find语法:)