上位/下位ルール

条件付き書式の第二弾!上位/下位ルールについて、調べていきます

サンプルのVBAソースの詳細な説明は、第一弾の以下の「指定の値より大きい」を参照してください

■種類

まずはExcelのスタイルにある「条件付き書式」を開いてみます

条件付き書式
上位/下位ルール
条件付き書式
広告

簡単なものであれば、デフォルトで用意されている書式ルールを利用しても充分です

今回は「上位/下位ルール」について順に書式ルール毎に見ていきましょう

■上位/下位ルール

これはセルの値が上位や下位に含まれる場合に、セルを強調表示させるためのルールです

条件付き書式-上位/下位ルール
上位/下位ルール

一番下にある「その他のルール」を選択した場合は、以下のような新しい書式ルールの画面が表示されます

上位/下位ルール 3
その他のルール

「セルの強調表示ルール」でも使用した以下のデータをサンプルにして、条件付き書式を施してみます

条件付き書式-サンプルデータ
サンプルデータ

条件付き書式の対象範囲は、上図のサンプルデータの背景色が白い点数部分を対象として行います(範囲[Range]は「C4:K8」です)

・上位10項目

上位10項目に入る値のセルに対して、指定した書式を施します

条件付き書式-上位10項目

「上位10項目」を選択して、値が「10」の結果が以下になります

条件付き書式-上位10項目サンプル
上位10項目サンプル

– 書式ルールを確認

条件付き書式-上位10項目の編集
上位10項目の編集

– マクロで記録してみる

上位10項目の設定をマクロを使って、保存した結果が以下のVBAソースです

「上位」と「10」と「項目」というのが新しい項目で含まれているはずです

Sub Macro10()
'
' Macro10 上位10項目
'

'
    Range("C4:K8").Select
    Selection.FormatConditions.AddTop10
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    With Selection.FormatConditions(1)
        .TopBottom = xlTop10Top
        .Rank = 10
        .Percent = False
    End With
    With Selection.FormatConditions(1).Font
        .Color = -16383844
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

– マクロの説明

・簡単に説明

※VBAソースの詳細な説明は、その1の「指定の値より大きい」を参照

8行目:[AddTop10メソッド]で追加

9行目:優先順位の設定

10-14行目:条件の設定

  • .TopBottom = xlTop10Top は「上位」
  • .Rank = 10 は「10」
  • .Percent = False は「%ではない」

15-18行目:フォント設定

19-23行目:背景設定

24行目:条件を満たす場合は停止するかどうか

・上位10%

上位10%に入る値のセルに対して、指定した書式を施します

条件付き書式-上位10%

「上位10%」を選択して、値が「10」の結果が以下になります

条件付き書式-上位10%サンプル
上位10%サンプル

– 書式ルールを確認

条件付き書式-上位10%の編集
上位10%の編集

– マクロで記録してみる

「上位10項目」が「上位10%」と単位が変わっています

Sub Macro11()
'
' Macro11 上位10%
'

'
    Range("C4:K8").Select
    Selection.FormatConditions.AddTop10
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    With Selection.FormatConditions(1)
        .TopBottom = xlTop10Top
        .Rank = 10
        .Percent = True
    End With
    With Selection.FormatConditions(1).Font
        .Color = -16383844
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

– マクロの説明

・異なるところだけを説明

※VBAソースの詳細な説明は、その1の「指定の値より大きい」を参照

10-14行目:条件の設定

  • .TopBottom = xlTop10Top は「上位」
  • .Rank = 10 は「10」
  • .Percent = True は「%」

・下位10項目

下位10項目に入る値のセルに対して、指定した書式を施します

条件付き書式-下位10項目

「下位10項目」を選択して、値が「10」の結果が以下になります

条件付き書式-下位10項目サンプル
下位10項目サンプル

– 書式ルールを確認

条件付き書式-下位10項目の編集
下位10項目の編集

– マクロで記録してみる

「上位」が「下位」に変わっています

サブMacro12()
'
' Macro12 下位10項目
'

'
    Range( "C4:K8")。選択
    Selection.FormatConditions.AddTop10
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    Selection.FormatConditions(1)を使用
        .TopBottom = xlTop10Bottom
        。ランク= 10
        .Percent = False
    で終わる
    Selection.FormatConditions(1).Fontを使用
        .Color = -16383844
        .TintAndShade = 0
    で終わる
    Selection.FormatConditions(1).Interiorを使用
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
    で終わる
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

– マクロの説明

・異なるところだけを説明

※VBAソースの詳細な説明は、その1の「指定の値より大きい」を参照

10-14行目:条件の設定

  • .TopBottom = xlTop10Bottom は「下位」
  • .Rank = 10 は「10」
  • .Percent = False は「%ではない」

※8行目のAddTop10メソッドは変わらないのです

広告

・下位10%

下位10%に入る値のセルに対して、指定した書式を施します

条件付き書式-下位10%

「下位10%」を選択して、値が「10」の結果が以下になります

条件付き書式-下位10%サンプル
下位10%サンプル

– 書式ルールを確認

条件付き書式-下位10%の編集
下位10%の編集

– マクロで記録してみる

「下位10項目」が「下位10%」と単位が変わっています

Sub Macro13()
'
' Macro13 下位10%
'

'
    Range("C4:K8").Select
    Selection.FormatConditions.AddTop10
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    With Selection.FormatConditions(1)
        .TopBottom = xlTop10Bottom
        .Rank = 10
        .Percent = True
    End With
    With Selection.FormatConditions(1).Font
        .Color = -16383844
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

– マクロの説明

・異なるところだけを説明

※VBAソースの詳細な説明は、その1の「指定の値より大きい」を参照

10-14行目:条件の設定

  • .TopBottom = xlTop10Bottom は「下位」
  • .Rank = 10 は「10」
  • .Percent = True は「%」

・平均より上

平均より上に入る値のセルに対して、指定した書式を施します

条件付き書式-平均より上

「平均より上」を選択して、値が「より上」の結果が以下になります

条件付き書式-平均より上サンプル
平均より上サンプル

– 書式ルールを確認

条件付き書式-平均より上の編集
平均より上の編集

– マクロで記録してみる

「平均より」「上」という新しい項目が増えている

Sub Macro14()
'
' Macro14 平均より上
'

'
    Range("C4:K8").Select
    Selection.FormatConditions.AddAboveAverage
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    Selection.FormatConditions(1).AboveBelow = xlAboveAverage
    With Selection.FormatConditions(1).Font
        .Color = -16383844
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

– マクロの説明

・異なるところだけを説明

※VBAソースの詳細な説明は、その1の「指定の値より大きい」を参照

8行目:AddAboveAverageメソッドを使って追加

[AddTop10メソッド]ではなく、[AddAboveAverageメソッド]が使用されています

つまりは、[AddAboveAverageメソッド]が「平均より上または下の値だけを書式設定」を意味しています

10行目:条件の設定が1行になっている

  • AboveBelow = xlAboveAverage は「より上」

・平均より下

平均より下に入る値のセルに対して、指定した書式を施します

条件付き書式-平均より下

「平均より下」を選択して、値が「より下」の結果が以下になります

条件付き書式-平均より下サンプル
平均より下サンプル

– 書式ルールを確認

条件付き書式-平均より下の編集
平均より下の編集

– マクロで記録してみる

「平均より上」が「平均より下」に変わっている

Sub Macro15()
'
' Macro15 平均より下
'

'
    Range("C4:K8").Select
    Selection.FormatConditions.AddAboveAverage
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    Selection.FormatConditions(1).AboveBelow = xlBelowAverage
    With Selection.FormatConditions(1).Font
        .Color = -16383844
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

– マクロの説明

・異なるところだけを説明

※VBAソースの詳細な説明は、その1の「指定の値より大きい」を参照

10行目:条件の設定が変わっている

  • AboveBelow = xlBelowAverage は「より下」

※8行目のAddAboveAverageメソッドは変わらない

■最後に

今回は、「上位/下位ルール」のみで終わりにします

次回は、「データバー」「カラースケール」を調べます

ではでは

広告

やもす ʕ•͡-•ʔ

のんびり!のほほん!がモットーです!w 蕎麦食いたい ライブ行きたい 暑いの嫌い

シェアする