Фильтрация (пустая) в сводной таблице из всех сводных таблиц в книге, имеющих одинаковые сводные поля


0

У меня есть куча (14) сводных таблиц на двух листах (по 7 на каждом листе).

У меня есть кнопка обновления на листе, которая обновляет все сводные таблицы, используя следующий код:

Sub Refresh_Pivots()

Dim pt As PivotTable
    Dim WS As Worksheet
    For Each WS In ThisWorkbook.Worksheets
        For Each pt In WS.PivotTables
          pt.RefreshTable
          Next pt
    Next WS
End Sub

Все сводные таблицы имеют схожую структуру, и во всех сводных таблицах есть одно поле под названием «Месяц». Мне нужно отфильтровать "(пусто)" из сводного поля "Месяц" во всех сводных таблицах, когда я нажимаю Обновить.

Для этого я добавил эту строку под циклом Nested For Loop после pt.RefreshTable -

pt.pf("month").pi("(blank)").ShowDetail = False

Итак, измененный код:

Sub Refresh Pivots ()

Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim WS As Worksheet
    For Each WS In ThisWorkbook.Worksheets
        For Each pt In WS.PivotTables
          pt.RefreshTable
          pt.pf("month").pi("(blank)").ShowDetail = False
          Next pt
    Next WS
End Sub

Но я получаю ошибку компиляции. Я не могу понять, почему. Я относительно новичок в VBA, поэтому прошу прощения, если это глупый вопрос.

Кроме того, мне нужны эти пробелы в данных, просто нужно отфильтровать их из сводных таблиц. Благодарю.

Ответы:


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.