ナンバーやコードなど同じ値がある場合に背景色を変えるサンプルです。
もっと簡単に出来るかもしれませんが、今のところ私が思いついた方法です。
< スポンサーリンク >
サンプル
同じナンバーがある場合、黄色、水色、黄色、水色・・・と交互に背景色を変えていきます。
ナンバーが昇順に並んでいることを前提としています。
VBA
Sub test()
‘行ループ用
Dim i As Long
‘前の行のナンバー用
Dim NumPre As String
‘RGB値用
Dim R As Integer
Dim G As Integer
Dim B As Integer
‘前の行のナンバー用に””を代入しておく
NumPre = “”
‘RGBを黄色に設定しておく
R = 255
G = 255
B = 0
With ActiveSheet
‘2行目から最終行まで
For i = 2 To 25
‘前の行のナンバーと今の行のナンバーが同じ時は
If NumPre = .Cells(i, 2).Value Then
‘前の行と今の行の2列目まで背景色を変える
.Range(.Cells(i – 1, 1), .Cells(i, 2)).Interior.Color = RGB(R, G, B)
‘前の行のナンバーと今の次の行とナンバーが違う場合は色を変える
If NumPre <> .Cells(i + 1, 2).Value Then
‘Rが255(黄色)の時は青、そうでない時は黄色
If R = 255 Then
R = 189
G = 215
B = 238
Else
R = 255
G = 255
B = 0
End If
End If
End If
‘前の行のナンバー用変数に今の行のナンバーを代入
NumPre = .Cells(i, 2).Value
Next i
End With
‘終了のメッセージ
MsgBox “終了”
End Sub
同じ値のセルの背景色が変わりました。
こんな記事も書いています