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

VBAで
 ・ピボットテーブルを更新
できます!

ピボットテーブルを右クリックすると表示されるメニュー
ピボットテーブルを右クリックすると表示されるメニュー
PR

VBAコード

ここでは例として、
 ・シート「pivot」上のピボットテーブル「サンプルピボット」を更新
します。
※ピボットテーブルの元データの値を100→999へ変更し、それをピボットテーブルへ反映(更新)します

元データを変更(100→999)
元データを変更(100→999)
Option Explicit

Sub sample()

    Dim pivotSheetName As String
    Dim pivoTableName As String
    Dim pivotTable As pivotTable
    Dim pivotCache As pivotCache
    
    'ピボットテーブルがあるシート名
    pivotSheetName = "pivot"
    'ピボットテーブル名
    pivoTableName = "サンプルピボット"
    
    'ピボットテーブルを取得
    Set pivotTable = Worksheets(pivotSheetName).PivotTables(pivoTableName)
    'ピボットキャッシュを取得
    Set pivotCache = pivotTable.pivotCache
    'ピボットキャッシュをリフレッシュ
    pivotCache.Refresh

End Sub

以下を指定します(11~13行目)。
※状況に応じて任意の値を指定してください。

・ピボットテーブルがあるシート名
・ピボットテーブル名

ピボットテーブルを取得します(16行目)。
※「Worksheetオブジェクト」の「PivotTables」メソッドにより、「PivotTableオブジェクト」を取得します。

ピボットキャッシュを取得します(18行目)。
※「PivotTableオブジェクト」の「pivotCache」メソッドにより、「PivotCacheオブジェクト」を取得します。

ピボットキャッシュをリフレッシュします(20行目)。
※「PivotCacheオブジェクト」の「Refresh」メソッドにより、ピボットキャッシュをリフレッシュします。
※ピボットキャッシュをリフレッシュすることで、ピボットテーブルが更新されます。

PR

実行結果

ピボットテーブルを更新できました。
※値を100→999へ変更できました。

●実行

実行前のピボットテーブル
実行のピボットテーブル


●実行

実行後のピボットテーブル
実行のピボットテーブル
PR

参考①

ピボットテーブルを作成することもできます。

詳細は以下の記事をご確認ください。

PR

参考②

作成済みのピボットテーブルにスライサーを作成することもできます。

詳細は以下の記事をご確認ください。

PR

参考③

上記で使用した以下の詳細は、公式サイトをご確認ください。

●「Worksheetオブジェクト」の「PivotTables」メソッド


●「PivotTableオブジェクト」の「pivotCache」メソッド


●「PivotCacheオブジェクト」の「Refresh」メソッド