「エクセルマクロ アクティブなピボットテーブル名」
「エクセル2010 vba アクティブなピボットテーブル名の取得」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
Excel VBA(Visual Basic for Applications)で、アクティブなピボットテーブルの名前を取得するには、どのようなコードを書けばいいのかを探している方による検索キーワードです。
アクティブなピボットテーブル名を取得するサンプルマクロ
以下のようなコードで、アクティブなピボットテーブルの名前を取得できます。
On Error GoTo ERR_HNDL
MsgBox ActiveCell.PivotTable.Name
Exit Sub ERR_HNDL:
MsgBox "ピボットテーブルが選択されていません。"
End Sub
上記のマクロを実行したときに、ピボットテーブルが選択されていればその名前が、選択されていなければ「ピボットテーブルが選択されていません。」というメッセージが表示されます。
サンプルマクロで利用しているオブジェクト式について
Rangeオブジェクトに、PivotTableオブジェクトを返すPivotTableプロパティが用意されています。
そこで、ActiveCellプロパティで、アクティブなセルを表すRangeオブジェクトを取得してから、
Range.PivotTableプロパティでアクティブなピボットテーブルを表すPivotTableオブジェクトを取得し、PivotTableオブジェクトのNameプロパティで、ピボットテーブル名を取得しています。
ピボットテーブルがアクティブではない状態で、「ActiveCell.PivotTable」というオブジェクト式が実行されると、
「実行時エラー'1004': RangeクラスのPivotTableプロパティを取得できません。」
というエラーが発生しますから、
On Error GoTo ERR_HNDL
ERR_HNDL:
MsgBox "ピボットテーブルが選択されていません。"
というエラー処理を入れています。
- Newer:VBAでグラフシートを選択する
- Older:VBAでピボットテーブルをクリア・初期化する
Home » エクセルマクロ・Excel VBAの使い方 » ピボットテーブル » VBAでアクティブなピボットテーブル名を取得する