【发布时间】:2018-10-14 23:59:39
【问题描述】:
我有一组需要清除的切片器,不包括 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,所以边学边学!)
【问题讨论】:
-
If Not (InStr(SL.Name, "Measure")) And Not (InStr(SL.Name, "Current vs Comparison")) Then -
您好,感谢以上内容,现在这会删除工作表上的所有切片器,我已经检查过,代码与切片器名称匹配,但似乎将其全部删除。
-
玩一下,可能是你需要
Or而不是And:) 把Not也去掉——只是猜测——If InStr(SL.Name, "Measure") or InStr(SL.Name, "Current vs Comparison") -
或者现在只清除“当前与比较”的切片器。并且似乎正在清除所有切片器:(将继续使用组合
-
你能手动和
record a macro吗?可能应该立即进行清理,idk ...