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

エクセルのVBAです。

指定されたセルの値をプルダウンで選択し、入力(選択)された値によって同じ列の指定した範囲に色を付ける、という内容です。

これを、一つの列のみで行う場合は、以下のコードでOKでした。
わからないのは、列の範囲が5~40まであり、それぞれ値を選択した時にそのセルと同じ列の指定範囲に色をつけることです。

ちなみに、条件付き書式は、すでに条件がいくつかついているため
使用できないという前提でお願いします)

ちょっと説明がわかりづらいですが、おわかりになる方いらっしゃいましたら教えてください。よろしくお願いします!!

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

Private Sub Worksheet_Change(ByVal Target As Range)

a = Cells(33, 5).Value

Select Case a

Case "A"
Range("E6:E31").Interior.ColorIndex = 6

Case "B"
Range("E6:E17").Interior.ColorIndex = 8
Range("E18:E31").Interior.ColorIndex = 2

Case "C"
Range("E18:E31").Interior.ColorIndex = 8
Range("E6:E17").Interior.ColorIndex = 2

Case ""
Range("E6:E31").Interior.ColorIndex = 2

End Select

End Sub
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Cells(33, 5)で
A を選択した時は、E6:E31を黄色で。
B を選択した時は、E6:E17を水色かつE18:E31を白
C を選択した時は、E18:E31を水色かつE6:E17を白
値なしを選択した時は、色なし(白)

A 回答 (1件)

Target.Row、Target.Column で変更されたセルの行、列が分かります。


また、Range("E6:E31") は Range(Cells(6, 5), Cells(31, 5)) と書き換えることができます。

あとは分かりますよね。
    • good
    • 0
この回答へのお礼

教えていただいたように書き換えたら、成功しました。
非常にわかりやすい回答をいただき本当に助かりました。
どうもありがとうございます!!

お礼日時:2009/07/09 12:15

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