「エクセル マクロ ピボットテーブル 更新」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
ピボットテーブルの更新を行うVBA(Visual Basic for Applications)のコード・マクロを探している検索です。
この検索キーワードだけでは詳細がわかりませんが、参考になりそうなマクロとして、アクティブなワークシート上のピボットテーブルをすべて更新するマクロをご紹介しておきます。
PivotCache.Refreshメソッドでピボットテーブルを更新するサンプルマクロ
マクロ記録で作られるコードを参考にしてできる以下のようなマクロで、アクティブシート上のピボットテーブルをすべて更新できます。
Dim pvt As PivotTable
For Each pvt In ActiveSheet.PivotTables
pvt.PivotCache.Refresh
Next
ピボットテーブルの更新をマクロ記録すると
ActiveSheet.PivotTables("ピボットテーブル1").PivotCache.Refresh
といったコードが作られます。
これをFor Each~Nextループの中で繰り返しています。
PivotTable.RefreshTableでピボットテーブルを更新するサンプルマクロ
以下のようなマクロでも、同じくアクティブシート上のピボットテーブルをすべて更新できます。
Dim pvt As PivotTable
On Error Resume Next
For Each pvt In ActiveSheet.PivotTables
pvt.RefreshTable
Next
PivotTableオブジェクトにはRefreshTableというメソッドが存在していて、こちらでもピボットテーブルの更新ができます。
RefreshTableメソッドは、実行後に成功したか失敗したかを返すので、ここでは
On Error Resume Next
としていますが、実務上は適切なエラー処理を入れるほうがいいでしょう。
- Newer:Windows 8でOffice 2003は動くのか
- Older:Windows 8でモビリティセンターを表示するには
Home » エクセルマクロ・Excel VBAの使い方 » ピボットテーブル » ピボットテーブルを更新するExcelマクロ