目次
概要
Excelのピボットテーブルでは、特定の項目(アイテム)に対応するデータ部分だけを選択したい場面があります。手作業でも可能ですが、VBA(Visual Basic for Applications)を使うことで自動化することが可能です。
本記事では、VBAを使って、ピボットテーブル内の特定の値に関連するセル範囲を自動で選択する方法についてご紹介いたします。
サンプルコード
Sub SelectPivotItemRange()
' ピボットテーブル内の「北海道支店」に該当するデータ部分のみを選択
ActiveSheet.PivotTables(1).PivotSelect "北海道支店", xlDataOnly
End Sub
コード解説
PivotTables(1)
アクティブシート内の1つ目のピボットテーブルを対象としています。複数ある場合はインデックスを変更してください。PivotSelect "北海道支店", xlDataOnly
ピボットテーブル内で「北海道支店」という項目(フィールドアイテム)に関連するデータエリアのセルのみを選択します。- 第一引数:選択したいアイテム名(例:「北海道支店」)
- 第二引数:
xlDataOnly
を指定することで、集計結果のセルだけを対象とします。見出し部分などは含まれません。
他の選択オプションについて(補足)
xlButton
:アイテム名などのボタン(ラベル)部分を選択xlDataAndLabel
:データとラベルの両方を含めて選択xlLabelOnly
:見出しラベルのみを選択
必要に応じて使い分けることで、柔軟な処理が可能になります。
応用例
以下のような用途で活用できます。
- 特定の支店や担当者に関する集計データだけをコピー・転記したい場合
- データ範囲に対して色付けや条件付き書式を自動で適用したい場合
- レポート自動化マクロの一部として特定の値だけを処理対象にしたい場合
まとめ
本記事では、VBAを使ってピボットテーブルの特定のアイテムに該当するセル範囲を選択する方法をご紹介いたしました。手作業では時間のかかる操作も、VBAを活用することで効率的に処理できます。
ピボットテーブルの自動操作をさらに発展させたい方にとって、今回の手法は有用な一歩となるはずです。