1

私はしようとしています:

  1. PivotTable.PivotFields コレクション オブジェクトを一時的なオブジェクトにコピーします
  2. 一時的なものにいくつかの変更を加え、
  3. 次に、元の PivotTable.PivotFields コレクションが新しい PivotFields コレクションを指すように設定します。

次のコードを使用しようとしています。「New PivotFields」を使用しようとすると、示された行でコンパイル エラーが発生します。私は何を間違っていますか?どんな助けでも感謝します。

Public Sub ChangePivotTable()

    Dim objPivotTable As PivotTable
    Dim objPivotFields As PivotFields
    Dim objTempPivotFields As PivotFields

    'Get Pivot Table from worksheet
    Set objPivotTable = Worksheets("PivotTableWorksheet").PivotTables(1)
    'Set reference to PivotFields Collection of PivotTable
    Set objPivotFields = objPivotTable.PivotFields

    'Compile error: Invalid use of New Keyword
    Set objTempPivotFields = New PivotFields

    'Pass Collection by Value
    Let objTempPivotFields = objPivotFields 

    'Make changes to Temporary PivotFields Collection
    Dim intIndex As Integer
    For intIndex = 6 To 2156

        objTempPivotFields(intIndex).Orientation = xlDataField
        objTempPivotFields(intIndex).Function = xlAverage

    Next intIndex

    'Set original PivotFields Collection to temporary one
    Set objPivotFields = objTempPivotFields

End Sub
4

0 に答える 0