- 締切済み
excelでVBAを使い、あるセルの内容により別なセルに色をつける条件式
セルB9の内容が"休"だったら別なセル(C27:E27)に色(カラーインデックス36)をつけて、もし"休"以外の文字が入っていたら何もしない条件式を教えてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
VBAとして質問するまでも無く、マクロの記録で出来る問題では。 操作は セル範囲C27:E27を範囲指定。 書式ー条件付き書式ー数式がー式に =$B$9="休" パターン色を設定ーOK ーーー しかし質問の仕方が悪い。 対象セル(例C27:E27)が沢山在れば、範囲指定や見るセルが変わってくる場合がある。そこまでが質問に書いてない。 ーー VBAでやるとB9セルの値が変わったとき連動するプログラムは難しいのを知ってますか。 だから条件付書式の問題として質問すべきと思う。
- mt2008
- ベストアンサー率52% (885/1701)
シートをどう展開しているのか判りませんので何とも言えませんが、シート1~30とシート名が固定で決まっているのなら、以下の様にループを回してセルに着色してはいかがでしょう。 For i = 1 To 30 With Sheets("シート" & i) If .Range("B9").Value = "休" Then .Range("C27:E27").Interior.ColorIndex = 36 End With Next i
お礼
ありがとうございました。大変勉強になります。mt2008さんのおかげで成功しました。
- mt2008
- ベストアンサー率52% (885/1701)
If Range("B9").Value = "休" Then Range("C27:E27").Interior.ColorIndex = 36 もしかしてVBAではなくて、条件付書式のことだろうか?
お礼
早速のご回答ありがとうございます。うまくいきませんので詳しく教えて下さい。 あるシート(月間出勤表)を参照して毎日の作業計画書(シート1からシート30)までをマクロで自動的に展開しています。 先ほどのIf Range("B9").Value = "休" Then Range("C27:E27").Interior.ColorIndex = 36 ではシート4から後が条件が"休"でないのに色「ColorIndex = 36」が付いてしまいます。セルに色をつけないようにするにはどうしたらよろしいのでしょうか。
お礼
質問の仕方がまずかったようですね。うまくいきました。ありがとうございました。