Home » エクセルマクロ・Excel VBAの使い方 » ピボットテーブル » VBAでアクティブなピボットテーブル名を取得する

VBAでアクティブなピボットテーブル名を取得する

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「エクセルマクロ アクティブなピボットテーブル名」
「エクセル2010 vba アクティブなピボットテーブル名の取得」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。

Excel VBA(Visual Basic for Applications)で、アクティブなピボットテーブルの名前を取得するには、どのようなコードを書けばいいのかを探している方による検索キーワードです。

[スポンサードリンク]

アクティブなピボットテーブル名を取得するサンプルマクロ

以下のようなコードで、アクティブなピボットテーブルの名前を取得できます。

Sub アクティブなピボットテーブル名を取得する()
 On Error GoTo ERR_HNDL
 MsgBox ActiveCell.PivotTable.Name
 Exit Sub

ERR_HNDL:
 MsgBox "ピボットテーブルが選択されていません。"
End Sub

上記のマクロを実行したときに、ピボットテーブルが選択されていればその名前が、選択されていなければ「ピボットテーブルが選択されていません。」というメッセージが表示されます。

サンプルマクロで利用しているオブジェクト式について

Rangeオブジェクトに、PivotTableオブジェクトを返すPivotTableプロパティが用意されています。

VBAでアクティブなピボットテーブルの名前を取得する

そこで、ActiveCellプロパティで、アクティブなセルを表すRangeオブジェクトを取得してから、

VBAでアクティブなピボットテーブルの名前を取得する

Range.PivotTableプロパティでアクティブなピボットテーブルを表すPivotTableオブジェクトを取得し、PivotTableオブジェクトのNameプロパティで、ピボットテーブル名を取得しています。

VBAでアクティブなピボットテーブルの名前を取得する

ピボットテーブルがアクティブではない状態で、「ActiveCell.PivotTable」というオブジェクト式が実行されると、
「実行時エラー'1004': RangeクラスのPivotTableプロパティを取得できません。」
というエラーが発生しますから、
  On Error GoTo ERR_HNDL
 ERR_HNDL:
  MsgBox "ピボットテーブルが選択されていません。"
というエラー処理を入れています。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ピボットテーブル » VBAでアクティブなピボットテーブル名を取得する

「ピボットテーブル」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.