アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCELのセルに入力した数字より背景色の塗りつぶしを行いたいのですがどうすればよいのでしょうか?

閲覧ありがとうございます。

今仕事の資料を作成しています。
かなりの初心者ですので、宜しくお願いします。

使用ソフトのバージョンは EXCEL 2003 SP3になります。

現在表を作成しており、行に数字を入れ、数字にあわせ背景色をつけたいと考えています。
※列で数値をCountifにより集計し、1がいくつ、2がいくつ・・・・とカウントしています。

セルには1~15の数字を入れ、それぞれ数字に合わせ自動で背景色を塗りつぶすことを行いたいと考えています。

書式の条件付書式により色をつけることを考えましたが、3つの条件までしか作ることが出来ずに困っています。

おそらくVBAやマクロ等を使用しないといけないと思いますが、可能なのでしょうか?

プログラミングの知識が無いので、ぜひご教授のほどよろしくお願いします。

「EXCELのセルに入力した数字より背景色」の質問画像

A 回答 (2件)

補足のご質問に気づかず回答が遅くなりました。

ごめんなさい。


>色をカスタマイズしたい

今のマクロで色を塗っているのは
h.interior.colorindex = h.value + 2
の一行です。つまりセルに記入した値に応じて1を記入したら3番の色,2を記入した4番の色という具合です。

何番が何色なのかは,たとえば下記の参考URLの「[色n] でn(1~56)に対応した色見本」のところの説明などを見て,何色を使いたいならそれは10番だなとか調べてください。

で。ご自分で一つずつ「カスタマイズ」したいのでしたら,そのようにマクロを書いてください。
セルに記入した値が1だったら色番号6にしたいとか,セルに記入した値が2なら3番の色にしようとかです。
マクロの書き方は色々ありますがそれらは今回の回答の範疇ではないので,シンプルにたとえば次のようにします。

変更前:
 if h = "" then
   h.interior.colorindex = xlnone
 else
   h.interior.colorindex = h.value + 2
 end if

変更後:
 if h.value = 1 then
  ’1=黄色
   h.interior.colorindex = 6
 elseif h.value = 2 then
  ’2=赤
   h.interior.colorindex = 3

 ’以下同文で必要なだけ追記してください。知識はなくてもマネはしてみてください。

 elseif h.value = 15 then
   h.interior.colorindex = 4
 else
   h.interior.colorindex = xlnone
 end if



#こちらの質問室は,こういった具合に追加の質問が寄せられていることに気づきにくい場合がある欠点があります。
 その意味でも,今回のように追加で聞きたいことが出てきたら,出来るだけ元のご質問はそれはそれで一回閉じて,新しいご相談として「ここまで教わったが,今度は新たにこうしたくなったらどうすればいいか」と新しいご質問で投稿し直すようにしてください。それを見たまた別のお詳しい方が,即座に良いアドバイスを回答してくださいます。

参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/user_ …
    • good
    • 0

>数字を入れ、それぞれ数字に合わせ自動で背景色を塗りつぶすことを行いたい



その場合,その数字が何個有るかは全く無関係に,数字が何だから何色に塗るというだけのお話になります。


手順:
ツールメニューのマクロのセキュリティを中にしてエクセルを再起動する
ブックを開く
シート名タブを右クリックしてコードの表示を選ぶ
現れたシートに下記をコピー貼り付ける

private sub worksheet_change(byval Target as excel.range)
 dim h as range
 on error resume next

 ’どこのセル範囲に色を塗りたいのか次の行で調整する
 set target = application.intersect(target, range("B2:D11"))

 if target is nothing then exit sub
 for each h in target
  if h = "" then
   h.interior.colorindex = xlnone
  else
   h.interior.colorindex = h.value + 2
  end if
 next
end sub

ファイルメニューから終了してエクセルに戻る
マクロに指定した範囲(サンプルではB2:D11の範囲)に数字を記入する。


なお,
>行に数字を入れ、数字にあわせ背景色をつけたい

ご相談に書かれたように「数字を記入する」のではなく,実はたとえば「数式を入れて計算させていました・他のセルの値を参照して表示させていました」のような場合は,このマクロは使えません。

この回答への補足

ありがとうございました。
数値入力後、背景色が変更されました。
求めていた回答でした。
また、設定の仕方まで丁寧に教えていただき、大変感謝しています。

後一点質問させていただきたいのですが、色のカスタマイズを行いたいと考えています。
1=黄色 2=赤 等自分で色を設定したい場合にはどこをどのように変更すればよいのでしょうか?

お手数お掛けしますが、よろしくお願いします。

補足日時:2010/06/10 14:15
    • good
    • 0

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