vba - 使用 VBA 清除所有切片器时排除多个切片器
问题描述
我有一组需要清除的切片器,不包括需要保留为所选内容的 2 个切片器。我目前使用的代码允许我排除 1 个切片器,但我找不到排除第 2 个切片器的正确方法。下面的代码是我正在使用的:
Sub Clearslcr()
Dim Slcr As SlicerCache
Dim SL As Slicer
For Each Slcr In ActiveWorkbook.SlicerCaches
For Each SL In Slcr.Slicers
If SL.Parent.Name = ActiveSheet.Name Then
If InStr(SL.Name, "Measure") = False Then
Slcr.ClearManualFilter
End If
End If
Next SL
Next Slcr
End Sub
有人可以建议如何使它排除两者吗?我试图排除“测量”和“当前与比较”,似乎可以做其中之一!(刚开始使用 VBA,所以边走边学!)
解决方案
如果您想从这样for-loop
的样本中排除 2 个变量,可以使用:
Sub TestMe()
Dim bar, foo
bar = Array(1, 2, 3, 4, 5)
For Each foo In bar
If Not (foo = 1) And Not (foo = 2) Then
Debug.Print foo
End If
Next foo
End Sub
它打印3,4,5
,1
并且2
被忽略。
推荐阅读
- airflow - 无法为 Airflow LocalExecutor 设置 MySQL 后端
- java - 文件处理和字排序
- javascript - Turn.js 和 AJAX 集成
- react-native - 如何在本机反应中从外部存储加载 webView
- c++11 - 根据条件求 y 的值:
- javascript - 如何在 Phaser 3 中阻止场景为空白
- pyttsx3 - PYTTSX3 AttributeError:模块“驱动程序”没有属性“驱动程序代理”
- arrays - 如何从数组中消除在python中不同索引位置具有共同元素的行?
- php - Php Laravel 迁移@@version 问题
- language-agnostic - 为什么在实现邻接表时基于哈希表的数据结构不是默认的?