2017-08-29 592 views
1

我有一個使用VBA在基於同一PivotCache的多張工作表上創建多個數據透視表的Excel工作簿。我的組織一段時間以來一直在使用此工作簿。對象'pivotcache'的方法'createpivottable'在Windows重新鏡像後失敗

最近我不得不把我的工作站重新映像到Windows,現在這個工作簿無法執行。將創建一個數據透視表,但如果使用相同的緩存創建第二個數據透視表,該方法將無法執行。

我只能認爲這與Excel的版本控制有關,因爲它在重新映像之前工作。代碼如下:下面

' SET Cache for ALL PIVOT TABLES 
Set PVC = qqOutBook.PivotCaches.Create(xlDatabase, "rawdata!" & Range(r.Cells(1, 1), r.Cells(erow, ecol)).Address, 6) 

' PIVOT 1 
Call Pivot1AND2(p1, PVC, "041") 

' PIVOT 2 
Call Pivot1AND2(p2, PVC, "042") 

' PIVOT 2 
Call Pivot3(p3, PVC) 

功能上的第二個呼叫

Sub Pivot1AND2(ByVal p As Worksheet, ByVal PVC As PivotCache, ByVal Whs As String) 

p.Activate 

'FIRST pivot 
Set pt = PVC.CreatePivotTable(p.Name & "!R7C1", p.Name, 6) 

失敗,無法通過在第二次嘗試了這一點。

有沒有人遇到過這種方法的版本問題?

+0

它究竟如何失敗 - 你是否收到錯誤信息,如果有,它是什麼? –

+0

它失敗並在問題的標題中給出錯誤消息。 – Matt

+0

對不起 - 錯過了標題... –

回答

0

答案最初在上面的評論中。

解決方法是清除數據透視表高速緩存並再次設置數據透視表。

2

我和@Matt有同樣的問題。我在工作簿中創建了一個宏,該工作簿創建了4個數據透視表的另一個工作簿。它已經工作了一年多了。幾天前,它在第二個數據透視表上失敗,並在該線程的標題中顯示消息。

清除透視高速緩存變量(通過將其設置爲Nothing)並重置它可解決問題。在數據透視表2至4之前我做了這個。但是現在工作簿增加了67%。

我在Windows 10上安裝了Office 365.我假設Microsoft應用了導致此問題的更新。

+0

我認爲更新也是導致此問題的原因。此問題僅影響一些用戶,但不是全部。所有這些都有窗口10 office 365 – Matt

+0

這可能是相同的問題:[鏈接](https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-msoffice_custom-mso_2016/run-time-error- 2147417848-80010108-方法/ 4cc2bdf3-09c4-4ffc-A20A-add11ced3354) – DenisD47

0

解決方法可能不再需要。我一個月前停止工作的原始工作簿現在再次運行!我只能假設一個微軟更新解決了這個問題。