別のExcel VBAマクロボタンの問題があります。実行時エラー-2147024809(80070057) - ピボットテーブルのフィールド名が無効です
ワークシート上のすべてのピボットを更新するボタンを作成しようとしています(4つあります)。私は前にStackOverflowに行き、うまくいきました。私は私が前に提供し、新しいブックのためにそれを更新されたコードを取ったが、それが機能.ChangePivotCache PvtCacheで以下の失敗:
Sub Button1_Click()
Dim PvtTbl As PivotTable
Dim PvtCache As PivotCache
Dim PvtDataRng As Range
Set PvtDataRng = Worksheets("OTR_Promo_List_ADV_2017").Range("B2:AU500")
Set PvtCache = ActiveWorkbook.PivotCaches.Add(xlDatabase, PvtDataRng)
Set PvtTbl = Worksheets("Desired_Distribution").PivotTables("PivotTable1")
For Each PvtTbl In Worksheets("Desired_Distribution").PivotTables
Set PvtCache = ActiveWorkbook.PivotCaches.Add(xlDatabase, PvtDataRng)
With PvtTbl
.ChangePivotCache PvtCache
.RefreshTable
End With
Set PvtCache = Nothing
Next PvtTbl
End Sub
唯一の違いは、ブックが変更されたことで、今、私が代わりに4つのピボットをリフレッシュしたいです2の - それは問題になる可能性がありますか?
以下のスクリーンショットの下にワークシートが表示されます。 "OTR_Promo_List_ADV-2017"はデータベースです。ピボットテーブルは、(...つまりPivotTable1、PivotTable2)私は名前を変更していない、
感謝をデフォルトの命名を持っています!
私はこれを覚えていますが、私のコードは少し異なります。まず、For Each PvtTbl ...ループの前に、 'Set PvtCache'と' Set PvtTbl'の2行は必要ありません。第二に、あなたの 'Range'が動的ではない場合(Range(" B2:AU500 "は静的です)、どうしてこのコードを実行する必要がありますか? –
私は知りません、文字通りコピーして、 – Kevbo