感谢您对此的任何投入。我正在尝试制作一个简单的数据透视表,该数据表从工作表“ 5个月趋势5月15日”中获取数据,并将其放在我的数据透视表工作表中,该数据表称为“关键性错误-数据透视”。
当我尝试使用create方法设置数据透视表缓存范围时,它会返回类型不匹配的运行时错误。我已经检查了参数,看来我已经正确设置了。我确实尝试指定了数据透视表的版本,但仍收到相同的错误。我的代码如下。
我假设这与pvtCache变量或将其设置为范围的方式有关,但我无法找出任何解决方案。
Sub PivotTableCode()
Dim pvtCache As PivotCache
Dim pvt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
'Set the cache of the pivot table
Sheets("5 Month Trending May 15").Select
Set pvtCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, Range("A2:H38"))
'create the Pivot Table
Sheets("Errors by Criticality - Pivot").Select
Set pvt = ActiveSheet.PivotTables.Add(pvtCache, Range("AP2"), "MyPivotTable")
End Sub
该
SourceData
如果参数是必须的SourceType
不是xlExternal
。它可以是一个Range
对象(当SourceType
为任一xlConsolidation
或xlDatabase
)或Excel工作簿连接对象(当SourceType
是xlExternal
)。
尽管如此,宏记录器将始终为String
此处创建一个SourceData
。(如果Sheet
名称中有空格,它甚至会创建一个错误的字符串)。
给定对宏记录器的偏爱,我经常将其String
与地址一起提供。
我已经能够在Range
这里提供了,所以我不确定Range
在这种情况下会发生什么特别的事情来阻止使用。
要使用String
,您的代码应如下所示:
Set pvtCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, "'5 Month Trending May 15'!A2:H38")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句