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

解決済みの質問

エクセルで入力した数字と同数のセルを着色したい

1~4の数字をエクセルの列に入力すると、自動的にその横のセルが数字分塗られるようにしたいのです。
具体的には、J1に1と入れると、K1ひとマスが青くなり、J2に4と入れると、K2,L2,M2,N2の4マスが青くなると言うように、数字を入れるとどの項目がどのレベルかと言うことが、表のように一目でわかるようにしたいのです。

マクロは全く素人ですので、わかるように教えて頂けると助かります。

皆様、宜しくお願い致します。

投稿日時 - 2011-03-30 11:18:23

QNo.6631373

すぐに回答ほしいです

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

エクセルのバージョンが記載されていませんので2003の例で説明します。

K1セルからL100セル(色を付けたい範囲)を選択し、「データ」「条件付き書式」で「数式が」にして「=11+$J1>COLUMN(K1)」の式を入力して「書式」でパターンタブで塗りつぶしの色を青に設定してください。

#Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

投稿日時 - 2011-03-30 11:55:43

お礼

ありがとうございます!出来ました!こんなに簡単にできるなんて、まるでマジックですぅぅぅ。。
本当にありがとうございました!
ビバ!OKwebです!

投稿日時 - 2011-03-30 12:56:52

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

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

回答(3)

ANo.3

訂正と補足です。

エクセル2003以前のバージョンの場合、条件付き書式は「データ」ではなく、「書式」メニューから選択してください。

エクセル2007以降のバージョンなら、ホームタブの条件付き書式から「新しいルール」で「数式を使用して・・・・・」を選択して、No1の回答の数式を入力し、「書式」から「塗りつぶし」タブで適宜色を選択してください。

投稿日時 - 2011-03-30 12:01:13

お礼

さっそくありがとうございます。魔法のように解決しました。
今回素早くご回答頂いた皆様、本当にありがとうございました。

投稿日時 - 2011-03-30 13:01:13

ANo.2

シートモジュールに書いてください。

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Columns("J")) Is Nothing Then
If IsNumeric(Target.Value) Then
If Target.Value > 0 And Target.Value = Int(Target.Value) Then
Target.Offset(, 1).Resize(, Target.Value).Interior.Color = vbBlue
End If
End If
End If
End Sub

素人なんでしょうけど、あとは自分で調べてください。

投稿日時 - 2011-03-30 11:57:24

お礼

さっそくありがとうございます。解決しました。
今回は別のやり方で解決しましたが、このやり方も試してみます。

投稿日時 - 2011-03-30 12:57:53

あなたにオススメの質問