0

我每天都会收到很多数据,其中一列是商店的名称。这些商店分为两个区域,例如北部和南部。所以,我有一个包含storesN 和storesS 的商店名称的超集。每天我都会从这些名字的一个子集中得到报告。我使用数据透视表来显示数据。

我想编写一个宏,它只显示storesN 或storesS 中的数据。如果所有商店每天都报告,我可以编写一个固定的宏。但是每天报告的商店都在变化。那么有没有办法,我可以编写一个宏,它会自动检测存在哪些名称并进行相应调整。

我正在使用 With PivotTables("PivotTable30").PivotFields("Name") .PivotItems("Store1").Visible=False

名称始终是超集的子集。我希望这个问题很清楚。

4

2 回答 2

1

只需刷新您的数据透视表:

ActiveSheet.PivotTables("PivotTable30").PivotCache.Refresh

祝你好运。

于 2012-10-17T18:23:00.553 回答
0

如果您要删除所有旧行,只需确保在字段设置中关闭“显示没有数据的项目”。然后刷新表。

如果您只替换更新的行,那么最简单的解决方案可能只是添加一个“最后更新”列并将其过滤为“今天”(或者PivotFilters.add2 Type:=xlDateToday如果您通过代码构建表)

于 2018-02-12T12:11:29.360 回答