大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、ピボットテーブルを更新する方法について、ご紹介します。更新する種類としては、「特定のピボットテーブルのみ」を更新する方法と、「ブック全体」のピボットテーブルを更新する方法があります。更新したくないピボットテーブルがなければ、「ブック全体」を更新する方法が簡単です。

はじめに

この記事では、VBAでピボットテーブルを更新する方法について、ご紹介します。

ピボットテーブルを更新する種類は、次の2つがあります。

  • 特定のピボットテーブルのみを更新
  • ブック全体のピボットテーブルを更新

という感じです。

他のピボットテーブルは更新したくない、というのがなければ、「ブック全体のピボットテーブルを更新」する方が簡単です。

では、VBAでピボットテーブルを更新する方法について、解説していきます。

この記事で紹介すること

  • VBAでピボットテーブルを更新する方法

目次から使いそうな説明のところへ移動すると便利ですよ。

目次

VBAコードまとめ

ピボットテーブルを更新するVBAコードを、まとめました。

VBAコードだけを確認したい場合に、ご活用ください。

'ピボットテーブルを更新
ActiveSheet.PivotTables(1).PivotCache.Refresh

'ブック全体のピボットテーブルを更新
ActiveWorkbook.RefreshAll

では、解説していきます。

VBAで指定したピボットテーブルを更新する

VBAで、指定したピボットテーブルを更新してみます。

更新するVBAコード

ピボットテーブルを更新するVBAコードは、こんな感じです。

Sub TEST1()
    
    '更新する
    ActiveSheet.PivotTables(1).PivotCache.Refresh
    
End Sub

では、元データの値を変更して、ピボットテーブルを更新してみます。

元データの値を変更して更新してみる

元データの値を変更して、更新するVBAコードは、こんな感じになります。

Sub TEST2()
    
    '元データの値を変更
    Worksheets("元データ").Range("C7") = 9999
    '更新する
    ActiveSheet.PivotTables(1).PivotCache.Refresh
    
End Sub

元データからピボットテーブルを作成しておきました。

ピボットテーブルを作成しておく

元データからピボットテーブルを作成しておく

では、VBAコードを実行してみます。

元データの値が変更されます。

元データの値が変更される

元データの値が変更される

ピボットテーブルの値が更新されます。

ピボットテーブルを更新できた

ピボットテーブルの値が更新される

ピボットテーブルの値が更新されました。

こんな感じで、「.PivotCache.Refresh」を使うと、特定のピボットテーブルを変更することができます。

ピボットテーブルの名前を変更して更新

ピボットテーブルの名前を変更して、更新してみます。

VBAコードは、こんな感じになります。

Sub TEST3()
    
    '名前の変更
    ActiveSheet.PivotTables(1).Name = "ピボットテーブル2"
    '更新する
    ActiveSheet.PivotTables(1).PivotCache.Refresh
    
End Sub

初期状態のピボットテーブルを作成しました。

初期状態のピボットテーブル

初期状態のピボットテーブルを作成

では、VBAコードを実行してみます。

ピボットテーブルの名前を更新できた

ピボットテーブルの名前を変更して更新できた

ピボットテーブルの名前を変更して更新できました。

VBAでブック全体のピボットテーブルを更新する

VBAで、「ブック全体」のピボットテーブルを更新してみます。

特に理由がなければ、この「ブック全体」のピボットテーブルの更新をする方が、簡単です。

ブック全体を更新するVBAコード

「ブック全体」のピボットテーブルを更新するVBAコードは、こんな感じになります。

Sub TEST4()
    
    'ブック全体を更新
    ActiveWorkbook.RefreshAll
    
End Sub

では、複数のピボットテーブルを作成して、更新してみます。

元データを変更してブック全体を更新

元データを変更して、複数のピボットテーブルを更新してみます。

VBAコードは、こんな感じになります。

Sub TEST5()
    
    '元データを変更
    Worksheets("元データ").Range("C7") = 9999
    'ブック全体を更新
    ActiveWorkbook.RefreshAll
    
End Sub

最初に、元データから複数のピボットテーブルを作成しておきました。

複数のピボットテーブルを作成

元データから複数のピボットテーブルを作成した

では、VBAコードを実行してみます。

元データの値が変更されます。

元データの値が変更される

元データの値が変更される

複数のピボットテーブルの値が、更新されます。

複数のピボットテーブルを更新できた

複数のピボットテーブルの値が更新された

複数のピボットテーブルの値が、更新されました。

ブック全体の更新であれば、ピボットテーブルを指定する必要がないので、簡単です。

更新したくないピボットテーブルがなければ、「ActiveWorkbook.RefreshAll」で、ブック全体を更新しましょう。

おわりに

この記事では、VBAでピボットテーブルを更新する方法について、ご紹介しました。

ピボットテーブルを更新する種類は、次の2つがあります。

  • 特定のピボットテーブルのみを更新
  • ブック全体のピボットテーブルを更新

という感じです。

他のピボットテーブルは更新したくない、というのがなければ、「ブック全体のピボットテーブルを更新」する方が簡単です。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す