0
私はピボットテーブルに置かれたすべての領域を取得するためにVBAを使用しています。コードは次のとおりですピボットテーブルPivotFields.Positionがエラー2042を返します
For Each objCubeFld In pvt.PivotFields 'Loop through all fields in PivotTable
Cubefield(i) = objCubeFld
Orient(i) = objCubeFld.Orientation 'Orientation
Pos(i) = objCubeFld.Position 'Position
i = i + 1
Next objCubeFld
ただし、私は以下のエラーが発生しました。
私はオリエンテーション= "3"、それはフィルタを意味するとき知っています。フィルタを削除した後、プログラムはうまく動作します。誰でもこれを説明できますか?
フィルタは日付フィールドにありますか? – skkakkar
@skkakkarいいえ、Dateだけでなく、いずれのフィールドも失敗します。私はちょうどテストした。 – NewGuyComesIn
私は非常に最近ピボットテーブルを学び始めました。私はウェブから集まってきました。 Field.CurrentPageは、フィルターフィールド(ページフィールドとも呼ばれます)に対してのみ機能します。 あなたは、行/列フィールドをフィルタリングする場合は、あなたがそうのような個々の項目、を循環する必要があります:フィールド で 〜 .Orientation = xlPageField場合、 .CurrentPage =値 のElseIf .Orientation = xlRowFieldか。オリエンテーション= xlColumnField [その後、質問の参照〜](http://stackoverflow.com/questions/37464954/pivot-table-pivotfields-position-returns-error-2042?noredirect=1#comment62430216_37464954) – skkakkar