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
◆実行結果
▼ページトップへ