在Excel 2003中,我尝试创建一个Workbook_SheetPivotTableUpdate Sub,它强制对数据透视表进行限制,以使特定行字段的特定数据透视表项永远不可见,但仍必须对小计和总计有贡献。
我知道有一个设置"小计隐藏页面项目"如果字段是页面字段,则允许这种情况发生。我也知道如何强制透视项目可见:
Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
Dim pvtField As PivotField
Dim pvtItem As PivotItem
Set pvtField = Target.PivotFields("Specific Field")
If pvtField.Orientation = xlRowField Then
Set pvtItem = pvtField.PivotItems("Specific Item")
pvtItem.Visible = False
End If
End Sub
但我不知道是否有可能将其置于用户无法看到它的状态,但它会继续为数据透视表中的小计和总计做出贡献。
如果没有迭代数据透视表的行并将行高设置为0,是否存在透视项的状态或操纵Excel计算总计以实现此目的的方式?
答案 0 :(得分:1)
我要说答案是“不”。
我从未注意到您提到的“小计隐藏页面项目”功能。阅读它,听起来这只适用于OLAP多维数据集,虽然有点不清楚Excel 2003是否属实。(我正在使用Excel 2010,他们稍微更改了名称。)出于好奇,是吗?页面字段设置适用于您,您使用的是OLAP多维数据集吗?
无论如何,我确信找到你正在寻找的最好的方法是将行的Hidden
属性设置为true,正如你已经指出的那样。
不是你问的,但似乎这种设计会让用户感到困惑。