我遇到了Excel PivotTables和DataRange行为的难题。当没有Column字段时,它似乎没有按预期工作。我想从Row项中选择与一个特定PivotField关联的所有数据单元格,我该怎么做?
说我有以下数据表:
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
我以表格形式创建一个简单的数据透视表,它有两个Row项(a,b)和一个Value项(x的和)。然后是PivotField的DataRange a.A
ActiveWorkbook.ActiveSheet.PivotTables(1).PivotFields("a").PivotItems("A").DataRange.Select
选择以下单元格(用Asterix标记):
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 :(得分:0)
有趣的问题。我从来没有注意到这一点。
在Excel 2007或更高版本中创建数据透视表时,我要做的第一件事就是在数据透视表选项菜单中选择“经典数据透视表布局”:
我已经做了足够长的时间,以至于忘记了它解决的问题。但我现在知道它解决了这个问题!