VBA100本ノック 35本目:条件付き書式
こちらで公開されている、100本ノックに挑戦。
www.excel-ubara.com
素晴らしい教材を公開いただき、ありがとうございます。
上記リンク先から、問題文を転載。
行や列のコピー等と共に条件付き書式が増殖するのは、もはや宿命と言って
良いほど、定期的に遭遇する問題だと思う。
また、VBAで条件付き書式を設定することの是非についても、自分の中で
肯定派と否定派が定期的に順位を入れ替えている。
それはさておき、今回作成したのがこちら。
Sub VBA_100Knock_35() Dim TargetRange As Range Set TargetRange = Intersect(Range("B2").CurrentRegion, Union(Columns("E"), Columns("G"))) Cells.FormatConditions.Delete ' 一つ目の条件付き書式。 TargetRange.FormatConditions.Add Type:=xlExpression, Formula1:="=E2<1" TargetRange.FormatConditions(TargetRange.FormatConditions.Count).SetFirstPriority With TargetRange.FormatConditions(1).Font .Color = -16776961 .TintAndShade = 0 End With TargetRange.FormatConditions(1).StopIfTrue = False ' 二つ目の条件付き書式。 ' FormatContiions(1)としたことで、先に設定した条件付き書式が ' 二番目に繰り下がっている。 TargetRange.FormatConditions.Add Type:=xlExpression, Formula1:="=E2<0.9" TargetRange.FormatConditions(TargetRange.FormatConditions.Count).SetFirstPriority With TargetRange.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 255 .TintAndShade = 0 End With TargetRange.FormatConditions(1).StopIfTrue = True End Sub
※冒頭リンク先の解答例および解説も、ぜひご一読ください。
参考まで。