関数・メソッド

ピボットテーブルのセルが何のデータか判断する【PivotCellTypeプロパティ】【ExcelVBA】

PivotCellTypeプロパティでセル情報を取得する

ピボットテーブルに表示されているセルは一見普通のセルに見えます。
しかし、「1000」と書いてあってもそれが数値なのか総計なのか、
あるいは装飾的なものなのか判別することが難しくなっています。

該当セルがどんな情報・性質を持っているのか知る事ができなければ、正確な処理ができません。

ピボットテーブルに関しては PivotCellオブジェクトPivotCellTypeプロパティ を使うことで
セルのデータがどのような種類なのか、判別することができます。

構文
Object.PivotCellType

ObjectPivotCellオブジェクト を表す変数です。
PivotCellTypeセルのデータを識別する XlPivotCellType クラス定数を返します。
XlPivotCellType説明
xlPivotCellValue0空白行を除くデータエリア内のすべてのセル
xlPivotCellPivotItem1小計、総計、ユーザー設定の集計、空白行のいずれでもないセル
xlPivotCellSubtotal2集計の行範囲または列範囲内のセル
xlPivotCellGrandTotal3総計の行範囲または列範囲内のセル
xlPivotCellDataField4データフィールド名セル([データ] ボタンではない)
xlPivotCellPivotField5フィールド名セル ([データ] ボタンではない)。
xlPivotCellPageFieldItem6ページフィールドの選択されているアイテムを表示するセル
xlPivotCellCustomSubtotal7ユーザー設定の集計の行範囲または列範囲内のセル
xlPivotCellDataPivotField8[データ] ボタン
xlPivotCellBlankCell9空白セル

 

サンプルコード

Public Sub Sample()
  '集計セルかどうかで処理を分岐する
  If Range("E3").PivotCell.PivotCellType = xlPivotCellValue Then
      Debug.Print "集計値のセルです"
  Else
      Debug.Print "集計値のセルではありません"
  End If

End Sub

 

関連記事

 

コメント

タイトルとURLをコピーしました