VBAでピボットテーブルの特定の集計値を取得する方法【GetPivotData関数の使い方】

目次

概要

Excelのピボットテーブルでは、特定の条件に一致する集計結果のみを自動的に取得したいという場面があります。そのようなときに便利なのが GetPivotData 関数です。

本記事では、VBAを使ってピボットテーブルから特定の集計値を取得する方法をご紹介いたします。売上額や数量など、特定の条件に一致する値を正確に取得できるため、レポートの自動化や分析作業に役立ちます。

サンプルコード

Sub GetSpecificPivotValue()

    Dim result As Variant

    result = ActiveSheet.PivotTables(1).GetPivotData( _
        DataField:="合計金額", _
        Field1:="支店名", _
        Item1:="札幌支店" _
    )

    MsgBox "集計結果は " & result & " 円です。"

End Sub

コード解説

  • PivotTables(1)
    アクティブシートの1つ目のピボットテーブルを参照しています。
  • .GetPivotData(...)
    このメソッドを使うことで、ピボットテーブルから指定した条件に一致する集計値のみを取得できます。
  • DataField:="合計金額"
    取得したい数値フィールド(集計対象)を指定します。ここでは「合計金額」としています。
  • Field1:="支店名" / Item1:="札幌支店"
    絞り込み条件として使用するフィールド名アイテム名を指定します。たとえば「支店名」が「札幌支店」である行の「合計金額」を取得する指定です。
  • MsgBox
    取得した値をメッセージボックスで表示しています。処理中の確認やデバッグにも便利です。

注意点

  • 該当するデータがピボットテーブル上に表示されていない場合、エラーになります。
  • フィールド名やアイテム名のスペルミス、全角・半角の違いにも注意が必要です。
  • GetPivotData はデータの再計算を行わないため、現在のピボットテーブルの状態に依存します

応用例

  • 担当者別・商品別の売上をマクロで一括取得
  • 月次報告書の自動出力
  • チェックリストに合わせて必要な集計データのみ抽出

まとめ

本記事では、VBAの GetPivotData 関数を活用し、ピボットテーブル内の特定条件に一致する集計値を取得する方法をご紹介いたしました。条件を組み合わせることで、より柔軟なデータ抽出が可能となります。

ピボットテーブルの操作を自動化したい場合には、ぜひ本手法を取り入れてみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次