【问题标题】:Excel Macro ordering PivotItemsExcel 宏排序 PivotItems
【发布时间】:2012-05-14 13:11:40
【问题描述】:

背景: 我在 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

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

谢谢,

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

分枝

【问题讨论】:

    标签: excel vba date loops pivot-table


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多