PivotCaches.create,SourceData超过65535行

时间:2014-11-19 07:10:59

标签: excel vba pivot-table

有人可以解释为什么在使用PivotCaches.Create方法时我不能使用超过65535行的源数据吗?

我正在使用Excel 2013,也使用版本:= xlPivotTableVersion14(如果我没有记错,则对应于xl 2010)。

我读过我可以使用名称范围来解决问题,但只是想知道任何参考为什么当前代码不起作用?如果我只设置rng少于65535行,则相同的代码可以工作。

Set ws = Worksheets("mydata")
Set rng = ws.Range("A1:C66000")

'Set rng = ws.Range("A1:C65000")  THIS WORKS

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=DataRange, Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:=Worksheets("pvot").Range("A1"), TableName:="mypv", DefaultVersion:=xlPivotTableVersion14

错误:错误13,类型不匹配

1 个答案:

答案 0 :(得分:1)

我无法解释。我怀疑它与遗留代码和CountLarge问题有关。但我可以提供解决方法。

如果不是

,一切似乎都按预期工作
SourceData:=Rng

你会用

SourceData:=Rng.Worksheet.Name & "!" & Rng.Address

此表达式实际上计算为字符串

"mydata!$A$1:$C$65000"

这是Excel 2013宏录制器在录制INSERT → Pivot Table命令

时使用的内容