私はしようとしています:
- PivotTable.PivotFields コレクション オブジェクトを一時的なオブジェクトにコピーします
- 一時的なものにいくつかの変更を加え、
- 次に、元の 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