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

у меня есть куча (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

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

для этого я добавил эту строку под вложенным циклом For после пт.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, поэтому мне жаль, если это глупый вопрос.

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

28
задан Der Hochstapler
09.04.2023 1:22 Количество просмотров материала 2451
Распечатать страницу

1 ответ

Я думаю, что вам нужно заменить pf с PivotFields и pi с PivotItems

0
отвечен Rob Sedgwick 2023-04-10 09:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх