• 締切済み

ExcelのVBAで条件書式設定をしたい

VBAで4つ以上の条件で書式設定をしたいのです。 A列には会員番号、B列には会員ステータスです。  A      B 123     Aランク  456     Bランク  789     Cランク 321     Dランク 654     Eランク 987     Fランク B列のプルダウンメニューから会員ステータスを選ぶと、A列の会員番号がそれぞれランク別の色に変わるという設定にしたいのです。 例えば、Aランクだったらピンク、Bランクだったら黄、Cランクだったら青、Dランクだったら赤、Eランクだったらオレンジ、Fランクだったらグレーと会員番号のセルに反映されるようにしたいです。 どうかよろしくお願いいたします。

みんなの回答

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> If Target.Column = 2 Thenは、2→7で はい、その通りです。 > Target.Offset(0, -1)は、(7, 6)とすればいいのではないですか? それではTarget(入力セル)の7行下6列右ということになります。 G列に入力した場合F列を変えるのならTarget.Offset(0, -1)のままです。

blukissen
質問者

お礼

merlionXXさん、 迅速な回答をありがとうございました。 お陰様でできました。 これに加えて更に別の質問がありますが、質問内容がまた異なってきますので、別レスで質問したいと思います。 また、よろしくお願いいたします。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

そのような設定をしたいシートのシートタブを右クリックして、「コードの表示」 出てきたシートモジュールに以下をコピペします。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then Select Case Target.Value Case "Aランク": c = 7 Case "Bランク": c = 6 Case "Cランク": c = 5 Case "Dランク": c = 3 Case "Eランク": c = 46 Case "Fランク": c = 15 Case Else: c = xlNone End Select Target.Offset(0, -1).Interior.ColorIndex = c End If End Sub

blukissen
質問者

補足

早速回答をありがとうございました。 しかし、まだできません。 質問では、A列とB列としましたが、それがF列が会員番号でG列が会員ステータスの場合は、どうなりますか? If Target.Column = 2 Thenは、2→7で Target.Offset(0, -1)は、(7, 6)とすればいいのではないですか? でもこうしてもマクロがうまく動いてくれません。 どうしたらいいのでしょうか?

関連するQ&A