Excelマクロ・VBA ピボットテーブルを自動更新する方法

2020年5月31日

元データが更新される度にピボットテーブルの内容を

自動更新するにはマクロを使用する必要があります。

ファイルを開いた時であればマクロなしで可能

この記事では自動更新されるサンプルファイルとソースコード、利用方法を紹介します。

なおこのマクロを使用するブックでは「元に戻す」操作が行えなくなります。

サンプルファイル

使用方法

※セキュリティの警告が出る場合は有効化してください。(解除方法↓)

「元データ」ワークシートに元データを記述して

任意のシートにピボットテーブルを作成すれば

元データの変更がピボットテーブルに自動的に反映されます。

コード

下記コードをペーストすれば任意のブックで使用可能です。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim pivotTable As pivotTable
  Dim Worksheet As Worksheet
  ' ブック中の全ワークシートを走査するループ Start
  For Each Worksheet In Worksheets
    ' ワークシート中の全ピボットテーブルを走査するループ 
    For Each pivotTable In Worksheet.PivotTables
     pivotTable.PivotCache.Refresh ' ピボットテーブルを更新 
    Next
  Next
  ' ブック中の全ワークシートを走査するループ End
End Sub

任意のブックへの適用手順

VBAエディターを開き元データのシートをダブルクリックします。

VBAエディターを開き、元データのシートをダブルクリック

コードウインドウが表示されるので、ここにコードサンプルをペーストすれば完了です。

元データシートのコードウインドウ
元データシートのコードウインドウにコードサンプルを張り付けた結果

関連記事

マクロ・VBAの学習・活用方法の記事一覧

ピボットテーブル関連の記事一覧

UiPath Excel テーブル ピボットテーブルを更新 アクティビティ