• ベストアンサー

Excelの「リスト」でセルに”着色”したいんだけど!

Excel2003を使用しています。 データ-->入力規制-->リストでセルに「設定文字(5種類)」を入力していますがそれと同時にそれぞれの色5種類をセルに「着色」したいのですが出来ますでしょうか?宜しくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

#02です >例えばA1~E10の範囲に背景色を付ける方法 ちゃんと先の回答に書いたのですがねぇ(^^; Const trg As String = "A1" ' "A1:A3"のように複数セルでもよい A1:E100にしたいなら3行目を  Const trg As String = "A1:E100" にします。 蛇足ですが、#02のマクロは複数セル範囲を同時に更新した場合には対応していません。それは「リストから選択入力する」と書かれていたからです。でもA1:E100という補足を見て、複数セルの同時更新も対応した方がよいように感じました。その場合のマクロは以下になります Private Sub Worksheet_Change(ByVal Target As Range) Dim rng, r As Range Const trg As String = "A1:E100" ' "A1"のように単一セルでもよい  Set rng = Intersect(Target, Range(trg))  If Not rng Is Nothing Then   For Each r In rng    Select Case r.Value      Case Is = "A" 'もし入力されたのが"A"ならば       r.Interior.ColorIndex = 3 '背景色を赤にする      Case Is = "B" 'もし入力されたのが"B"ならば       r.Interior.ColorIndex = 4 '背景色を黄緑にする      Case Is = "C" 'もし入力されたのが"C"ならば       r.Interior.ColorIndex = 5 '背景色を青にする      Case Is = "D" 'もし入力されたのが"D"ならば       r.Interior.ColorIndex = 6 '背景色を黄色にする      Case Is = "E" 'もし入力されたのが"E"ならば       r.Interior.ColorIndex = 7 '背景色をマゼンダにする      Case Else       r.Interior.ColorIndex = xlNone    End Select   Next r  End If End Sub

yoshiki3
質問者

お礼

zap35さん有り難う御座いました、出来ました。 1回目の回答で範囲指定の方法も記述されていたのですね! うっかり見落としてしまいました。 今後とも宜しくお願いします。

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

条件付き書式は3つまでしか指定できないのでマクロを使うことになりますね サンプルマクロを掲載しますので、以下のマクロをシート名タブ右クリック→コードの表示で開く画面に貼り付けてください。ワークシート画面に戻りA1セルにA,B,C,D,Eのいずれかを入力すると背景色が変わります。 入力規則のリストで選択入力する文字列で  Case Is = "A~E" の5箇所を書き換えてください。 また入力規則でリストから入力するセルのアドレスを、マクロの3行目の  Const trg As String = "A1" に記述してください Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Const trg As String = "A1" ' "A1:A3"のように複数セルでもよい  Set rng = Intersect(Target, Range(trg))  If Not rng Is Nothing Then    Select Case rng.Value    Case Is = "A" 'もし入力されたのが"A"ならば     rng.Interior.ColorIndex = 3 '背景色を赤にする    Case Is = "B" 'もし入力されたのが"B"ならば     rng.Interior.ColorIndex = 4 '背景色を黄緑にする    Case Is = "C" 'もし入力されたのが"C"ならば     rng.Interior.ColorIndex = 5 '背景色を青にする    Case Is = "D" 'もし入力されたのが"D"ならば     rng.Interior.ColorIndex = 6 '背景色を黄色にする    Case Is = "E" 'もし入力されたのが"E"ならば     rng.Interior.ColorIndex = 7 '背景色をマゼンダにする    Case Else     rng.Interior.ColorIndex = xlNone    End Select  End If End Sub 色番号(ColorIndex)は下記URLを参照して、好きな色に変更してください http://furyu.tea-nifty.com/annex/2006/05/excel_cab9.html

yoshiki3
質問者

補足

zap35さん回答有り難う御座います。 すみませんがもう少し教えて下さい。 私は「マクロ」初心者というより、Excel初心者です。 指示通りのマクロを貼り付け、実行出来る様になりました。 が、これだとA1セルだけしか「背景色」を付ける事が出来ない様です、例えばA1~E10の範囲に背景色を付ける方法を教えて欲しいのですが、宜しくお願いします。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

メニューの書式-->条件付書式 でいけるかと思いましたが、手元のExcel2000だと条件3つまでですねぇ。 EXCEL2003ではどうでしょう? これでだめならマクロ(VBA)ですね。

関連するQ&A