条件に応じて書式を変更する条件付き書式は、実務でとても役立つ機能の一つです。
2003までのExcelでは、条件を3つまで指定できるのですが、条件付き書式の便利さに気づいた方からは、
「条件付き書式で4つ以上の条件を指定したいのですが...?」
「条件付き書式で条件を4つ以上指定することはできないのでしょうか?」
といったご質問をいただくことがあります。
結論から言えば、Excel 2007では条件は無制限に指定できますが、2003までのExcelの[条件付き書式]機能で、条件を4つ以上指定することはできません。
4つ以上の条件を指定して、条件に応じて自動的に書式を変更する必要があるのならば、VBA(Visual Basic for Applications)で、イベントプロシージャを作成してください。
※B2:B11セルのフォント色が入力された値によって自動的に変更される例
Private Sub Worksheet_Change(ByVal Target As Range)
Dim intColor As Integer
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("B2:B11")) Is Nothing Then Exit Sub
Select Case Target.Value
Case Is <= 20
intColor = 3
Case 21 To 40
intColor = 46
Case 41 To 60
intColor = 9
Case 61 To 80
intColor = 10
Case Is > 80
intColor = 5
End Select
Target.Font.ColorIndex = intColor
B2:B11セルで、
20点以下「Case Is <= 20」
21点から40点まで「Case 21 To 40」
41点から60点まで「Case 41 To 60」
61点から80点まで「Case 61 To 80」
80点超「Case Is > 80」
という条件に応じてフォント色を変更する例です。
「If Intersect(Target, Range("B2:B11")) Is Nothing Then Exit Sub」という部分でB2:B11セルを書式変更の対象としています。他のセル範囲でこの機能を有効にするのなら、「Range("B2:B11")」の部分を修正してください。
Select Case文で、条件を指定して変数「intColor」に値を代入して、「Target.Font.ColorIndex = intColor」でフォントの色を実際に変更します。ここで指定している色については、「ColorIndexプロパティ値一覧」というネタで一覧にしていますのでご参照ください。
- Newer:描画キャンバスツールバーの出し方は?
- Older:日付フィールドの表示形式スイッチ一覧
Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » 条件付き書式で4つ以上の条件を指定−Worksheet_Change