関数・メソッド

ピボットテーブルの更新方法【RefreshAllメソッド】【Refreshメソッド】【ExcelVBA】

ピボットテーブルを更新する

ピボットテーブルを作成した後に元データの変更や、テーブル名の変更等を行った場合、
そのままではピボットテーブルに反映されません。

データを反映させる方法は2パターンあります。

ブック内の全てを更新

ブック内の全てのピボットテーブルを更新する場合は、
WorkbookオブジェクトRefreshAllメソッド を使用します。

構文
Object.RefreshAll

ObjectWorkbookオブジェクト を表す変数です。

 

特定のものを更新

一部のピボットテーブルのみを更新する場合は、
PivotCacheオブジェクトRefreshメソッド を使用します。

構文
Object.Refresh

ObjectPivotCacheオブジェクト を表す変数です。

記述例
Worksheets(“シート名”).PivotTables(数値または”テーブル名”).PivotCache.Refresh

 

ピボットテーブルを更新するサンプルコード

Public Sub RefreshAll()
  '元データの数値を変える
  Worksheets("Sheet1").Range("C2") = 30
  '■全てのピボットテーブルを更新する
  ActiveWorkbook.RefreshAll

End Sub

Public Sub Refresh()
  '元データの数値を変える
  Worksheets("Sheet1").Range("C2") = 50
  '■ピボットテーブルを指定して更新する
  ActiveSheet.PivotTables(1).PivotCache.Refresh
  
End Sub

 

注意点

  • これと言った理由が無いのであれば、RefreshAll で問題ないと思います。

 

関連記事

 

コメント

タイトルとURLをコピーしました