Я пытаюсь выбрать некоторые текстовые значения на панели фильтров сводной таблицы, которая создается с помощью данных куба. Мой подход состоит в том, чтобы сначала поместить поле в панель фильтров, выбрать в нем некоторые текстовые значения, а затем поместить поля в панель строк и значений. Мне нужно найти несколько букв, скажем «AB» во всех элементах в поле панели фильтров, и какой бы элемент ни имел это, эти элементы должны быть выбраны для фильтрации.
Хотя синтаксис для сводной таблицы данных куба table немного отличается от обычной сводной таблицы, но пока мне удалось заставить ее работать. когда текстовое поле впервые помещается в панель фильтров, все элементы отображаются как выбранные.
То, что я пробовал, но не работает - для каждого PvtItm в .PivotItems
-
If PvtItm.Name Like "AB" & "*" Then
PvtItm.Visible = True
Else
PvtItm.Visible = False
End If
Next PvtItm
End With ```
Приведенный выше код не работает, на самом деле он не проверяет условие If, которое подразумевает отсутствие самих сводных элементов. Но ошибок не выдает.
ActiveSheet.PivotTables("PivotTable1").CubeFields("Time").Add Type:=xlCaptionContains, Value1:="AB"
Вышеупомянутое также не работает.
ActiveSheet.PivotTables("PivotTable1").PivotFields("Time"). _
VisibleItemsList = Array("")
Вышеупомянутое не имеет никакого эффекта, все элементы остаются выбранными на панели фильтров .
Свойство CurrentPage и ClearAll также не работали.
Что работает -
ActiveSheet.PivotTables("PivotTable1").PivotFields("[Time].[Time]"). _
VisibleItemsList = Array("[Time].&[AB1]", "[Time].&[AB2]")
Эта строка удаляет все выбранные элементы с панели фильтров и выбирает AB1 и AB2 на панели фильтров. Но мне нужно иметь возможность выбирать здесь переменное количество значений элементов. Поскольку ссылка на элемент Pivot не работала должным образом, как показано выше, я не могу найти способ заполнить массив всеми вхождениями элементов с буквой «AB».
Любая помощь будет принята с благодарностью.