我试图创建数据透视表,但获取Invalid Procedure Call or Argument
。如何在VBA中创建数据透视表
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="rng", Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:="rngB", TableName:="pvtReportA_B", DefaultVersion:=xlPivotTableVersion14
rng
(源)是由大约20列和几千行的范围。rngB
(目标)是在不同的工作表中的单个细胞
谁能劝我要去的地方错了吗?
编辑:
是我的错,我应该使用rngData
,而不是rng
作为源已。
Set rng = wsA.Range("C14")
Set rngData = Range(rng, rng.End(xlToRight))
Set rngData = Range(rng, rng.End(xlDown))
Set rngB = wsB.Range("C8")
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rngData, Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:=rngB, TableName:="pvtReportA_B", DefaultVersion:=xlPivotTableVersion14
这将调出数据透视表框架就好了。
那么,一切都好?问题已关闭? – nutsch
您可以用一行代码设置数据范围: 'Set rngData = range(wsA.Range(“C14”),wsA.Range(“C14”)。end(xlToRight).end(xlDown))' –