VBA 切片器 Select 空白

VBA Slicer Select Blank

我有以下情况:我有一个 sheet 和一个应该只有 "blank" select 的切片器。有时我只有空白,其他时候我有空白,还有 1 到 5 个其他选项。我的问题是我不能强制宏只留下空白 selected 而不管其他选项。我的文件是一个模板,所以我不知道人们是否会留下空白或 select 其他任何内容。

我有过几次尝试:

With ActiveWorkbook.SlicerCaches("Slicer_OOS_Reason_2017___Performance")

.SlicerItems("(blank)").Selected = True

当我有其他空白时它不起作用:(

   With ActiveWorkbook.SlicerCaches("Slicer_OOS_Reason_2017___Performance")
    .SlicerItems("(blank)").Selected = True
    .SlicerItems("option1").Selected = False
    .SlicerItems("option2").Selected = False
    .SlicerItems("option3").Selected = False
    .SlicerItems("option4").Selected = False
    .SlicerItems("option5").Selected = False
End With

只有当所有选项都可用时,这个才能完美运行

如果切片器中没有一个选项,我会得到 "Invalid procedure call or argument"

我看到了其他代码,但我有点迷茫。我需要一个简单的代码,我不需要任何其他东西,然后每次 select 空白:)

我不需要重复列表中的每个选项,我只需要一个选项即可 select 无论可用选项的数量和名称如何

稍后编辑:我使用的切片器不显示旧的删除数据,即使切片器中的选项是 select。

谢谢, 索林

尝试循环遍历项目,只 select 空白:

Dim si as SlicerItem
With ActiveWorkbook.SlicerCaches("Slicer_OOS_Reason_2017___Performance")
For Each si in .SlicerItems
    If si.Name = "(blank)" Then
        si.Selected = True
    Else
        si.Selected = False
    End If
Next si
End With