- 締切済み
マクロ セルの値に応じてセルに色を付ける
マクロを利用して、セルの値に応じてセルに色を付ける方法について教えて下さい。 A列の値がA~Dの場合、A列~最終列のセルをそれぞれの色で塗りつぶしたいと思っております。 アドバイスの程、よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- luka3
- ベストアンサー率72% (453/623)
個人的には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
- mu2011
- ベストアンサー率38% (1910/4994)
エクセル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
- kqueen44
- ベストアンサー率43% (530/1214)
条件付き書式ではなく、どうしてもマクロにこだわりがあるのですか? 条件付き書式なら簡単です。