Excelには、上位または下位の数値を自動的に強調表示できる**条件付き書式の「上位/下位ルール」**があります。本記事では、VBAを使って、特定のデータ範囲から上位3件を自動でハイライトする方法をご紹介いたします。
目次
サンプルコード:売上ベスト3を強調表示
Sub HighlightTopThreeSales()
Dim highlightRule As Top10
Set highlightRule = Range("D3:D12").FormatConditions.AddTop10
With highlightRule
.TopBottom = xlTop10Top
.Rank = 3
.Percent = False
.Interior.ColorIndex = 4 ' 緑系の塗りつぶし
End With
End Sub
コード解説
対象範囲の設定
Range("D3:D12")
この部分では、条件付き書式を適用するセル範囲を指定しています。ここでは売上金額が入力されている D3
から D12
までの範囲が対象です。必要に応じて他の範囲へ変更可能です。
条件付き書式の追加
Set highlightRule = Range(...).FormatConditions.AddTop10
AddTop10
を使用することで、上位または下位の値をハイライトする条件付き書式を追加できます。返り値は Top10
オブジェクトです。
上位データを指定
.TopBottom = xlTop10Top
.Rank = 3
.Percent = False
.TopBottom = xlTop10Top
:上位値(最大値に近いもの)を対象にします。.Rank = 3
:上位3件を指定します。.Percent = False
:割合(%)ではなく、件数として3件を意味します。
色の設定
.Interior.ColorIndex = 4
上位3件のセルに緑色の背景を設定します。ColorIndex
の数値は色によって変更できます。たとえば、6なら黄色、3なら赤色です。
応用:下位データを強調したい場合
.TopBottom = xlTop10Bottom
このように変更することで、下位3件を強調表示することもできます。
まとめ
上位の売上データを目立たせたい場合、VBAを使って条件付き書式を自動的に適用することで、作業効率が大幅に向上します。ランキングの強調表示は、会議資料の作成や分析において視認性を高める有効な手段です。