目次
概要
Excelのピボットテーブルでは、視覚的に重要なデータを強調するために条件付き書式を使用することができます。中でも「トップ1」など、上位の値だけを目立たせたいときには、VBAで書式設定を自動化すると効率的です。
本記事では、VBAを使用して、ピボットテーブル内の特定フィールドに条件付き書式(トップ1の強調)を設定する方法をご紹介いたします。
サンプルコード
Sub HighlightTopSales()
Dim itemList As PivotItems
Dim topFormat As Top10
Dim index As Long
Set itemList = ActiveSheet.PivotTables(1) _
.PivotFields("営業担当").PivotItems
For index = 1 To itemList.Count
Set topFormat = itemList(index).DataRange.FormatConditions.AddTop10
With topFormat
.TopBottom = xlTop10Top
.Rank = 1
.Percent = False
.Interior.ColorIndex = 4 ' 緑系の塗りつぶし
End With
Next index
End Sub
コード解説
PivotFields("営業担当").PivotItems
指定したフィールド(ここでは「営業担当」)に含まれるすべてのアイテムを取得します。.DataRange.FormatConditions.AddTop10
各アイテムのデータセルに対して、トップ10形式の条件付き書式を追加します。.TopBottom = xlTop10Top
「上位の値」に対して条件を適用する設定です。下位にしたい場合はxlTop10Bottom
に変更します。.Rank = 1
上位「1つ」の値を対象にします。2
や3
に変更することで、上位2位、3位まで強調することも可能です。.Interior.ColorIndex = 4
条件を満たすセルの背景色を設定します。4
は緑系の色です。Excel標準のカラーパレットに準じた数値を指定できます。
注意点
- この方法はデータフィールドに対して設定されます。ラベル部分には適用されません。
- データがフィルタされている場合、一部のアイテムに適用できないことがあります。
- 書式が重複する場合は事前に
.FormatConditions.Delete
で削除してから再設定してください。
応用例
- 売上上位の担当者を自動で強調表示
- 在庫数が多い商品のハイライト
- 数量が最も多いカテゴリの視覚化
これらの用途において、レポートの見やすさが大幅に向上します。
まとめ
本記事では、VBAを使ってピボットテーブル内の特定フィールドに条件付き書式を適用する方法をご紹介いたしました。Top10
形式の条件付き書式を活用することで、重要なデータを瞬時に把握しやすくなります。
レポートや資料の可視化を強化したい場合には、ぜひ本手法をご活用ください。