Сводная таблица Excel — значения для отфильтрованных полей

#excel #pivot-table

#excel #сводная таблица

Вопрос:

Я ищу какой-нибудь VBA, чтобы просто отображать эти поля моей сводной таблицы и значения полей, которые могли быть отфильтрованы пользователем.

В этом случае может быть применено несколько фильтров и несколько значений в фильтрах.

Кажется, что это должно быть относительно легко найти, но я не нахожу ничего полезного при поиске.

Кто-нибудь может указать мне правильное направление?

Это дает мне сводные таблицы на листе со списком полей для каждого.. как мне применить фильтры к каждому полю??

 Sub test()
Set Sht2 = Sheets("8800")
With Sht2
    For Each tbl In .PivotTables
       For Each fld In tbl.PivotFields
             Debug.Print tbl.Name amp; " - " amp; fld.Name
       Next fld
    Next tbl
End With
End Sub
  

VB,

Ответ №1:

Мне кажется, это работает на случай, если кто-то ищет аналогичный ответ.

    With sh
        For Each tbl In .PivotTables
           For Each fld In tbl.PivotFields
                If tbl.PivotFields(fld.Name).AllItemsVisible = False Then
                    For Each fltr In tbl.PivotFields(fld.Name).VisibleItems
                        Debug.Print tbl.Name amp; " - " amp; fld.Name amp; " - " amp; fltr.Name
                        'Debug.Print x.Name
                    Next fltr
                End If
           Next fld
        Next tbl
    End With