Обновление только одной сводной таблицы

В Excel 2013 у меня есть две сводные таблицы с именами «A» и «B». Мне нужно обновить только одну сводную таблицу («B») на листе моей книги для сравнения.

Я попробовал все ниже, и похоже, что он должен работать как требуется, но ни один из них не будет (т. Е. Оба свода будут обновляться после запуска любого из решений). Я попытался изменить параметры данных сводной таблицы на все возможные комбинации без каких-либо изменений в результате.

Sub refresh_pivot1() 

'=================================================
Windows("File.xlsx").Activate
Sheets("Pivots").Select
'=================================================
ActiveSheet.PivotTables("B").PivotCache.Refresh
'=================================================
Worksheets("Pivots").PivotTables("B").RefreshTable
'==================================================

Dim PvtTbl As PivotTable            

For Each PvtTbl In Worksheets("Pivots").PivotTables            

    If PvtTbl = "B" Then                                            
        PvtTbl.RefreshTable          
    End If             

Next

'=================================================          
Range("G3:K12").Calculate             
'=================================================           
Dim pt As PivotTable             
Set pt = ActiveSheet.PivotTables("B")           
pt.RefreshTable            
'=================================================

End Sub

person VeryBasicAnswers    schedule 15.01.2016    source источник
comment
хотел сказать, что ни один из них, конечно, не будет :)))   -  person VeryBasicAnswers    schedule 15.01.2016


Ответы (1)


Если обе сводные таблицы основаны на одном и том же источнике данных, они совместно используют то, что называется сводным кэшем. Когда вы обновляете сводную таблицу, вы фактически обновляете базовый сводной кэш, а не отдельную сводную таблицу. Это означает, что когда вы обновляете одну сводную таблицу, вы фактически обновляете *все сводные таблицы, которые совместно используют этот кэш.

Вам нужно указать Excel назначить вторую сводную таблицу другому кешу. См. http://www.contextures.com/xlPivot11.html, чтобы узнать, как это сделать. (в частности, раздел «Создать новый сводной кэш для выбранной сводной таблицы») или попробуйте Google.

person jeffreyweir    schedule 15.01.2016
comment
Стоит также отметить важность запроса, который Excel спрашивает, когда вторая сводная таблица создается из исходного источника данных, с точки зрения совместного использования одного и того же сводного кэша или нет. - person Pieter Geerkens; 16.01.2016