VBAサンプル

ナンバーやコードなど同じ値がある場合に背景色を変えるサンプルです。

もっと簡単に出来るかもしれませんが、今のところ私が思いついた方法です。

 

< スポンサーリンク >



 

サンプル

同じナンバーがある場合、黄色、水色、黄色、水色・・・と交互に背景色を変えていきます。

ナンバーが昇順に並んでいることを前提としています。

同じ値

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

VBA

 

同じ値のセルの背景色が変わりました。

 

< スポンサーリンク >