- ベストアンサー
エクセルVBAで4色以上の条件付書式を設定するには
こんにちは。 Sheet1のF4:DU53までの範囲で、ある文字が入ると自動でいろが変わるようにしたいのですが、コードを教えていただけないでしょうか。 できればこのようにしたいと思っています。A1:A10にキーワード、 B1:B10にキーワードに対する色を塗り、F4:DU53の範囲でセルにワードが入れば色がかわるようにしたいと考えています。 教えていただけないでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
条件付き書式といえば、エクセル2007か否が回答に影響すると思う。補足のこと。 ーー 下記は条件付き書式と関係ないやり方。 下記テストの準備 A1:A10に a b c d e f g h i j を入れる(複雑な語句でも良い) B1:B10のセルパターン色を適当に設定する 下記例はF4:I10を対象ににする。 (読者の読みやすさや、回答者のテストのやりやすいよう、こういう狭い範囲で、A列の近くの例を挙げるのが気配りだと思うが。後は質問者の実際の場合に,あわせて修正すること。修正は通常簡単。) Sheet1のchangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo er1 If Target.Column >= 6 And Target.Column <= 9 And Target.Row >= 4 And Target.Row <= 10 Then If Target = "" Then Target.Interior.ColorIndex = xlNone Else p = Range("A1:A10").Find(What:=Target).Row MsgBox p Target.Interior.Color = Cells(p, "B").Interior.Color End If End If Exit Sub er1: MsgBox "not fond" Target.Interior.ColorIndex = xlNone End Sub -- MsgBox "not fond" はしつこいから、テストが終ったら削除が良かろう。 ーー コードの最初の範囲限定の部分は初心者用にIF文でややこしいが IntersectをWEBで調べ置き換えるのも良かろう。 Googleなどで検索語「Intersect VBA」 http://oshiete1.goo.ne.jp/kotaeru.php3?q=312058&rev=1 ほか多数
お礼
imogashiさんこんにちは。 ばっちりでした。コードにすると短く見えるのですが、内容は自分ではこんがらがってしまって考えようがないものです。他にもいろいろ教えていただいて助かります。ありがとうございました。