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
我有以下情况:我有一个 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