効果的にピボットテーブルを使用して一連のシートをループするVBAコードを作成しようとしています。私は以下のコードでデモしようとしたので、セル値に応じてフィルタを変更/変更します)。これは実行には至りません(私は完全な初心者のコードを更新しようとしています)ので、私が望む結果のために定義された変数をどのように使用するかについてのポインタを探しています。 (多くはより多くの、これは私が遭遇しただけで最初の問題であり、ループに行く私の現在の問題はピボットテーブルを実行してフィルタ/ラベルを変更するためのVBAコード
Option Explicit
Dim MySheet As Worksheet
Dim MyPivot As PivotTable
Dim NewCat As String
Sub RefreshPivots()
For Each MySheet In ActiveWorkbook.Worksheets
For Each MyPivot In MySheet.PivotTables
NewCat = Worksheets("WorkingSheet").Range("B44").Value
MyPivot.RefreshTable
With ActiveSheet
.MyPivot.AddDataField
.MyPivot.PivotFields ("GuidelinePercent"), "Count of GuidelinePercent", xlCount
End With
Next MyPivot
Next MySheet
など、私はフィールドの変更を開始するために、ピボットテーブルを呼び出すように見えることはできませんということです
)。
私は取得しています:Run-time error '438' Object doesn't support this property or method
ライン
With ActiveSheet.MyPivot.AddDataField
上のすべてのヘルプは素晴らしいことです!
EDIT;
With ActiveSheet
.PivotTables(MyPivot).AddDataField
.PivotTables(MyPivot).PivotFields ("GuidelinePercent"), "Count of GuidelinePercent", xlCount
End With
をしようと、私はライン.MyPivot.AddDataField
上Run-time error'1004': Unable to get the Pivot Tables property of the Worksheet class
得ます。
をあなたのコードが追加される 'pivotfield'を指定しませんでした。 – kulapo
私はそれが問題になる前にエラーが発生していると思います...私はフィールドを追加しようとしています。 – alex1stef2
EDITの場合は、引用符を含めます。 '.PivotTables(" MyPivot ")' – Egalth