使用Excel 2013,我正在尝试使用 PivotTables.Add 方法使用现有的Power Pivot模型在工作簿中创建数据透视表。我的 PivotCache 似乎有问题。这是我到目前为止所做的:
Dim pc As PivotCache, i As Long
'
i = 1
For Each pc In ActiveWorkbook.PivotCaches
Range("a" & i).Value = pc.Index
Range("b" & i).Value = pc.CommandText
i = i + 1
Next
产生这个:
1 Model
2 Model
3 Model
但是,运行以下操作会引发运行时错误:
Range("a1").Select
ActiveSheet.PivotTables.Add _
PivotCache:=ActiveWorkBook.PivotCaches(1), _
TableDestination:=Range("A3")
错误是:
Run-time Error '1004':
Application-defined or object-defined error
所有三个可用的PivotCache索引都会发生错误(1-3)。
FWIW,我可以在PowerPivot功能区下手动添加数据透视表。管理>主页>数据透视表。我正试图在VBA中完成同样的事情。顺便说一下,在我开始操作刚刚创建的数据透视表之前,记录宏不记录任何内容。
非常感谢任何帮助。
...谢谢约什
答案 0 :(得分:0)
虽然现在为时已晚,但这可能有助于其他人:
Sub xlPivotTable()
Dim pc As PivotCache
Dim pt As PivotTable
'Create PivotCache from PowerPivot Data Model
Set pc = ThisWorkbook.PivotCaches.Create(SourceType:=xlExternal, _
SourceData:=ThisWorkbook.Connections("ThisWorkbookDataModel"), _
Version:=xlPivotTableVersion15)
'Create PivotTable from PivotCache
Set pt = pc.CreatePivotTable(TableDestination:=ActiveCell, _
DefaultVersion:=xlPivotTableVersion15)
Set pt = Nothing
Set pc = Nothing
End Sub
对于Excel 2010,将xlPivotTableVersion更改为14,将Excel 2013和2016更新为15。