Я пытаюсь установить фильтр страницы в сводной таблице, используя строку Test в качестве базы поиска, чтобы он возвращал все, что содержит этот фрагмент строки. Я попытался использовать *
в качестве подстановочного знака для строки, но он возвращает ошибку.
Я смог сделать это для сводных фильтров (столбцы/строки), но кажется, что фильтры страниц (те, что сверху/снаружи сводной таблицы) используют другой метод или синтаксис.
Я пробовал искать в других темах и не нашел ответа, который соответствует моим потребностям. Вот часть кода:
Dim pt As PivotTable
Dim pf As PivotField
Dim TextFilter As String
Set pt = ActiveSheet.PivotTables("PivotTable3")
Set pf = pt.PivotFields("Title")
TextFilter = "Test"
pt.PivotCache.Refresh
pf.ClearAllFilters
Следующая строка работает для точного совпадения строк:
ActiveSheet.PivotTables("PivotTable3").PivotFields("Title").CurrentPage = TextFilter
Строка ниже не работает для частичного совпадения строки (или содержит):
ActiveSheet.PivotTables("PivotTable3").PivotFields("Title"). _
PivotFilters.Add Type:=xlCaptionContains, Value1:="Test"
Как установить фильтр страницы для таких строк, как Test
?
Кроме того, что было бы лучшим решением для зацикливания окончательного (правильного) кода для других сводных таблиц на том же рабочем листе и/или в рабочей книге?