Home » エクセルマクロ・Excel VBAの使い方 » ピボットテーブル » VBAでピボットテーブルの名前を変更する

VBAでピボットテーブルの名前を変更する

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

Excelでは、[ピボットテーブルツール]-[分析]タブ-[ピボットテーブル]グループの[ピボットテーブル名]欄で、

VBAでピボットテーブルの名前を変更する

ピボットテーブルの名前を変更できます。

このピボットテーブル名の変更を、Excel VBA(Visual Basic for Applications)で行いたいというニーズがあるようです。

このサイト・インストラクターのネタ帳のアクセスログにも、
「ピボットテーブル名を変更する vba」
「excel vba ピボットテーブルの名前を変更」
「エクセル2010 マクロ ピボットテーブル名称変更」
といった検索キーワードが見られます。

[スポンサードリンク]

いつものように、参考になりそうなシンプルなマクロをご紹介しておきます。

アクティブなシート上の1つ目のピボットテーブルの名前を変更するサンプルマクロ

以下のようなSubプロシージャで、アクティブなシート上の1つ目のピボットテーブルの名前を変更できます。

Sub ピボットテーブルの名前を変更する_アクティブシートの1つ目()
 Dim pvt As PivotTable

 On Error Resume Next
 Set pvt = ActiveSheet.PivotTables(1)
 On Error GoTo 0

 If pvt Is Nothing Then
  MsgBox "アクティブシート上にピボットテーブルはありません。"
 Else
  pvt.Name = "新しい名前"
 End If
End Sub

WorksheetオブジェクトのPivotTablesメソッドを使って、PivotTablesコレクションオブジェクトを取得して、1つ目のピボットテーブルを表すPivotTableオブジェクトを取得して名前を変更しています。

アクティブなピボットテーブルの名前を変更するサンプルマクロ

以下のようなSubプロシージャで、アクティブなピボットテーブルの名前を変更できます。

Sub ピボットテーブルの名前を変更する_アクティブな()
 Dim pvt As PivotTable

 On Error Resume Next
 Set pvt = ActiveCell.PivotTable
 On Error GoTo 0

 If pvt Is Nothing Then
  MsgBox "ピボットテーブルが選択されていません。"
 Else
  pvt.Name = "新しい名前"
 End If
End Sub

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

ローカルウィンドウでオブジェクト変数を確認しましょう

「ピボットテーブル名を変更する vba」
「excel vba ピボットテーブルの名前を変更」
「エクセル2010 マクロ ピボットテーブル名称変更」
といった検索をなさった方には、上記のプロシージャが参考になるのではないかと思いますが、ローカルウィンドウも眺めておくことをおすすめします。

メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示しておいて、上記のプロシージャをショートカットキー[F8]でステップ実行して、オブジェクト変数・pvtに、PivotTableオブジェクトがセットされたあとに、どのような情報を持っているのかを確認しておきましょう。

オブジェクト変数・pvtから、たくさんの情報を取得できるため、ローカルウィンドウを見慣れていない方はどこを見たらいいのか戸惑うかもしれませんが、まずは上記プロシージャで利用しているNameプロパティを、それから意味のわかりやすい、SourceDataプロパティ、RefreshDateプロパティあたりを見てみましょう。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ピボットテーブル » VBAでピボットテーブルの名前を変更する

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

検索


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

.