Моя цель - отфильтровать сводную таблицу, используя диапазон на другом листе.
Моя сводная таблица находится в рабочих листах («Отчет о старении»).
Мои справочные данные, с помощью которых я хочуФильтр находится в столбцах A2 и далее в рабочих листах («Инструкции»).
Приведенный ниже код работал с таблицей, в которой не было сводной таблицы.
Мне нужно взять значение из A2, затем отфильтровать(«Идентификатор клиента»), экспорт в Excel, сохранение и т. д. со значениями в A3, A4, A5.
Sub Pivotfilter()
Dim varItemsToReplace As Variant
Dim varItem As Variant
Dim wksSource As Worksheet
Dim wksDest As Worksheet
Dim rngSource As Range
Dim rngSource2 As Range
Dim rngCell As Range
Set wksSource = Worksheets("Instructions")
Set wksDest = Worksheets("Aging Report")
With wksSource
Set rngSource = .Range("A2:A" & .Cells(.Rows.Count, "A").End(xlUp).Row)
End With
For Each rngCell In rngSource
With wksDest
ActiveSheet.PivotTables("PivotTable40").PivotFields ("Client ID")
.PivotFields(rngCell.Value).Visible = True
Dim wb As Workbook
Set wb = Workbooks.Add
Windows("XXXXXXX").Activate
Sheets("Aging Report").Select
Sheets("Aging Report").Copy Before:=wb.Sheets(1)
wb.SaveAs "C:\Users\XXX\Desktop\SOA\" & .Range("B3").Value & " - " & .Range("B4").Value & ".xlsx"
wb.Close
Windows("XXXXXXX.xlsm").Activate
End With
Next rngCell
End Sub