2013-06-04 33 views
0

這是我經常遇到的場景 - 並且解決它而不是試圖解決它。數據透視表仍然引用先前的工作簿命名爲範圍

我有以下工作表

enter image description here

在工作簿的控制工作簿是一個命名的範圍「myData的」,這是在片材「數據」的數據。

VBA獲取數據並將其粘貼到「數據」中,然後重命名該範圍,然後刷新使用命名範圍作爲其源的數據透視表。那麼該程序拷貝它被保存在不同的位置爲「NewWorkbook.xlsx」

現在,如果我打開NewWorkbook並查看樞軸數據源的表Array("Pivot", "Data", "notes")到一個新的工作簿,它指的是原有的控制工作簿。

有沒有簡單的方法確保數據透視表指向新工作簿中的數據?我應該不使用命名範圍嗎?

+0

你的代碼是什麼樣的? –

+0

@SkipIntro它刷新工作簿,然後將表格數組複製到一本新書 - 沒有什麼不尋常的 - 只是想知道是否有人遇到過這種情況。 – whytheq

回答

1

您需要更新pivotcache

Sheets(Array("Data", "Pivot", "notes")).Copy 
With ActiveWorkbook.Sheets("Pivot").PivotTables(1) 
    .PivotCache.SourceData = "myData" 
    .RefreshTable 
End With 

爲實例sourcedata

+0

+1希望它和你的答案一樣簡單! – whytheq

1

您也可以點擊透視表選項卡並將其重定向到的源從該網站使用「更改源」按鈕,然後令人耳目一新。 enter image description here

希望這會有所幫助。

+0

- 這就是問題所在;你是否創建了我的問題模型? – whytheq

+1

嗨, 我剛剛看到了這個&試了一遍。我創建了一個模型。 爲此,我打開了正在使用的兩個工作簿。 然後在帶有問題數據透視表的工作表上,選擇數據透視表選項卡下的「更改源」按鈕。 之後,我只是選擇了新的位置,以便在其他工作簿上讀取數據。 另外,請確保選項按鈕中的數據選項卡也都被選中。 希望這會有所幫助 – ckm1989

+0

+1感謝評價 - 讚賞 – whytheq

相關問題