Excel宏订购PivotItems

时间:2012-05-05 02:00:01

标签: excel vba date loops pivot-table

背景: 我在Excel中有一个数据透视表,“Date”作为XLColumn字段。 源数据总是在变化,我注意到当添加新数据时,数据透视表不会命令透视项目按日期过滤。它将它作为一个字符串添加到最后。我已经改变了源数据,并确保Date列确实是日期。

第一件事: 我需要在VBA中以编程方式订购日期数据透视表项。也就是说,即使添加了新日期,用户也可以过滤按顺序列出的日期(较旧的日期更新)。

第二件事:  我想遍历日期枢轴项目,显示第1和第2,然后是第2和第3,然后是第3和第4等。

类似的东西:

-code that hides all pivot items
Pf.pivotitems (i).visible = true (12/04/2012)
Pf.pivotitems(i + 1).visible = true (19/04/2012)
i = i + 1

这一直在我身上返回错误,无法设置数据透视项的可见属性。

谢谢,

请询问任何进一步的信息。

Ramify

1 个答案:

答案 0 :(得分:1)

喜欢这个吗?

  

第一件事:我需要在VBA中以编程方式订购日期枢轴项。也就是说,即使添加了新日期,用户也可以过滤按顺序列出的日期(较旧的日期更新)。

'~~> Change Sheet1 with the relevant sheet name
With Sheets("Sheet1")
    '~~> Change PivotTable1 and DateField to the respective pivot and field name.
    .PivotTables("PivotTable1").PivotFields("DateField").AutoSort xlAscending, "DateField"
End With
  

2nd Thing:我想遍历日期枢轴项目,显示第1和第2,然后是第2和第3,然后是第3和第4等。

Pf.PivotItems(i).Visible= True
Pf.PivotItems(i + 1).Visible= True