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