据我所知,这是非常复杂的b / c数据透视表可能会根据用例情况有所不同,但我希望找到一种方法可以让我基本上记住数据透视表的当前视图,然后去我钻了之后回到它。在最高级别,单击一个按钮,在我打开文件时将枢轴重置回其原始状态。
我知道可能有几种方法可以解决这个问题(包括只是复制到新的工作表),但我希望有一种通用的方法来做到这一点并不需要添加新工作表。
谢谢! 杰里米
答案 0 :(得分:1)
是的,但这不容易。
我刚从构建数据构建一个简单的数据透视表时使用了宏录制器。我明白了:
Sub Macro1()
With ActiveSheet.PivotTables("PivotTable1").PivotFields("A")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("B")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("C"), "Sum of C", xlSum
End Sub
从记录的宏中我们可以看到Pivot表对象具有像PivotFields和DataFields这样的属性。您必须遍历数据透视表对象中各种属性中的所有相关项,然后将该数据存储在某处。通过将其序列化为隐藏的工作表或将其存储在全局VBA变量中。