• 締切済み

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% (7418/18948)
回答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

  • エクセルのVBAを使った条件付き書式

    VBAの初心者です。というか使ったことがありません。 4つ以上の条件付き書式はVBAが必要になるようなので困惑中です。 下記の条件付き書式をVBA作りたいと思っています。 「1」を含む値の場合セルの背景を黄色に 「2」を含む値の場合セルの背景を緑色に 「3」を含む値の場合セルの背景を水色に 「4」を含む値の場合セルの背景を赤色に 例) 1北海道 → セルの背景を黄色 2山形 → セルの背景を緑 これを実現するVBAのコードを教えてください。 また、そのコードをどこに貼付ければいいのでしょうか? まったくの初心者で申し訳ありません。

  • 条件付き書式

    いつも お世話になっています。 条件付き書式について教えて頂きたいのですが、 E3のセルが100.00以上の場合A1の背景を塗りつぶしたいのですが EXCEL2007で作業中なのですが A1を選択→ホーム→条件付き書式設定→セルの強調表示ルール →指定の値より大きい→E3を選択するとA1のセルの背景が 塗りつぶしになるのですが、 E3<100.00と入力すると塗りつぶしが消えてしまいます。 条件を入力するところが間違えていると思うのですが、 条件を100.00以上と指定するところはどこなのでしょうか? 宜しくお願いします。

  • エクセル2013 条件付き書式の複数条件について

    エクセル2013で、日ごとの実績を集計しています。 実績シートから、集計シートに、実績を引っ張ってきています。 (INDEX関数・MATCH関数・ISERROR関数などを使用) 条件付き書式で、(1)特定の曜日の列の背景を黄色くしています。 (=FIND(TEXT(P$5,"aaa"),$D6)・・・P5の曜日情報が、D6に含まれている場合に、塗りつぶしパターンの色はを黄色くしています。 また、(2)0の値を白にしています。 (セルの値が、0に等しいとき、フォントの色を白、塗りつぶしパターンの色は自動にしています。) その結果、(1)の曜日で、実績が0の場合は、背景が黄色・値が0で表示されます。 また、(2)の条件を、条件付き書式→ルールの管理で、最も上に持ってくると 0の値が白くなるのは良いのですが、背景も白くなってしまいます。 (1)の条件を満たして、実績が0の場合は、背景を黄色、文字列を黄色にしたいのですが、 条件付き書式で設定が可能でしたら、教えていただけないでしょうか。 ちなみに、引っ張ってきている値が0の場合、空白が表示されるようにしたのですが、「SUMPRODUCT((P20:AT20>0)*((P$4:AT$4=N20)))」で、P20:AT20にその空白が入っていても 実績が計上されてしまいます。 アドバイスいただけないでしょうか。

  • 条件つき書式で0

    条件付書式で「0」と入力した場合背景をピンクにしたい設定 (セルの値が次の値に等しいとき=0、背景=ピンク)したところ まだ数値をいれていないところまでピンクになってしまいました。 まだ値をいれていないセルは背景を透明(要するに普通の状態) にしておきたいのですが その場合はどのように設定したらよいのでしょうか? 私でもわかるように詳しくお願いいたします。

  • 条件付き書式4つ以上のVBAについて

    初心者なので基本的なことをお聞きするかもしれません。 エクセルのVBAを使って4つ以上の条件付き書式を設定したいと思いネットでいろいろと調べて設定しました。しかし,実際に他のワークシートから値をコピーして貼り付けても書式が変わりません。実際にセルに値を入力するときちんと書式が変わるのですが,コピー貼り付けではだめなのでしょうか?何かよい方法があれば教えてください。

  • 条件付書式の設定

    こんばんわ。うまく説明できないかもしれませんが、 たとえば、下のような表があります。   A B C 1 100 200 300 2 3 150 200 150 で、A3のセルがA1より大きい値ならセルの背景をかえる。B3のセルがB1より大きい値ならセルの背景をかえる。C3の値がC1より・・・という具合に列毎に条件がかわる場合、ひとつひとつ条件付書式を設定する以外に、簡単に書式設定できないでしょうか。 教えてください。よろしくお願いします。

  • 条件付き書式について Excel2007

    条件付き書式についてわからないことがあるので、質問させてもらいます。 ...|A|B|C|D| 1| 2| 3| とあるとき、D1に"○"があると、A1~C1のセル背景の色を変えるという条件付き書式がわかりません。 一応 =$D1="○" というのを作ったのですが、値のないセルにのみ色がついてしまいます。 わかる方がいれば教えてください。

  • 条件付書式設定がうまくできません

    EXCEL2000を使用しています。 ある範囲の最大値と最小値の色を変えたくて、 範囲指定をしてから 書式→条件付書式で 「セルの値が」「次の値に等しい」 「="max($E$3:$E$9)"」 と入力しました。 でも色は変わりません。 試しに最後の条件の欄に、「10」など具体的な数字を入れると変わります。 どなたか教えてください!

  • 2つのセル値が違う場合に使用する【条件付書式】

    お世話になります。 条件付書式だと思って調べたのですが、うまくいかず、お力をお貸しください。 セルH156 と セルP158 は、別の範囲の合計値を示しています。 本来は、これは同じ値のはずです。 作業上、その度に手作業で集計範囲を変えているので、操作ミスにより数値が違って出る場合があります。 その原因は、集計範囲の設定ミスですので、すぐに直せますが、 ・2つのセルの値が違っているということを、警告したいのです。 例えば、セルH159 にフォントの色を白くして「集計もれ」と入力しておき、 セルH156 と セルP158 の値が違うときは条件付書式で背景が赤くなれば、赤い背景に白い文字で「集計もれ」と浮かび上がるので、警告メッセージとして使えるかと思いました。 (素人考えです。もっと良い方法があるかとは思いますが) よろしくお願いします。

  • Excel2007で条件付き書式ルール設定

    セル範囲D7:G32にびっしりと0~9のいずれかの数字がはいってます。 セルK10に0~9の値のいずれかを入れると、その値にセル範囲D7:G32にある同値が反応して黄色くセルが塗り潰されるようにしたいので下記のようにやってみました。 条件付き書式で数式を使用…決定で =AND(D6=$K10,$K10<>″″)で黄色く塗り潰してOK、 適用先はD6:G32としました。 でも上手くいきませんでした。 どのようにすれば上手くいけますかね。