関数・メソッド

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

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

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

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

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

構文
Object.PivotCellType

Object PivotCellオブジェクト を表す変数です。
PivotCellType セルのデータを識別する XlPivotCellType クラス定数を返します。
XlPivotCellType 説明
xlPivotCellValue 0 空白行を除くデータエリア内のすべてのセル
xlPivotCellPivotItem 1 小計、総計、ユーザー設定の集計、空白行のいずれでもないセル
xlPivotCellSubtotal 2 集計の行範囲または列範囲内のセル
xlPivotCellGrandTotal 3 総計の行範囲または列範囲内のセル
xlPivotCellDataField 4 データフィールド名セル([データ] ボタンではない)
xlPivotCellPivotField 5 フィールド名セル ([データ] ボタンではない)。
xlPivotCellPageFieldItem 6 ページフィールドの選択されているアイテムを表示するセル
xlPivotCellCustomSubtotal 7 ユーザー設定の集計の行範囲または列範囲内のセル
xlPivotCellDataPivotField 8 [データ] ボタン
xlPivotCellBlankCell 9 空白セル

 

サンプルコード

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

End Sub

 

関連記事

 

コメント