Excel数据透视表数据范围难题

我遇到了Excel数据透视表和DataRange行为的难题。 当没有Column字段时,它似乎没有按预期工作。 我想要从Row项目中select与某个特定数据透视字段关联的所有数据单元格,我该怎么做?

说我有以下数据表:

abxyz AA 1 9 0 AB 2 10 0 AC 3 11 0 AD 4 12 0 BA 5 13 0 BB 6 14 0 BC 7 15 0 BD 8 16 0 

我以表格forms创build了一个简单的数据透视表,其中包含两个行项目(a,b)和只有一个值项目(x的总和)。 然后是数据透视字段aA的DataRange

 ActiveWorkbook.ActiveSheet.PivotTables(1).PivotFields("a").PivotItems("A").DataRange.Select 

select下列单元格(用Asterix标记):

 ab Sum of x AA *1 B *2 C *3 D *4 BA 5 B 6 C 7 D 8 

大! 但是这里出现了怪异。 向数据透视表添加另一个Value项(y)时,相同的代码select以下单元格:

 ab Sum of x Sum of y AA 1 9 B *2 10 C *3 11 D *4 12 BA *5 13 B 6 14 C 7 15 D 8 16 

这有什么意义呢? 但是,如果我添加一个虚拟列项目(z),那么结果是我从以前的情况下预期的:

  z Values 0 ab Sum of x Sum of y AA *1 *9 B *2 *10 C *3 *11 D *4 *12 BA 5 13 B 6 14 C 7 15 D 8 16 

但我真的不想添加一个虚拟,使这项工作。 任何其他的方式来使这个select为我工作?

提前致谢!

有趣的问题。 我从来没有注意到这一点。

在Excel 2007或更高版本中创build数据透视表时,我所做的第一件事情是在数据透视表选项菜单中select“Classic数据透视表布局”:

在这里输入图像说明

我已经做了足够长的时间,我忘了它解决的问题。 但我现在知道它解决了这个问题!