![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちは。
他の質問をいくつか拝見したのですが、うまく活用できる内容がなかったので質問させて頂きます。
エクセルの条件付き書式の機能は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を使用しています。
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
この回答への補足
早々のお返事ありがとうございます!
さっそく試してみたのですが、
「実行時エラー'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" ではない場合⇒最初の質問内容で求める条件付き書式を反映
---------------------------------------------------------
以上補足です。
度々すみませんが、お知恵をください!
No.1
- 回答日時:
まだ、ベータ版しか出ていませんがEXCEL2007では4つ以上も設定可能です。
ちなみに以下のサイトよりベータ版はダウンロードできます。ただし、あくまでもベータ版なので不具合等があるかもしれませんが。
参考URL:http://www.microsoft.com/japan/office/preview/be …
4つ以上も可能になるんですね!
うれしいニュースです。
今回は会社のPCで勝手にダウンロード(有料)ができない環境なので、ベータ版は断念します。。
情報 ありがとうございました<(_ _)>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのチェックボックスを...
-
エクセルで数字から名前に変...
-
Excel:セルに入力されている日...
-
エクセルでのNULLという文字列...
-
Excel VBAでオートフィルタ後...
-
BootCamp Excel セル内改行
-
エクセルでのセルをまたぐ文字...
-
2つのブックを左右平行に並べて...
-
結合されたセルに貼り付けたU...
-
昭和を西暦に変更して数値を取...
-
エクセル関数で…
-
pages で「テキストを左右両端...
-
Excel関数 「日付を入力...
-
エクセルでセルの統合
-
エクセルで漢字を数字に変換す...
-
VBAで「セルに何か入っている場...
-
ワードで文字がセルの下にもぐ...
-
EXCELのシート保護について
-
Excel VBA 自動で連番をわりふる
-
エクセルのセルの幅を変更した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのチェックボックスを...
-
エクセルで数字から名前に変...
-
Excel関数 「日付を入力...
-
Excel:セルに入力されている日...
-
エクセル 条件が成立した場合...
-
エクセルでのセルをまたぐ文字...
-
エクセルで縦書きルビの付け方
-
エクセルでのNULLという文字列...
-
エクセル関数で…
-
ワードで文字がセルの下にもぐ...
-
エクセルで漢字を数字に変換す...
-
Excel VBAでオートフィルタ後...
-
エクセル関数で「数値が入力さ...
-
エクセルで空白のセルを探して...
-
折り返して表示、縮小して表示...
-
エクセル 空白を除き左に詰め...
-
配列の逆行列が求められない(M...
-
エクセルで在庫表を作りたい
-
エクセル2007 番地の並び替え...
-
EXCELで連続していない数値を30...
おすすめ情報