0

背景:我在 Excel 中有一个数据透视表,其中“日期”作为 XLColumn 字段。源数据总是在变化,我注意到当添加新数据时,数据透视表不会对数据透视项目进行排序以按日期过滤。它会将其作为字符串添加到末尾。此后,我更改了源数据并确保 Date 列确实是日期。

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

第二件事:我想循环显示日期枢轴项目,显示第一个和第二个,然后是第二个和第三个,然后是第三个和第四个等。

就像是:

-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

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

谢谢,

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

分枝

4

1 回答 1

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

第二件事:我想循环显示日期枢轴项目,显示第一个和第二个,然后是第二个和第三个,然后是第三个和第四个等。

Pf.PivotItems(i).Visible= True
Pf.PivotItems(i + 1).Visible= True
于 2012-05-05T08:48:59.637 回答