こんにちは。いつもお世話になっております。
まさに標題の通りなのですが、有る位置のセル内に入れた数字によって設定済みの色でセルを
塗りつぶしたい場合、どのようにすれば宜しいでしょうか。
因みに現在は下記の通りに設定しております。
●現在の設定●
書式(D)→条件付き書式(D) にて
条件1(1)
数式が =$G2=1 であればセル色を黄緑
条件2(2)
数式が =$G2=2 であればセル色をピンク
条件3(3)
数式が =$G2=3 であればセル色を水色
◆この度、設定変更しなくてはならない背景◆
来月からセルG2に入れる数字が現状では1,2,3のみですが1,2,3,4,5と変更になる為。
(書式付き設定ではMAX3つまでしか設定できないように見受けられるので)
尚、当方はさほどエクセルに精通しておりませんのでマクロやVBAなど組んだ事が無く、かつ、
以前ちょっと挑戦しようと思ったのですが全く理解できなかった為、例えば関数などを用いて
設定出来る方法がありましたら例文を記載して戴けますと非常に助かります。
また、エクセルのヘルプで検索した結果
「VBAを使用してセルの塗りつぶしの色を変更する」というものを見つけたので閲覧↓
http://office.microsoft.com/ja-jp/excel/HA011366 …
したのですが、式らしきものを見つけたものの、その意味が理解できず、どのように記述して
よいのか判りませんでした。。。
以上、お手隙の方、いらっしゃいましたら何卒ご教授の程、お願い致します。
No.3ベストアンサー
- 回答日時:
#02です。
補足を見て変更しました。色番号はご自由に直してください
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, rng As Range
Const trg As String = "G2:G50" ' "A1:A3"のように複数セルでもよい
Set rng = Intersect(Target, Range(trg))
If Not rng Is Nothing Then
For Each r In rng
Select Case r.Value
Case Is = 1 'もし入力されたのが1ならば
Cells(r.Row, 1).Resize(1, 8).Interior.ColorIndex = 4 '背景色を黄緑
Case Is = 2 'もし入力されたのが2ならば
Cells(r.Row, 1).Resize(1, 8).Interior.ColorIndex = 7 '背景色をピンク
Case Is = 3 'もし入力されたのが3ならば
Cells(r.Row, 1).Resize(1, 8).Interior.ColorIndex = 8 '背景色を水色
Case Is = 4 'もし入力されたのが4ならば
Cells(r.Row, 1).Resize(1, 8).Interior.ColorIndex = 6 '背景色を黄色
Case Is = 5 'もし入力されたのが5ならば
Cells(r.Row, 1).Resize(1, 8).Interior.ColorIndex = 3 '背景色を赤
Case Else 'その他の値なら色を消す
Cells(r.Row, 1).Resize(1, 8).Interior.ColorIndex = xlNone
End Select
Next r
End If
End Sub
こんにちは。ご多忙中の所、早々にご回答戴きまして有難うございました!
Resize(1, 8)の 8 が色を付けたいセル数を示しているのですね♪
現時点ではA~Kまでですので Resize(1, 11) ですが、今後、表示すべき項目数が増える可能性が高く、
そうなるとおのずとセル色をつけるセル数も増えますので、これは本当に便利で、かつ助かりました!
まだまだ判らないプログラム?ですが、パッと見、ここはこんな事を指示してるんだろうなぁ…という
憶測がつく部分もありますので、以後、何かの時にはこちらをサンプルとして勉強がてら自分で作って
みようと思いました。
この年の瀬のお忙しい中、本当にほんと~に、どうも有難うございました!!
No.2
- 回答日時:
>例えば関数などを用いて設定出来る方法がありましたら
ありません。質問文にあるように条件付き書式は3条件までです。元の背景色を加えて4色まで塗り分けが可能ですが、5色以上はどうしてもマクロが必要です。マクロに手を出すつもりがないなら、残念ながらあきらめるしかありません。
セルの値によって色を変えるのはG2セルだけでよいならマクロは以下のようになります。マクロは値を入力するシートの「シート名タブ右クリック」→「コードの表示」で開く画面に貼り付けてください。
そしてシート画面に戻ってG2セルに値を入力してみてください。
もしG2以外も背景色を変えたいならマクロの3行目を修正してください
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Const trg As String = "G2" ' "A1:A3"のように複数セルでもよい
Set rng = Intersect(Target, Range(trg))
If Not rng Is Nothing Then
Select Case rng.Value
Case Is = 1 'もし入力されたのが1ならば
rng.Interior.ColorIndex = 4 '背景色を黄緑にする
Case Is = 2 'もし入力されたのが2ならば
rng.Interior.ColorIndex = 7 '背景色をピンクにする
Case Is = 3 'もし入力されたのが3ならば
rng.Interior.ColorIndex = 8 '背景色を水色にする
Case Is = 4 'もし入力されたのが4ならば
rng.Interior.ColorIndex = 6 '背景色を黄色にする
Case Is = 5 'もし入力されたのが5ならば
rng.Interior.ColorIndex = 3 '背景色を赤にする
Case Else 'その他の値なら色を消す
rng.Interior.ColorIndex = xlNone
End Select
End If
End Sub
色番号(ColorIndex)は下記URLを参照して、好きな色に変更してください
http://furyu.tea-nifty.com/annex/2006/05/excel_c …
この回答への補足
こんにちは。早々にご回答、有難うございました。
まずはお教え戴きましたものをコピペしましたら上手く行きました。有難うございました!!(感動♪)
しかし…。説明を割愛しておりました為に、これではまだ不十分な完成でございます。
もしもお手隙なお時間がおありでしたら、下記の点を加味したマクロをご教授戴けましたら助かります。
●G2~G50までに値を入れると、その行のセル色を自動的に変えるようにしたい。例えば…↓
G2に1を入力したらA2~K2全部のセルを黄緑にしたい。
G2に2を入力したらA2~K2全部のセルを水色にしたい。
G2に3を入力したらA2~K2全部のセルを薄紫にしたい。
G2に4を入力したらA2~K2全部のセルをピンクにしたい。
G2に5を入力したらA2~K2全部のセルをスカイブルーにしたい。
G3に1を入力したらA3~K3全部のセルを黄緑にしたい。
G3に2を入力したらA3~K3全部のセルを水色にしたい。
G3に3を入力したらA3~K3全部のセルを薄紫にしたい。
G3に4を入力したらA3~K3全部のセルをピンクにしたい。
G3に5を入力したらA3~K3全部のセルをスカイブルーにしたい。
:
:
:
G50に1を入力したらA50~K50全部のセルを黄緑にしたい。
G50に2を入力したらA50~K50全部のセルを水色にしたい。
G50に3を入力したらA50~K50全部のセルを薄紫にしたい。
G50に4を入力したらA50~K50全部のセルをピンクにしたい。
G50に5を入力したらA50~K50全部のセルをスカイブルーにしたい。
以上となります。ご無理なさらず、もしもお時間がありましたらで構いません。宣しくお願い致します。
No.1
- 回答日時:
> ◆この度、設定変更しなくてはならない背景◆
をもっと詳しく教えて下さい。それによって条件の式で解決できるか出来ないかが決まります。
条件付書式は3つのパターンしか登録できませんので、5色に分けたいのでしたらVBAになると思います。
5つのパターンでも3色に塗り分けるのなら、条件付書式の式の書き方で対応できる可能性はあります。
この回答への補足
こんにちは。早々のご回答、有難うございます。
>もっと詳しく教えて下さい。
◆現時点では管理している人間が3名なので3色のセルで対応可能なのですが、来年から管理すべき
対象の人間が2名増えることから5色が必要になってきてしまったのです。
(現在:Aさん=1番 Bさん=2番 Cさん=3番 としており、セル位置G2に、この1,2,3
を入れることによって、誰のデータであるか一目見ればパッと判るようにしているのです)
従いまして5名いたら5色の設定が必要、というわけなのです。
ただ、どうしてもマクロでないと対応不可能であるならば、Bさんと今回新規に管理対象となる
Dさん(4番)とEさん(5番)のセル色を同一色(現在、Bさんデータのセル色はピンクなので
これを引継ぎ、ピンクとしても構わないかな…とは思っておりますが…。
どうしてもこれにせざるを得ない場合(私の技量がないばかりに…)の記述の仕方は 書式(D)→
条件付き書式(D) 内で、どのように記載すれば宜しいのでしょうか。
再度のご質問になってしまい誠に恐縮ですが、もしもお手隙なお時間がありました際には、どうぞ
ご教授願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
ロボットの住む世界で流行ってる罰ゲームとは?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
特定の複数のシートに同じ処理をさせたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
【Excel】貼り付けた画像がいつ...
-
excelの16進数表示方法
-
数字がセルの左側に寄っていて...
-
エクセル 入力中に表示されな...
-
エクセルで入力欄を明確にしたい
-
エクセル:セルのバックの色だ...
-
日付が1年以内になると他のセル...
-
エクセル 入力規則 貼付して...
-
Excel2013でセルの書式が勝手に...
-
エクセルの表に突然€(ユーロの...
-
エクセル カタカナの文字を検...
-
【Excel VBA】 条件付き書式の...
-
エクセルで同じ値が連続してい...
-
VBA 書式設定を保持したままセ...
-
エクセルでセルに設定されてい...
-
列全体に同様の条件付き書式を...
-
エクセルで入力数字に自動的に,...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
日付が1年以内になると他のセル...
-
【Excel】貼り付けた画像がいつ...
-
エクセル 入力中に表示されな...
-
数字がセルの左側に寄っていて...
-
エクセル カタカナの文字を検...
-
エクセルで同じ値が連続してい...
-
excelの16進数表示方法
-
エクセルで条件付き書式を使わ...
-
エクセルで縦書きのかっこ
-
エクセルで平均時間の表示の仕方
-
excel 表計算 加算するセルが空...
-
エクセルで入力数字に自動的に,...
-
条件付き書式で範囲外だったら...
-
Excel2013でセルの書式が勝手に...
-
エクセルで書式設定だけを固定...
-
Excel で金額の,で中央揃えす...
-
エクセル「一度設定した列幅を...
おすすめ情報