Уважаемые форумчане, добрый день! Возникла необходимость сохранения отображаемых в сводной таблице данных в отдельный файл для каждого значения одного из фильтров. Сложность в том, что это поле не выводится в саму сводную таблицу, поэтому получить массив всех значений с помощью метода .PivotItems нельзя. Сейчас массив значений просто берется из другой таблицы: citiesLst = Range("cities[Город]"). Можно ли как-то этот массив получить именно из данных? Для примера "сводную" копирую на отдельный лист:
Код
Sub test()
Application.ScreenUpdating = False
citiesLst = Range("cities[Город]")
Set pt = Worksheets("pt").PivotTables("pivotT")
For Each x In citiesLst
pt.PivotFields("[data].[Город].[Город]").CurrentPageName = "[data].[Город].&[" & x & "]"
pt.TableRange1.Copy
Set nwSheet = Worksheets.Add
nwSheet.Name = x
nwSheet.Paste
Next x
Application.ScreenUpdating = True
End Sub
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄