Страницы

пятница, 14 октября 2022 г.

VBA сводная таблица с фильтрами

 Подскажите как сделать фильтр по определенному значению в сводной таблице, например в строках "Подразделение"

Листинг программы
  1. sub test()
  2. Set rngStart = Worksheets("TDSheet").Range("A1")
  3. Set rngAll = rngStart.CurrentRegion
  4. Set pvtCache = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rngAll.Address)
  5. Worksheets.Add
  6. Set pvtOne = ActiveSheet.PivotTables.Add(PivotCache:=pvtCache, TableDestination:=Range("a1"))
  7. With pvtOne
  8. .PivotFields("Подразделение").Orientation = xlRowField
  9. .PivotFields("Контрагент").Orientation = xlRowField
  10. .PivotFields("Регистратор").Orientation = xlDataField
  11. .PivotFields("Плата").Orientation = xlColumnField
  12. .RowAxisLayout xlTabularRow
  13. .RepeatAllLabels xlRepeatLabels
  14. .PivotFields("Подразделение").Subtotals(1) = False
  15. End With
  16. end sub

Код к задаче: «Фильтр в сводной таблице»

Листинг программы
  1.     Dim pvtItem As PivotItem
  2.     With pvtOne
  3.         With .PivotFields("Подразделение")
  4.             For Each pvtItem In .PivotItems
  5.                         Select Case pvtItem
  6.                             Case "Работа с клиентами", "Закупки", "Аналитический отдел"
  7.                                 pvtItem.Visible = True
  8.                             Case Else
  9.                                 pvtItem.Visible = False
  10.                         End Select
  11.             Next pvtItem
  12.         End With
  13.     End With

Полезно ли:

Комментариев нет:

Отправить комментарий