【发布时间】:2017-10-03 18:43:48
【问题描述】:
在所有以前版本的 excel 中,创建一个数据透视缓存都没有问题。然后从该数据透视缓存创建几个数据透视表。 现在我在 excel 2016 中使用相同的技术。它只是让我出错。这是我的代码:
Sub Maketbl()
Dim Pvt As PivotTable, Pvch As PivotCache
[F:G].Clear
Set Pvch = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Sheet1!R1C1:R6C3", Version:=6)
'''''''''''''''''''''''
Set Pvt = Pvch.CreatePivotTable(TableDestination:= _
"Sheet1!R1C6", DefaultVersion:=6)
With Pvt
.AddFields RowFields:="SEASON"
.AddDataField .PivotFields("QTY"), "Sum of QTY", xlSum
End With
''''''''''''''''''''''''''
Set Pvt = Pvch.CreatePivotTable(TableDestination:= _
"Sheet1!R10C6", DefaultVersion:=6)
With Pvt
.AddFields RowFields:="ITEM"
.AddDataField .PivotFields("QTY"), "Sum of QTY", xlSum
End With
End Sub
错误消息是:
运行时错误'-2147417848 (80010108)':
自动化错误
调用的对象已与其客户端断开连接。
如果我为第二个数据透视表创建另一个数据透视缓存,我不会有任何问题。但是我每次都需要生成 140 个数据透视表,我不想创建 140 个数据透视缓存。那会使我的书太重。有人可以帮我弄清楚如何在 excel 2016 中进行编码吗?
【问题讨论】:
-
您的代码对我来说很好,如 Excel 2016 中发布的那样。
-
我们也遇到了类似的问题(0x80010105 服务器抛出异常),因为最近 2016 年的更新和来自客户的报告正在增加:( 看起来办公室团队一如既往地破坏了一些东西。我们仍在尝试创建解决方法。
标签: excel pivot-table vba