Я пытаюсь создать сводную таблицу. Используя функцию макроса записи, я создал небольшую сводную таблицу, однако, когда я пытаюсь настроить код из записанного макроса, я получаю сообщение об ошибке (Тип несоответствия).Excel с использованием PivotCaches.Create из записанного макроса
записанный макрос выглядит следующим образом:
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"tadasEquities_20150223133033!R1C1:R780C71", Version:=xlPivotTableVersion14). _
CreatePivotTable TableDestination:="Sheet52!R3C1", TableName:= _
"PivotTable32", DefaultVersion:=xlPivotTableVersion14
Sheets("Sheet52").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable32").PivotFields("Research type")
.Orientation = xlRowField
.Position = 1
End With
Это часть кода, я настроить.
Worksheets("Pivot Table").PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
rngData, Version:=xlPivotTableVersion14). _
CreatePivotTable TableDestination:=Worksheets("Pivot Table").Cells(1, 1), TableName:= _
"PivotTable", DefaultVersion:=xlPivotTableVersion14
rngData определяются как:
Set wsData = Worksheets(1)
Set rngData = wsData.Range(Worksheets(1).Cells(1, 1), Worksheets(1).Cells(downlast, rightlast))
Рабочего лист ("Сводная таблица") является
Worksheets.Add(After:=Worksheets(1)).Name = "Pivot Table"
, где rightlast и downlast является последней клеткой таблицы.
Как вы можете видеть, я настраиваю только SourceData и TableDestination и использую Worksheets вместо ActiveWorkbook. Может ли кто-нибудь сказать мне, что я делаю неправильно?
Спасибо за ваш ответ. Тем не менее, я все еще получаю сообщение об ошибке: Object не поддерживает это свойство или метод. Кроме того, [msdn.microsoft] (https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.pivotcaches.create%28v=office.14%29.aspx) говорит, что SourceData может быть объектом диапазона: аргумент SourceData требуется, если SourceType не является xlExternal. Это может быть объект Range (когда SourceType является либо xlConsolidation, либо xlDatabase), либо объектом Excel WorkbookConnection (когда SourceType является xlExternal). – tadalendas
@Tadas Я только что просмотрел код, который вы опубликовали, который работает. В этом коде вы передали 'String' свои аргументы. что является единственной разницей в том, что вы пробовали (в котором вы передали объекты). – L42