2012-10-23 46 views
0

我创建了一个基于源范围自动创建数据透视表的子。当源数据是一个小范围时,代码工作正常。但是,当我在一些更大的数据(110'000行)上运行它时,运行时错误13(类型不匹配)。Excel VBA PivotCaches不会接受源

我不明白它为什么这样做。我可以在另一个范围上运行完全相同的代码,一切都很好?

有人有一个建议,为什么会发生?

Set rDataRange = wsData.Range("A1").CurrentRegion 

    ' Create the cache 
Set PTCache = ActiveWorkbook.PivotCaches.Create(_ 
SourceType:=xlDatabase, _ 
SourceData:=rDataRange) 

回答

2

这个问题似乎问(并回答)一个非常类似的问题:Type mismatch error when creating a pivot table in Excel with VBA

你真的确认你的参考范围较大是有效的?你是正面的更大的范围是不是缺少一个头,不包含额外的空白行或列,没有任何不良的数据?

+0

+1最有可能缺失标题。尝试手动添加数据透视表(没有宏)并查看遇到的问题。当前区域快捷方式是Ctrl + A或Ctrl + Shift + 8 – nutsch

+0

通过使用rDataRange.select查看选区来检查它,并且包含标题。将尝试在其他帖子中描述的解决方案...并回来。 – rohrl77

+0

+1找到我没有的文章。谢谢。 – rohrl77