【发布时间】:2017-01-23 14:16:30
【问题描述】:
我最近发现了 VBA 代码,可以根据变量名过滤切片器。它是过滤您想看到的内容的好工具
我的代码中的下一步是可能从我的数据透视表/图表中删除可见数据(自动)。
假设我已经有一个变量“Remove_ITEM”需要从显示的数据中删除。 Remove_item 在切片器(“slicer_Order”)内。
数据也在数据模型中。
以下代码仅显示 REmove_Item:
ActiveWorkbook.SlicerCaches("Slicer_Order").'VisibleSlicerItemsList = ("[Actuals_Table].[Order].&["& Remove_item &"]")
现在我想做相反的事情
【问题讨论】:
-
ActiveWorkbook.SlicerCaches("Slicer_Order").SlicerItems(Remove_Item).Selected=False呢? -
这给了我运行时错误'1004':
-
还有
Slicers("Slicer_Order").SlicerItems(Remove_Item).Selected=False?您是否将Remove_Item的值设置为可能的值(即Remove_Item = "StringToRemove") -
为了简单地检查您的代码,我将 remove_item 替换为我想要删除的实际值。 ActiveWorkbook.SlicerCaches("Slicer_Order").SlicerItems("[Actuals_Table].[Order].&[000010961612]").Selected = False
-
我将创建一个数组并执行相反的操作。 >(将切片器中的所有项目显示为数组)>(从数组中删除我不想看到的项目)>(创建循环以仅显示数组中的项目)