プロが教える店舗&オフィスのセキュリティ対策術

マクロを利用して、セルの値に応じてセルに色を付ける方法について教えて下さい。

A列の値がA~Dの場合、A列~最終列のセルをそれぞれの色で塗りつぶしたいと思っております。

アドバイスの程、よろしくお願い致します。

A 回答 (3件)

個人的にはNo.1さんと同じく条件付き書式がいいと思います。



ただ任意のタイミングで色づけするといった事情もあるかと思いますので、簡単に作ってみました。

Sub test()
 For i = 1 To ActiveCell.SpecialCells(xlLastCell).Row
  If Cells(i, "A").Value = "A" Then Rows(i).Interior.ColorIndex = 6 '黄
  If Cells(i, "A").Value = "B" Then Rows(i).Interior.ColorIndex = 3 '赤
  If Cells(i, "A").Value = "C" Then Rows(i).Interior.Color = RGB(0, 255, 255) '水色
  If Cells(i, "A").Value = "D" Then Rows(i).Interior.Color = RGB(0, 0, 255) '青
 Next
End Sub
    • good
    • 4

エクセル2007以上なら条件付き書式設定(条件数がほぼ無制限)ですが、エクセル2003以下ならマクロ(VBA)になります。



一例です。
対象シートタブ上で右クリック→サンプルコード貼り付けてお試しください。

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column <> 1 Then End
For Each a In Target
Select Case a.Value
Case "A": wk = 3 '赤
Case "B": wk = 4 '緑
Case "C": wk = 5 '青
Case "D": wk = 6 '黄
Case Else: wk = xlNone '塗りつぶしなし
End Select
Range(a, _
Cells(a.Row, Columns.Count).End(xlToLeft)).Interior.ColorIndex = wk
Next
End With
End Sub
    • good
    • 0

条件付き書式ではなく、どうしてもマクロにこだわりがあるのですか?



条件付き書式なら簡単です。
    • good
    • 10

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