[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロで複雑な条件付き書式設定』(yoshi)
次のようにSheet1の三つの範囲にそれぞれ4つ以上の条件付書式を設定したいのですが、可能でしょうか?
範囲「A1:A50」の条件
1.セルが空白の場合、セルの背景を「白」にする。
2.セルに「合格」の文字が入力された場合、セルの背景を「青」にする。
3.セルに「0〜5」の値が入力された場合、セルの背景を「黄」にする。
4.セルに「6以上」の値が入力された場合、セルの背景を「緑」にする。
範囲「B1:B50」の条件
1.セルが空白の場合、セルの背景を「白」にする。
2.セルに「合格」の文字が入力された場合、セルの背景を「青」にする。
3.セルに「0〜30」の値が入力された場合、セルの背景を「黄」にする。
4.セルに「31以上」の値が入力された場合、セルの背景を「緑」にする。
範囲「C1:C50」の条件
1.セルが空白の場合、セルの背景を「白」にする。
2.セルに「合格」の文字が入力された場合、セルの背景を「青」にする。
3.セルに「0〜10」の値が入力された場合、セルの背景を「黄」にする。
4.セルに「11以上」の値が入力された場合、セルの背景を「緑」にする。
Excel2003です。よろしくお願いします。
2003 だと条件付き書式は3種類までですが、 上記にない条件のときには背景色は何色なのでしょうか。
もしそれが白(1と同じ)であれば、残りの3つを条件付き書式で設定すれば 普通にできるかと思います。 そうでなければ下記を参照されてはどうでしょうか。 http://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi?phrase=%E6%9D%A1%E4%BB%B6%E4%BB%98%E3%81%8D%E6%9B%B8%E5%BC%8F+3%E3%81%A4 (Mook)
ANDで<>""を条件に付け加えてみてはどうでしょうか? =AND(A1<>"",A1>=0,A1<=5)
(momo)
次の場合は、マクロが必要になると思うのですが、どうでしょうか?
範囲「A1:A50」の条件
1.セルが空白の場合、セルの背景を「白」にする。
2.セルに「合格」の文字が入力された場合、セルの背景を「青」にする。
3.セルに「0〜5」の値が入力された場合、セルの背景を「黄」にする。
4.セルに「6〜9」の値が入力された場合、セルの背景を「赤」にする。
5.セルに「10〜14」の値が入力された場合、セルの背景を「オレンジ」にする。
6.セルに「15以上」の値が入力された場合、セルの背景を「緑」にする。
範囲「B1:B50」の条件
1.セルが空白の場合、セルの背景を「白」にする。
2.セルに「合格」の文字が入力された場合、セルの背景を「青」にする。
3.セルに「0〜30」の値が入力された場合、セルの背景を「黄」にする。
4.セルに「31〜34」の値が入力された場合、セルの背景を「赤」にする。
5.セルに「35〜39」の値が入力された場合、セルの背景を「オレンジ」にする。
6.セルに「40以上」の値が入力された場合、セルの背景を「緑」にする。
この場合、ゼロと空白の区別はつくでしょうか?
また、このように、ひとつのシートに複数の範囲を設定して条件を付けることは可能でしょうか?
(yoshi)
>ゼロと空白の区別はつくでしょうか? できます。 シートモジュールです。 ↓ Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:B50")) Is Nothing Then Exit Sub With Target If .Column = 1 Then Select Case .Value Case "" .Interior.ColorIndex = xlNone Case "合格" .Interior.ColorIndex = 5 '青 Case 0 To 5 .Interior.ColorIndex = 6 '黄 Case 6 To 9 .Interior.ColorIndex = 3 '赤 Case 10 To 14 .Interior.ColorIndex = 46 'オレンジ Case Is >= 15 .Interior.ColorIndex = 10 '緑 End Select ElseIf .Column = 2 Then Select Case .Value Case "" .Interior.ColorIndex = xlNone Case "合格" .Interior.ColorIndex = 5 '青 Case 0 To 30 .Interior.ColorIndex = 6 '黄 Case 31 To 34 .Interior.ColorIndex = 3 '赤 Case 35 To 39 .Interior.ColorIndex = 46 'オレンジ Case Is >= 40 .Interior.ColorIndex = 10 '緑 End Select End If End With End Sub (kei)
keiさんのを元にして複数範囲の変更に対応。 (範囲を選択してCtrl+Enterで確定とか、範囲を選択してDeleteキーで一括削除等)
Private Sub Worksheet_Change(ByVal Target As Range) Dim WK_RANGE As Range
If Intersect(Target, Range("A1:B50")) Is Nothing Then Exit Sub
For Each WK_RANGE In Intersect(Target, Range("A1:B50")) With WK_RANGE If .Column = 1 Then Select Case .Value Case "" .Interior.ColorIndex = xlNone Case "合格" .Interior.ColorIndex = 5 '青 Case 0 To 5 .Interior.ColorIndex = 6 '黄 Case 6 To 9 .Interior.ColorIndex = 3 '赤 Case 10 To 14 .Interior.ColorIndex = 46 'オレンジ Case Is >= 15 .Interior.ColorIndex = 10 '緑 End Select ElseIf .Column = 2 Then Select Case .Value Case "" .Interior.ColorIndex = xlNone Case "合格" .Interior.ColorIndex = 5 '青 Case 0 To 30 .Interior.ColorIndex = 6 '黄 Case 31 To 34 .Interior.ColorIndex = 3 '赤 Case 35 To 39 .Interior.ColorIndex = 46 'オレンジ Case Is >= 40 .Interior.ColorIndex = 10 '緑 End Select End If End With Next End Sub
(独覚)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.