2013-05-08 155 views
1

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

说我有以下数据表:

a b x y z 
A A 1 9 0 
A B 2 10 0 
A C 3 11 0 
A D 4 12 0 
B A 5 13 0 
B B 6 14 0 
B C 7 15 0 
B D 8 16 0 

,我创建一个有两个行项目(a,b)和只有一个值项(x的总和)表格形式简单的数据透视表。那么对于透视字段A.A

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

的DataRange选择以下细胞(标有星号):

a b Sum of x 
A A *1 
    B *2 
    C *3 
    D *4 
B A 5 
    B 6 
    C 7 
    D 8 

太好了!但是这里出现了怪异现象。当添加另一种价值的项目(Y)的数据透视表相同的代码选择以下细胞:

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

如何使任何意义吗?但是,如果我添加一个虚拟列项(Z),那么结果是什么,我会从以前的方案中预计:

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

但我真的不希望添加一个虚拟,使这项工作。任何其他方式使这个选择对我有用吗?

在此先感谢!

回答

0

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

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

enter image description here

我一直在做这足以让我忘记它解决的问题。但我现在知道它解决了这个问题!

+0

非常感谢!这确实有效! – user2360416 2013-05-08 18:47:02