2016-11-25 2 views
0

Я пытаюсь создать макрос для создания сводной таблицы из листа, который изменяется в длину. Используется динамический именованный диапазон для захвата, но я получаю:Ошибки при создании макроса для создания сводной таблицы с динамическим именованным диапазоном

Run Time Error 5 Недопустимый вызов процедуры или аргумент

«DATA» мой динамический контекстными именованный диапазон. скорректировали до ниже, и теперь получить «Ошибка выполнения„1004“„Range“метод 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 аргумент

Если «Data» является Workbook контекстными именованный диапазон вы хотите напечатать:

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