Home » エクセルマクロ・Excel VBAの使い方 » ピボットテーブル » ピボットテーブルを更新するExcelマクロ

ピボットテーブルを更新するExcelマクロ

対象:Excel2003, Excel2007, Excel2010, Excel2013

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

「エクセル マクロ ピボットテーブル 更新」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。

ピボットテーブルの更新を行うVBA(Visual Basic for Applications)のコード・マクロを探している検索です。

[スポンサードリンク]

この検索キーワードだけでは詳細がわかりませんが、参考になりそうなマクロとして、アクティブなワークシート上のピボットテーブルをすべて更新するマクロをご紹介しておきます。

PivotCache.Refreshメソッドでピボットテーブルを更新するサンプルマクロ

マクロ記録で作られるコードを参考にしてできる以下のようなマクロで、アクティブシート上のピボットテーブルをすべて更新できます。

Sub ピボットテーブルをすべて更新する_PivotCache_Refresh()

  Dim pvt As PivotTable

  For Each pvt In ActiveSheet.PivotTables
    pvt.PivotCache.Refresh
  Next

End Sub

ピボットテーブルの更新をマクロ記録すると
 ActiveSheet.PivotTables("ピボットテーブル1").PivotCache.Refresh
といったコードが作られます。

これをFor Each~Nextループの中で繰り返しています。

PivotTable.RefreshTableでピボットテーブルを更新するサンプルマクロ

以下のようなマクロでも、同じくアクティブシート上のピボットテーブルをすべて更新できます。

Sub ピボットテーブルをすべて更新する_PivotTable_RefreshTable()

  Dim pvt As PivotTable

  On Error Resume Next
  For Each pvt In ActiveSheet.PivotTables
    pvt.RefreshTable
  Next

End Sub

PivotTableオブジェクトにはRefreshTableというメソッドが存在していて、こちらでもピボットテーブルの更新ができます。

RefreshTableメソッドは、実行後に成功したか失敗したかを返すので、ここでは
  On Error Resume Next
としていますが、実務上は適切なエラー処理を入れるほうがいいでしょう。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ピボットテーブル » ピボットテーブルを更新するExcelマクロ

「ピボットテーブル」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.