Страницы: 1
RSS
[ Закрыто ] сводная таблица (PivotTable) - VBA, Программно разбить на несколько таблиц
 
Подскажите пожалуйста как в сводной таблице можно программно скопировать отдельно каждое поле и все элементы в нем?
разбить на несколько таблиц...
Вот пример самой сводной таблицы:
http://i11.pixs.ru/storage/6/6/2/Skrinshot1_3414632_26214662.png
То есть мне нужно скопировать отдельно в данном примере по полю квартал : 266 и выдел: 21 31 38.
Вот мой код, понимаю что нужно как-то циклом сделать, но как лучше?
Код
Sub TestPivotTable()
Dim shName$
Dim wbname$
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim ikv As Long


    wbname = Application.ActiveWorkbook.Name
    shName = "СВОД_query"
    Call CreateList(shName, True) ' - Создаем лист куда записываем сводную таблицу
    Call PivotTableQuery(wbname, shName) ' - процедура создает сводную таблицу
Set pt = Worksheets(shName).PivotTables(1) '- обращаемся к сводной таблице
        ' - Для первого поля
        With pt
             Set pf = pt.PivotFields(1)
             Set pi = pf.PivotItems
             For ikv = 1 To pi.Count
                 ' -Скопировать данные
             Next ikv
        End With
        ' - Для второго поля
        With pt
             Set pf = pt.PivotFields(2)
             Set pi = pf.PivotItems
             For ikv = 1 To pi.Count
                 ' -Скопировать данные
             Next ikv
        End With
end sub
Страницы: 1
Наверх