アイコンセット
条件付き書式の第五弾!アイコンセットについて調べていきます
サンプルソースの詳細な説明は、第一弾の以下の「指定の値より大きい」を参照してください
■種類
まずはExcelのスタイルにある「条件付き書式」を開いてみます
簡単なものであれば、デフォルトで用意されている書式ルールを利用しても充分です
今回は「アイコンセット」について順に書式ルール毎に見ていきましょう
■アイコンセット
これはセルの値が特定の範囲の場合に、アイコンでセルを強調表示させるためのルールです
一番下にある「その他のルール」を選択した場合は、以下のような新しい書式ルールの画面が表示されます
「セルの強調表示ルール」でも使用した以下のデータをサンプルにして、条件付き書式を施してみます
条件付き書式の対象範囲は、上図のサンプルデータの背景色が白い点数部分を対象として行います(範囲[Range]は「C4:K8」です)
・方向
指定した範囲の値のセルに対して、指定したアイコンを施します
種類と数の異なるアイコンセットを選ぶだけですね
– 書式ルールを確認
– マクロで記録してみる
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つの信号」を例に見ていきます
– 書式ルールを確認
– マクロで記録してみる
方向と図形でどんな違いがあるのでしょうか?
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つのフラグ」を例に見ていきます
– 書式ルールを確認
– マクロで記録してみる
インジケーターは何が違うのか!?って・・予想は付きますが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種類のボックス」を例に見ていきます
– 書式ルールを確認
– マクロで記録してみる
評価は何が違うんでしょうねっ!?・・もぅ、お判りでしょうけど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
・次回は
条件付き書式の中で、一番と言っても過言ではない使い方として、
「行全体の塗りつぶし」というのをよく見かけます!
一覧のどこかの列が、特定条件を満たしていた場合に、その行を色付けするという処理ですね!
これは実業務でもよく使っていましたので、「行全体」と「列全体」について、次回は記載していこうと思います!
ではでは