みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBAで4色以上の条件付書式を設定するには

こんにちは。
Sheet1のF4:DU53までの範囲で、ある文字が入ると自動でいろが変わるようにしたいのですが、コードを教えていただけないでしょうか。
できればこのようにしたいと思っています。A1:A10にキーワード、
B1:B10にキーワードに対する色を塗り、F4:DU53の範囲でセルにワードが入れば色がかわるようにしたいと考えています。
教えていただけないでしょうか?

投稿日時 - 2008-05-03 10:23:38

QNo.3994153

すぐに回答ほしいです

質問者が選んだベストアンサー

条件付き書式といえば、エクセル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
ほか多数

投稿日時 - 2008-05-03 11:38:38

お礼

imogashiさんこんにちは。
ばっちりでした。コードにすると短く見えるのですが、内容は自分ではこんがらがってしまって考えようがないものです。他にもいろいろ教えていただいて助かります。ありがとうございました。

投稿日時 - 2008-05-03 12:55:10

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問