aSy*_*oad 5 excel vba excel-vba excel-2010
我正在尝试创建一个Pivot表,但得到了Invalid Procedure Call or Argument.
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="rng", Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:="rngB", TableName:="pvtReportA_B", DefaultVersion:=xlPivotTableVersion14
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
这使得数据透视表框架很好.
在本例中,我使用了错误的范围对象,导致 Excel 出现异常。
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
Run Code Online (Sandbox Code Playgroud)