【发布时间】:2018-12-12 23:06:42
【问题描述】:
我有一个带有切片器的数据透视表。切片器中有 50 多个值,这些值可以更改。我使用切片器过滤数据 - 我一直在寻找相同的 5 个值,而我的 5 个值以相同的文本字符串开头。
我录制了一个宏来选择我的 5 个值。此宏选择为真的项目,然后列出所有其他值并将选择设置为假。
添加新值时,宏会崩溃,因为我没有明确的代码行来将新值的选择设置为 false。
我找到了从切片器中选择一个值并取消选择所有其他值而无需明确列出它们的代码,但是我找不到找到这 5 个值并取消选择所有其他值而无需明确列出它们的代码,或者
一种修改此代码以选择“包含”一致文本字符串的所有切片器项目的方法。要么会有所帮助......
这是我必须找到一个特定值的代码,但在没有明确说明的情况下取消选择其余部分:
For Each slcCache In ActiveWorkbook.SlicerCaches
slcCache.ClearManualFilter
Next
With ActiveWorkbook.SlicerCaches("Slicer_Fruit")
For Each oSlicerItem In .SlicerItems
If oSlicerItem.Name = "abcx Apple" Then
oSlicerItem.Selected = True
Else
oSlicerItem.Selected = False
End If
Next oSlicerItem
End With
如何更改代码以选择以“abcx”开头或包含此文本的切片器项目? 或者有没有办法选择“abcx Apple”和“abcx Pear”和“abcx Banana”但不选择任何其他值?
【问题讨论】:
-
解决了!我为每个项目添加了一个 ElseIf 语句。