Исключение нескольких слайсеров при очистке всех слайсеров с использованием VBA - PullRequest
0 голосов
/ 04 мая 2018

У меня есть набор слайсеров, которые мне нужно очистить, исключая 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, поэтому учусь по ходу дела!)

1 Ответ

0 голосов
/ 04 мая 2018

Если вы хотите исключить 2 переменные из for-loop, то такой пример может быть полезен:

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 игнорируются.

...