下面的代碼適用於Excel 2013,但並不總是適用於Excel 2010.它在set pvtSource
上引發錯誤。基於Excel 2013中的功能數據透視表創建數據透視表,但不支持Excel 2010
的錯誤是:
錯誤引用 「運行時錯誤 '-2147417848(80010108)':方法 對象pivotcache'的 'createpivottable' 失敗」。
有時它的工作原理沒有拋出錯誤。我無法弄清楚爲什麼或如何對這段代碼進行失敗驗證。
'Create temp sheet
Dim wksSource As Worksheet
Set wksSource = wbkSource.Sheets.Add(After:=Sheets(Worksheets.Count))
'Create new cache
Dim pvcSource As PivotCache
Dim pvtSource As PivotTable
If Application.Version = "15.0" Then
'Create pivot cache
Set pvcSource = wbkSource.PivotCaches.Create(_
SourceType:=xlExternal, _
SourceData:=ActiveWorkbook.Connections("ThisWorkbookDataModel"), _
Version:=5)
wbkSource.Activate
wksSource.Activate
'Create PivotTable
Set pvtSource = pvcSource.CreatePivotTable(_
TableDestination:=ActiveCell, _
DefaultVersion:=5)
ElseIf Application.Version = "14.0" Then
'Create pivot cache
Set pvcSource = wbkSource.PivotCaches.Create(_
SourceType:=xlExternal, _
SourceData:=ActiveWorkbook.Connections("ThisWorkbookDataModel"), _
Version:=xlPivotTableVersion14)
wbkSource.Activate
wksSource.Activate
'Create PivotTable
Set pvtSource = pvcSource.CreatePivotTable(_
TableDestination:=ActiveCell, _
DefaultVersion:=xlPivotTableVersion14)
End If
我在Excel 2010中也遇到了這個問題,我無法創建* unused * Pivot Cache,我不得不在Pivot Table創建中創建一個* unused * Pivot Cache,然後通過Set pvcSource影響它到Pivot Cache變量= pvtSource.PivotCache'。希望這個幫助! (一個有用的鏈接,但您可能知道它:https://support.office.com/zh-cn/article/Upgrade-Power-Pivot-Data-Models-to-Excel-2013-c66578cb-74d5-43ae- a474-5a01be5db439 #__ what_s_different_in) – R3uK
我的不好,它是用一個新創建的緩存來更改數據透視表的數據透視表緩存,然後存儲它以將其分配給其他人!讓我知道它是否幫助你! ;) – R3uK