※ ChatGPTを利用し、要約された質問です(原文:複数の条件付き書式をマクロで処理するには?)
エクセルマクロで複数の条件付き書式を処理する方法
このQ&Aのポイント
エクセルの条件付き書式では3つ以上の書式を設定できないため、マクロを使って複数の条件付き書式を処理する方法を教えてください。
条件は曜日が土日祝かつ%が100%の場合、曜日が土日祝かつ%が100%でない場合、曜日が土日祝でなく%が100%の場合、曜日が土日祝でも%が100%でもない場合、日付が過去の場合の5パターンがあります。
また、%の行にのみ条件を設定したいため、選択範囲の指定もマクロに組み込みたいと思っています。具体的なVBAの書き方を教えてください。
エクセルの条件付き書式で、3つ以上の書式を設定しなければなりません。
エクセルの機能では3つしか設定できないため、マクロで条件を設定しようと思いますが、方法が分からないので教えてください。
データは、
・あるセルに =today() で今日の日付データを持ってます。
・横軸は日付と曜日のデータが入ってます。
・縦軸はお店の名前が入っていますが、1行目が1~100%までの%の数値、2行目が1~1000までの整数が入っており、2行で1店というかたちで、その下の行にはまた違う店の名前が入ってます。
こんな感じです。↓
12/1 12/2 12/3 12/4 12/5
水 木 金 土 日
A店 100% 90% 80% 70% 60%
500 400 500 400 500
B店 30% 40% 50% 60% 100%
300 200 300 200 300
条件は以下の3つです。
(1)曜日が土日祝だったら背景色をグレーに(%と整数のセル両方)
(2)%の値が100%だったら文字色を青に(%の行のみ)
(3)上の日付が今日の日付より過去の日付だったら、セル・文字色とも赤色に(%、整数のセル両方)
上記の条件を設定する場合、条件は3つですが、曜日が(1)に該当しつつ%も(2)に該当する場合、曜日は(1)に該当するけど%は(2)に該当しない場合など複数のケースが想定されるため、実際に設定しなければいけない書式は以下の5パターンになるため、エクセルの条件付き書式ではできませんでした。
A. 背景=グレー、文字色=青
B. 背景=グレー、文字色=指定なし(黒)
C. 背景=指定なし、文字色=青
D. 背景=指定なし、文字色=指定なし(黒)
E. 背景=赤、文字色=赤
この場合、マクロで処理するしかないと思うのですが、どのようにVBAを書いたら良いでしょうか?
ちなみに(2)の条件は%の行には設定したいのですが、整数の行には設定したくないです。
いちいち%の行を選んでマクロ実行するのは面倒なので、選択範囲の指定もマクロに組み込みたいです。
お知恵をお貸しください。
よろしくお願いします!!
お礼
やりたいことができました! 表示形式で色の条件分岐ができるのを知らず、マクロのことばかり考えていました。 スピード解決できて感謝しております。 ありがとうございました!!