抑制数据透视表中的透视项目

时间:2013-03-28 01:32:41

标签: excel excel-vba vba

我创建了一个数据透视表,列出了给定日期商店的访问者数量。有3列数据,日期列和代表访问者的两列数字。当我从这些数据创建图表时,我得到一条数据条,表示构成数据的日期范围之前和之后的日期。我可以使用以下命令禁止在我想要查看的日期之前发生的所有日期:

With Worksheets("Pivot Tables").PivotTables("Weekly Statistics").PivotFields("Date")
    .PivotItems.Item(1).Visible = False  

但是,我无法找到一种方法来抑制今天之后发生的日期。这使我的条形图上的列为空白,轴值为“> 3/27/2013”​​。我可以通过实际键入这一行来抑制它:

    .PivotItems.Item(">3/27/2013").Visible = False  

但每次更新工作表时都必须手动执行此操作,这使得工作表无法用于其他任何人。 我试图创建一个更新()内部值的变量,但我无法让它工作。

     Dim t
     t = Worksheets("Data").Range("i3").Value   
     .PivotItems.Item(t).Visible = False           

(其中i3Worksheet("Data")中与日期串联的单元格;在这种情况下,单元格内容为">3/27/2013"

由于

1 个答案:

答案 0 :(得分:0)

您可以尝试使用其他过滤技术:

t="3/27/2013"
Worksheets("Pivot Tables").PivotTables("Weekly Statistics").PivotFields("Date").PivotFilters.Add Type:=xlBefore, Value1:=t

但是,从Excel 2007开始使用它。

如果不工作,请尝试开始:

    Worksheets("Pivot Tables").PivotTables("Weekly Statistics").PivotFields("Date").ClearAllFilters