如何隐藏透视项目,但在Excel 2003中将它们包含在总计中

时间:2013-06-13 20:31:43

标签: excel excel-vba excel-2003 vba

在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

但我不知道是否有可能将其置于用户无法看到它的状态,但它会继续为数据透视表中的小计和总计做出贡献。

enter image description here

如果没有迭代数据透视表的行并将行高设置为0,是否存在透视项的状态或操纵Excel计算总计以实现此目的的方式?

1 个答案:

答案 0 :(得分:1)

我要说答案是“不”。

我从未注意到您提到的“小计隐藏页面项目”功能。阅读它,听起来这只适用于OLAP多维数据集,虽然有点不清楚Excel 2003是否属实。(我正在使用Excel 2010,他们稍微更改了名称。)出于好奇,是吗?页面字段设置适用于您,您使用的是OLAP多维数据集吗?

无论如何,我确信找到你正在寻找的最好的方法是将行的Hidden属性设置为true,正如你已经指出的那样。

不是你问的,但似乎这种设计会让用户感到困惑。