Код VBA добавляет поле сводной таблицы, но не может отрегулировать положение? - PullRequest
0 голосов
/ 30 ноября 2018

Я пишу код для отображения поля поворота, и мне нужно новое поле в определенной позиции.Если я удаляю строку «.Position = 1», она работает, но если я оставляю ее, я получаю сообщение об ошибке «Ошибка во время выполнения« 424 »: требуется объект».

Я бы очень признателен за любую помощь в изучении того, как исправить или обойти это.

Sub projid()

Range("C4").Select
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
    "PivotTable1").PivotFields("Projects_idProjects"), "Sum of Projects_idProjects" _
    , xlSum
With ActiveSheet.PivotTables("PivotTable1").PivotFields( _
    "Sum of Projects_idProjects")
    .Orientation = xlRowField
End With
Range("g4").Value = 1

End If
End Sub

1 Ответ

0 голосов
/ 30 ноября 2018

Это должно помочь вам в вашем квесте:

'Define Pivot Cache
Set pvtCache = ActiveWorkbook.PivotCaches.Create _
    (SourceType:=xlDatabase, SourceData:=Range(SOURCE_DATA_RANGE)). _
    CreatePivotTable(TableDestination:=Range(DESTINATION_DATA_RANGE), _
    TableName:="TABLE_NAME_GOES_HERE")


with ActiveSheet.PivotTables ("TABLE_NAME_GOES_HERE")

    ' Insert Row Fields
    With .PivotFields("FIELD_NAME")
        .Orientation = xlRowField
        .Position = 1
    End With

    With .PivotFields("ANOTHER_FIELD_NAME")
        .Orientation = xlRowField
        .Position = 2
    End With

    'Insert Data Field
    With .PivotFields("DATA_FIELD_GOES_HERE")
        .Orientation = xlDataField
        .Position = 1
    End With

End With`
...