VBA для выбора нескольких значений из слайсера - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть сводная таблица с слайсером.Срез имеет более 50 значений, и эти значения могут изменяться.Я использую слайсер для фильтрации данных - я всегда ищу одни и те же 5 значений, и мои 5 значений начинаются с одной и той же текстовой строки.
Я записал макрос, чтобы выбрать мои 5 значений.этот макрос выбирает элементы, которые являются истинными, а затем перечисляет все другие значения и устанавливает выбор как ложный.Когда добавляются новые значения, макрос падает, потому что у меня нет явной строки кода, чтобы установить выбор нового значения в false.Я нашел код для выбора одного значения из среза и отмены выбора всех других значений без необходимости явного перечисления их всех, но я не могу найти код для поиска 5 значений и отмены выбора всех других значений без явного перечисления их или способаизменить этот код, чтобы выбрать все элементы среза, которые «содержат» согласованную текстовую строку.любой из них помог бы ...

это код, который я должен найти одно конкретное значение, но отмените выбор остальных без указания их явно:

For Each slcCache In ActiveWorkbook.SlicerCaches
        slcCache.ClearManualFilter
Next

With ActiveWorkbook.SlicerCaches("Slicer_Fruit")
    For Each oSlicerItem In .SlicerItems
        If oSlicerItem.Name = "abcx Apple" Then
            oSlicerItem.Selected = True
        Else
            oSlicerItem.Selected = False
        End If
    Next oSlicerItem
End With

Как я могу изменить код, чтобы выбратьэлементы слайсера, которые начинаются с "abcx" или содержат этот текст?или есть способ выбрать «abcx Apple» и «abcx Pear» и «abcx Banana», но не выбрать другие значения?

1 Ответ

0 голосов
/ 13 декабря 2018

Попробуйте это:

Sub Slicer_select()

ActiveWorkbook.SlicerCaches("Slicer_Fruit").ClearManualFilter

Dim Sl_I As SlicerItem

For Each Sl_I In ActiveWorkbook.SlicerCaches("Slicer_Fruit").SlicerItems
    If Not Sl_I.Value Like "abcx*" Then Sl_I.Selected = False
Next

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...