使用VBA,按排序顺序获取数据透视表值

时间:2014-05-20 07:27:59

标签: excel vba excel-vba pivot-table

在Excel VBA中,我按照以下步骤操作:

Created a pivot table off another sheet as datasource
AutoSort the first pivot field based on the first data field

数据透视表正在正确显示所有内容。现在,我尝试以编程方式访问第一个pivot字段下的行,并按排序顺序获取它们。但是PivotTable.RowFields集合在排序之前以原始顺序返回行。如何以编程方式以新的排序顺序获取行,而无需编写代码来对数据进行排序?

摘要代码段

Dim pt As PivotTable
Dim pf As PivotField
Dim strval As String
.
.
.
Set pf = pt.PivotFields("first")
pf.AutoSort xlDescending, "firstdata", pt.PivotColumnAxis.PivotLines(1), 1
strval = ptExtract.RowFields(1).PivotItems(1)

在这些语句之后,数据透视表会以降序显示所有值。但strval在排序之前从第一行获取值。自动排序后,数据透视表中的透视项的顺序似乎没有变化。那么如何以新排序的顺序获取这些值?

任何帮助将不胜感激。谢谢!

0 个答案:

没有答案