レポート データ用のワークシートと、ピボット テーブルを含む 4 つのワークシートを含む Excel テンプレート (.xlt) があります。
レポート システムがレポートを作成し、それにテンプレートを適用すると、レポート システムのプロセスの一部として作成するためにマクロが実行されるため、ピボット テーブルによって参照されるフィールドの一部が存在しません。
ただし、これらのフィールドが存在しないため、Excel はエラーをスローしています (コンポーネント プロパティ/メソッドへのアクセス中にエラーが発生しました: REFRESH。参照が無効です。)。これを回避するために、すべてのピボット テーブルのオプションの設定を解除しましたRefresh data when opening the file
。
VBA を使用してピボット テーブルを更新できることはわかっていますが、新しいフィールドが作成された後で、ドキュメントが開かれたときにピボット テーブルが更新されないようにする方法はありますか? ありがとう。
Function UpdatePivots()
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable1").PivotCache.Refresh
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable2").PivotCache.Refresh
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable3").PivotCache.Refresh
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable4").PivotCache.Refresh
End Function