0

我有以下情况:我有一张切片机,应该只有“空白”选择。有时我只有空白,有时我有空白以及 1 到 5 个其他选项。我的问题是我不能强制宏只留下空白选择而不管其他选项。我的文件是一个模板,所以我不知道人们是否会留下空白或选择其他任何内容。

我有几次尝试:

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

仅当所有选项都可用时,此选项才能完美运行

如果切片器中没有一个选项,我会得到“无效的过程调用或参数”

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

我不需要迭代列表中的每个选项,我需要一个选项来选择,而不管可用选项的数量和名称

稍后编辑:即使在切片器中选择了该选项,我使用的切片器也不显示旧的删除数据。

谢谢,索林

4

1 回答 1

0

尝试循环遍历项目并选择空白项:

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
于 2017-10-23T09:08:24.880 回答