• 締切済み

4つ以上の条件付き書式の設定

こんにちは。 他の質問をいくつか拝見したのですが、うまく活用できる内容がなかったので質問させて頂きます。 エクセルの条件付き書式の機能は3つまでしか設定できませんが、4つ以上設定したい内容があります。 他の質問を読むと、そういった場合VBAで対応するしかないみたいですね。 VBA初心者なので、どういった式にすればいいのか教えてください。 内容としては、 A1:AA100(仮定)の範囲において、 セルの値が"E0" "E1" "E2" "E3" "E4"だった場合、セルの背景を紺に セルの値が"P1" "P2" "P3"だった場合、セルの背景を青に セルの値が"D1" "D2" "D3"だった場合、セルの背景を水色に セルの値が"ABC"だった場合、文字色をオレンジに といった具合にしたいです。 A1:AA100の範囲内の各セルにはif関数が入っていて、 他のセルの情報によって"E0"だったり"E1"だったりと表示されるようになっています。 他の方の質問に回答で載っていたVBAを引用してやってみたのですが、 うまく自分の条件にあわせて編集ができず・・・。 どなたかお分かりになる方、よろしくご教示ください。 また、初心者なもんでそれをどういう手順で登録すればいいかもいまいち分かりません。 「Visual Basic Editorの標準モジュールに・・・」という説明も頂けると助かりますm(_ _)m あ、ちなみにwindowsXPを使用しています。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

入力時に反映なら、シート見出しを右クリックしてコード表示で開いたページに設定です。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then 'A列でなければマクロから抜ける If Target.Row >= 1 And Target.Row <= 100 Then '1~100行でなければマクロから抜ける Select Case Target '内容を比較 Case "E0", "E1", "E2", "E3", "E4" Target.Interior.ColorIndex = 55 '塗りつぶしを紺 Target.Font.ColorIndex = 0 '文字色を黒 Case "P1", "P2", "P3" Target.Interior.ColorIndex = 5 '塗りつぶしを青 Target.Font.ColorIndex = 0 '文字色を黒 Case "D1", "D2", "D3" Target.Interior.ColorIndex = 8 '塗りつぶしを水色 Target.Font.ColorIndex = 0 '文字色を黒 Case "ABC" Target.Interior.ColorIndex = xlNone '塗りつぶしを自動 Target.Font.ColorIndex = 46 '文字色をオレンジ Case Else Target.Interior.ColorIndex = xlNone '塗りつぶしを自動 Target.Font.ColorIndex = 0 '文字色を黒 End Select End If End If End Sub

mongolian
質問者

補足

早々のお返事ありがとうございます! さっそく試してみたのですが、 「実行時エラー'13':型が一致しません」というエラーが出てしまいました。。 デバッグをクリックしたところ、Case "E0", "E1", "E2", "E3", "E4"の行が黄色くマーキング表示されていました。 "E0"という表示を他の言葉で表現したかったので、教えて頂いたコードの"E0"の""内を変更はしたのですが、それが原因でしょうか(-_-;) ちなみに、 すでに入力されているデータにも、今後入力するデータにも反映できるようにするには、また別の形のコードになるのでしょうか? あと、当初質問した条件付き書式に加え、以下の内容も設定する必要がありました。。 あわせて設定は可能でしょうか? ややこしい質問になってしまってすみません。 --------------------------------------------------------- 範囲BA1:CA100(仮定)において、 (※さきほどの質問内容と同じ範囲に設定したいのですが、   設定したい条件の説明がしにくかったので記載例の範囲を先ほどと変えてます) $A10="A"の場合で、  AA10=""の場合⇒BA10の背景色無し、AB10=""の場合⇒BB10の背景色無し、AC10=""の場合⇒BC10の背景色無し…他同様    AA10=""ではない場合で、  AA10-AA9<=0の場合⇒BA10の背景を緑色、AB10-AB9<=0の場合⇒BB10の背景を緑色、AC10-AC9<=0の場合⇒BC10の背景を緑色…他同様  AA10-AA9=1もしくは2の場合⇒BA10の背景を黄色、AB10-AB9=1もしくは2の場合⇒BB10の背景を黄色、AC10-AC9=1もしくは2の場合⇒BC10の背景を黄色…他同様  AA10-AA9>=3の場合⇒BA10の背景を赤色、AB10-AB9>=3の場合⇒BB10の背景を赤色、AC10-AC9>=3 の場合⇒BC10の背景を赤色…他同様 $A10="A" ではない場合⇒最初の質問内容で求める条件付き書式を反映 --------------------------------------------------------- 以上補足です。 度々すみませんが、お知恵をください!

  • akio_myau
  • ベストアンサー率34% (515/1480)
回答No.1

まだ、ベータ版しか出ていませんがEXCEL2007では4つ以上も設定可能です。ちなみに以下のサイトよりベータ版はダウンロードできます。 ただし、あくまでもベータ版なので不具合等があるかもしれませんが。

参考URL:
http://www.microsoft.com/japan/office/preview/beta/overview.mspx
mongolian
質問者

お礼

4つ以上も可能になるんですね! うれしいニュースです。 今回は会社のPCで勝手にダウンロード(有料)ができない環境なので、ベータ版は断念します。。 情報 ありがとうございました<(_ _)>

関連するQ&A