初めて自分の家と他人の家が違う、と意識した時

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

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/11/29 20:40

条件付き書式は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_c …

この回答への補足

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

補足日時:2007/11/29 08:11
    • good
    • 0

メニューの書式-->条件付書式 でいけるかと思いましたが、手元のExcel2000だと条件3つまでですねぇ。



EXCEL2003ではどうでしょう?
これでだめならマクロ(VBA)ですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報