Excel VBA ピボットテーブルを操作する

スポンサーリンク

ピボットテーブルを操作する方法

作成したピボットテーブルを操作するには、作成したピボットテーブルを参照して追加や削除、グループ化、グラフの作成等の操作を実行します。ピボットテーブルの作成についてはピボットテーブルを作成するをご覧下さい。

ピボットテーブルを操作する主なメソット一覧

メソッド内容
PivotTables【ピボットテーブルズ】ピボットテーブルを参照します。
ClearTable【クリアテーブル】ピボットテーブルのすべての設定を削除します。
Refresh【リフレッシュ】メソッドピボットテーブルを更新します。

ピボットテーブルを操作する主なプロパティ一覧

プロパティ内容
CompactLayoutRowHeader
【コンパクトレイアウトロウヘッター】
ピボットテーブルの行見出しのラベルを変更します。
CompactLayoutColumnHeader
【コンパクトレイアウトカラムヘッター】
ピボットテーブルの列見出しのラベルを変更します。

PivotTables【ピボットテーブルズ】メソッド

ピボットテーブルを参照するには、Worksheet【ワークシート】オブジェクトのPivotTables【ピボットテーブルズ】メソッドを使用します。単一のピボットテーブルを表すPivotTable【ピボットテーブル】オブジェクトまたは、そのコレクションPivotTables【ピボットテーブルズ】コレクションを返します。値の取得のみ可能です。

PivotTables【ピボットテーブルズ】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.PivotTables[(Index)]
【戻り値】オブジェクト型(Object)

  • オブジェクト(必須)
    Worksheet【ワークシート】オブジェクトを指定します。
  • Index【インデックス】(省略可)
    ピボットテーブルの名前またはインデックス番号を指定します。省略した場合はワークシート上のすべてのピボットテーブルを表すPivotTables【ピボットテーブル】コレクションが参照されます。

ClearTable【クリアテーブル】メソッド

ピボットテーブルの設定をクリアするにはPivotTable【ピボットテーブル】オブジェクトのClearTable【クリアテーブル】メソッドを使用します。なお、ピボットテーブル自体を削除するには、ピボットテーブルが作成されているセル範囲を削除します。

ClearTable【クリアテーブル】メソッドの書式と設定値の説明

オブジェクト.ClearTable

  • オブジェクト(必須)
    設定を削除したいPivotTable【ピボットテーブル】オブジェクトを指定します。

作成したピボットテーブルを削除するコード例

実行前

テーブル設定クリアのコード例

 
Sub テーブルクリア()
 ActiveSheet.PivotTables(1).ClearTable 
End Sub 

実行結果


※空のピボットテーブルが残ります。

ピボットテーブルを削除するコード例

Sub テーブル削除() 
 Range("F1").CurrentRegion.Delete 
End Sub 

実行結果


※テーブルは完全に削除されます。

CompactLayoutRowHeader【コンパクトレイアウトロウヘッター】プロパティ

CompactLayoutColumnHeader【コンパクトレイアウトカラムヘッター】プロパティ

ピボットテーブルの行見出し、列見出しは既定値では「行ラベル」「列ラベル」と表示されます。このラベルを変更するにはPivotTable【ピボットテーブル】オブジェクトの行ラベルはCompactLayoutRowHeader【コンパクトレイアウトロウヘッター】プロパティ列ラベルはCompactLayoutColumnHeader【コンパクトレイアウトカラムヘッター】プロパティを使用します。

書式と設定値の説明

【行ラベル】
オブジェクト.CompactLayoutRowHeader =ラベル
【列ラベル】
オブジェクト.CompactLayoutColumnHeader =ラベル

  • オブジェクト(必須)
    行や列ラベルを変更するPivotTable【ピボットテーブル】オブジェクトを指定します。
  • ラベル(必須)
    ラベル名を文字列で指定します。

行ラベルと列ラベルを変更する例実行前

コード例

Sub ラベル変更() 
 With ActiveSheet.PivotTables(1)
     .CompactLayoutRowHeader = "事業" 
     .CompactLayoutColumnHeader = "店名" 
 End With 
End Sub 

実行結果

Refresh【リフレッシュ】メソッド

ピボットテーブルの元になる表に変更があった場合、ピボットテーブルを更新して、最新の状態にするにはPivotCache【ピボットキャッシュ】オブジェクトのRefresh【リフレッシュ】メソッドを使用します。

Refresh【リフレッシュ】メソッドの書式と設定値の説明

オブジェクト.Refresh

  • オブジェクト(必須)
    PivotCache【ピボットキャッシュ】オブジェクトを指定します。PivotCache 【ピボットキャッシュ】オブジェクトはPivotTable【ピボットテーブル】オブジェクトのPivotCache【ピボットキャッシュ】メソッドで取得できます。

ピボットテーブルのデータを更新するコード例

 
Sub 更新()
 ActiveSheet.PivotTables(1).PivotCache.Refresh 
End Sub 

以上で、ピボットテーブルを操作する方法についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告