Microsoft Excel VBA - 上のセルと同じ値が入力されているセルに色をつける方法

◆概要
 数値0が入力されているセルに色をつける方法では、数値0が入力されているセルに色をつける方法を紹介しました。

 このページは、Excel VBAで上のセルと同じ値が入力されているセルに色をつける方法について記載しています。
 データリストで、同じ値(たとえば契約番号)が続けて入力されているとき、これを区別したいときがあります。このようなときに利用するマクロです。
 Excel2019で動作確認済みです。

◆Sample
 次の例では、A列に契約Noが、B列に金額が入力されている場合に、A列の契約Noを調べ、上のセルと同じ契約Noが入力されているセルの色を黄色に、そうでないときはセルの色を緑色にします。

実行前サンプル

Sub test()
    Dim myRange As Object
    Dim stValue As String
    Dim Myamxrow As Integer
    
    Range("A1").Select
    
    ' カレントセルの範囲の最終行を求める
    mymaxrow = Range("A1").CurrentRegion.Rows.Count
    
    For Each myRange In Worksheets("Sheet1").Range(Cells(1, 1), Cells(mymaxrow - 1, 1))
        ' セルの値を変数に格納する
        strValue = ActiveCell.Value
        ' 一行下のセルを選択
        ActiveCell.Offset(1, 0).Activate
        If ActiveCell.Value = strValue Then
            ' 同じ値であればセルの色を黄色にする
            ActiveCell.Interior.Color = RGB(255, 255, 0)
            ' 同じ行の隣のセルも黄色にする
            ActiveCell.Offset(0, 1).Interior.Color = RGB(255, 255, 0)
        Else
            ' 違う値のときは、セルの色をシアンにする
            ActiveCell.Interior.Color = RGB(204, 255, 204)
            ' 同じ行の隣のセルもシアンにする
            ActiveCell.Offset(0, 1).Interior.Color = RGB(204, 255, 204)
        End If
    Next myRange
        
End Sub

◆実行結果
実行後サンプル


▼ページトップへ