运行正常:
Dim pc As PivotCache
With tgtBook.Sheets("Data")
Set pc = tgtBook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Range("A1:B5"), Version:=Excel.xlPivotTableVersion14) ' Range("myMthdata"))
End With
抛出运行时错误'13'类型不匹配:
Dim pc As PivotCache
With tgtBook.Sheets("Data")
Set pc = tgtBook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Range("A1:B500000"), Version:=Excel.xlPivotTableVersion14) ' Range("myMthdata"))
End With
唯一的区别是SourceData中的行数。这是一个错误还是存在这种看似不一致的逻辑原因?
修改
在进一步调查中,似乎B65536会起作用,而更大的东西会发生错误。这是旧版Excel中的最大行数excel-2010
。感觉像个臭虫。
有人知道解决方法吗?
答案 0 :(得分:1)
根据我的经验,如果您使用R1C1样式引用而不是Range对象或A1样式字符串,它会更好用:
Dim pc As PivotCache
Set pc = tgtBook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="Data!R1C1:R500000C2", Version:=Excel.xlPivotTableVersion14)