アイコンセット

条件付き書式の第五弾!アイコンセットについて調べていきます

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

■種類

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

条件付き書式
アイコンセット
条件付き書式
広告

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

今回は「アイコンセット」について順に書式ルール毎に見ていきましょう

■アイコンセット

これはセルの値が特定の範囲の場合に、アイコンでセルを強調表示させるためのルールです

アイコンセット 3
アイコンセット

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

アイコンセット 4
その他のルール

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

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

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

・方向

指定した範囲の値のセルに対して、指定したアイコンを施します

種類と数の異なるアイコンセットを選ぶだけですね

– 書式ルールを確認

3つの矢印(色分け)

– マクロで記録してみる

3つの矢印(色分け)の設定をマクロを使って、保存した結果が以下のVBAソースです

Sub Macro40()
'
' Macro40 方向
'

'
    Range("C4:K8").Select
    Selection.FormatConditions.AddIconSetCondition
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    With Selection.FormatConditions(1)
        .ReverseOrder = False
        .ShowIconOnly = False
        .IconSet = ActiveWorkbook.IconSets(xl3Arrows)
    End With
    With Selection.FormatConditions(1).IconCriteria(2)
        .Type = xlConditionValuePercent
        .Value = 33
        .Operator = 7
    End With
    With Selection.FormatConditions(1).IconCriteria(3)
        .Type = xlConditionValuePercent
        .Value = 67
        .Operator = 7
    End With
End Sub

– マクロの説明

・簡単に説明

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

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

9行目:優先順位の設定

10-14行目:条件の設定

  • .ReverseOrder = False は「アイコンの順序を逆にしない」
  • .ShowIconOnly = False は「アイコンのみ表示」を「しない」
  • .IconSet = ActiveWorkbook.IconSets(xl3Arrows) は「3つの矢印」

15-19行目:2番目のアイコンの条件設定

  • .Type = xlConditionValuePercent は種類が「パーセント」
  • .Value = 33 は値が「33」
  • .Operator = 7 は演算子が「以上」[xlGreaterEqual]

20-24行目:3番目のアイコンの条件設定

  • .Type = xlConditionValuePercent は種類が「パーセント」
  • .Value = 67 は値が「67」
  • .Operator = 7 は演算子が「以上」[xlGreaterEqual]

※1番目のアイコンの条件設定は2番目と3番目の条件以外なので記載しません

・図形

指定した範囲の値のセルに対して、指定したアイコンを施します

ここでは「4つの信号」を例に見ていきます

– 書式ルールを確認

4つの信号

– マクロで記録してみる

方向と図形でどんな違いがあるのでしょうか?

Sub Macro41()
'
' Macro41 図形
'

'
    Range("C4:K8").Select
    Selection.FormatConditions.AddIconSetCondition
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    With Selection.FormatConditions(1)
        .ReverseOrder = False
        .ShowIconOnly = False
        .IconSet = ActiveWorkbook.IconSets(xl4TrafficLights)
    End With
    With Selection.FormatConditions(1).IconCriteria(2)
        .Type = xlConditionValuePercent
        .Value = 25
        .Operator = 7
    End With
    With Selection.FormatConditions(1).IconCriteria(3)
        .Type = xlConditionValuePercent
        .Value = 50
        .Operator = 7
    End With
    With Selection.FormatConditions(1).IconCriteria(4)
        .Type = xlConditionValuePercent
        .Value = 75
        .Operator = 7
    End With
End Sub

– マクロの説明

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

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

13行目:条件の設定

  • .IconSet = ActiveWorkbook.IconSets(xl4TrafficLights) は「4つの信号」

25-29行目:4番目のアイコンの条件設定

  • .Type = xlConditionValuePercent は種類が「パーセント」
  • .Value = 75 は値が「75」
  • .Operator = 7 は演算子が「以上」[xlGreaterEqual]

つまり方向と図形の違いとしては、アイコンセットの種類と4番目のアイコンが増えたことによる違いしかない!

・インジケーター

指定した範囲の値のセルに対して、指定したアイコンを施します

ここでは「3つのフラグ」を例に見ていきます

広告

– 書式ルールを確認

3つのフラグ

– マクロで記録してみる

インジケーターは何が違うのか!?って・・予想は付きますがw

Sub Macro42()
'
' Macro42 インジケーター
'

'
    Range("C4:K8").Select
    Selection.FormatConditions.AddIconSetCondition
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    With Selection.FormatConditions(1)
        .ReverseOrder = False
        .ShowIconOnly = False
        .IconSet = ActiveWorkbook.IconSets(xl3Symbols2)
    End With
    With Selection.FormatConditions(1).IconCriteria(2)
        .Type = xlConditionValuePercent
        .Value = 33
        .Operator = 7
    End With
    With Selection.FormatConditions(1).IconCriteria(3)
        .Type = xlConditionValuePercent
        .Value = 67
        .Operator = 7
    End With
End Sub

– マクロの説明

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

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

13行目:条件の設定

  • .IconSet = ActiveWorkbook.IconSets(xl3Symbols2) は「3つのフラグ」

違いについては、やはりそうですねー!予想通りでしたねーw

・評価

指定した範囲の値のセルに対して、指定したアイコンを施します

ここでは「5種類のボックス」を例に見ていきます

– 書式ルールを確認

5種類のボックス

– マクロで記録してみる

評価は何が違うんでしょうねっ!?・・もぅ、お判りでしょうけどw

Sub Macro44()
'
' Macro44 評価
'

'
    Range("C4:K8").Select
    Selection.FormatConditions.AddIconSetCondition
    Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
    With Selection.FormatConditions(1)
        .ReverseOrder = False
        .ShowIconOnly = False
        .IconSet = ActiveWorkbook.IconSets(xl5Boxes)
    End With
    With Selection.FormatConditions(1).IconCriteria(2)
        .Type = xlConditionValuePercent
        .Value = 20
        .Operator = 7
    End With
    With Selection.FormatConditions(1).IconCriteria(3)
        .Type = xlConditionValuePercent
        .Value = 40
        .Operator = 7
    End With
    With Selection.FormatConditions(1).IconCriteria(4)
        .Type = xlConditionValuePercent
        .Value = 60
        .Operator = 7
    End With
    With Selection.FormatConditions(1).IconCriteria(5)
        .Type = xlConditionValuePercent
        .Value = 80
        .Operator = 7
    End With
End Sub

– マクロの説明

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

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

13行目:条件の設定

  • .IconSet = ActiveWorkbook.IconSets(xl5Boxes) は「5種類のボックス」

25-29行目:4番目のアイコンの条件設定

  • .Type = xlConditionValuePercent は種類が「パーセント」
  • .Value = 60 は値が「60」
  • .Operator = 7 は演算子が「以上」[xlGreaterEqual]

30-34行目:5番目のアイコンの条件設定

  • .Type = xlConditionValuePercent は種類が「パーセント」
  • .Value = 80 は値が「80」
  • .Operator = 7 は演算子が「以上」[xlGreaterEqual]

特に説明は不要でしょう!?w

■最後に

・注意点

– 演算子

Excelの画面で設定を行う場合、演算子は選択式ですので、選べるものが決まっています

ただし、マクロで記載する場合は、[Operatorプロパティ]に設定する値のみなので、間違う危険性が含まれていますので、十分に注意してください!

ちなみに、下の右の絵のように間違うと実行時エラーが出ますw

演算子は選択式
演算子
アイコンセット 28
実行時エラー

・次回は

条件付き書式の中で、一番と言っても過言ではない使い方として、

「行全体の塗りつぶし」というのをよく見かけます!

一覧のどこかの列が、特定条件を満たしていた場合に、その行を色付けするという処理ですね!

これは実業務でもよく使っていましたので、「行全体」と「列全体」について、次回は記載していこうと思います!

ではでは

広告

やもす ʕ•͡-•ʔ

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

シェアする