2016-11-25 55 views
0

我想要一个宏来从长度变化的表创建数据透视表。使用动态命名的区域捕捉到,但我得到一个:创建宏以创建具有动态命名范围的数据透视表时的错误

运行时错误5无效的过程调用或参数

“数据”是我的动态作用域确定命名范围。已经纠正了下面的,现在得到一个“运行时错误‘1004’方法的object'_Global”范围'失败,因为我不是引用特定表?

With ActiveWorkbook.Names("DATA") .Name = "DATA" .RefersToR1C1 = _ "=OFFSET('Closed Cases'!R1C2,0,0,COUNTA('Closed Cases'!C6),25)" .Comment = "" End With ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ Range("DATA"), Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:= _ "'External Analytics!'R1C15", TableName:="PivotTable3", DefaultVersion:= _ xlPivotTableVersion14 Sheets("External Analytics").Select Cells(1, 1).Select

回答

0

你必须给一个Range对象SourceData参数

如果“数据”是一个工作簿作用域确定命名范围要键入:

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
Range("Data"), Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:= _ 
"'External Analytics!'R1C15", TableName:="PivotTable3", DefaultVersion:= _ 
xlPivotTableVersion14