エクセル術

選択したセルと同じ値のセルがあれば目視で分かるように

強調表示させる

下の図を見てもらったほうが早いと思いますが、同一シート内の同一値セルがあれば強調表示させてみます。

このようなデータがあります。一見しただけでは「123」というデータがどこにあるのか探しにくいです。そこでA1を選択すると、それと同じ値を強調表示させるようにします。

A2セルに選択を変えるだけでこうなります。

Worksheet_SelectionChange

Worksheet_SelectionChange・・・ワークシートで選択しているセルに変更があれば毎回この処理を行う。
これを使用し、セル選択だけで強調表示の変更を処理します。
VBE画面のプロジェクトエクスプローラで実行したいシートへ下記のコードを記入します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim myRange As Range
    If Target.Cells.Count > 1 Then Exit Sub    ・・・①
    Application.ScreenUpdating = False
    For Each myRange In ActiveSheet.UsedRange    ・・・②
        With myRange
            .Borders(xlEdgeLeft).LineStyle = xlNone
            .Borders(xlEdgeTop).LineStyle = xlNone
            .Borders(xlEdgeBottom).LineStyle = xlNone
            .Borders(xlEdgeRight).LineStyle = xlNone
        End With
    Next
    If Target.Value = "" Then Exit Sub
    If Target.Value = 0 Then Exit Sub    ・・・③
    For Each myRange In ActiveSheet.UsedRange    ・・・④
        If myRange.Value = Target.Value Then
            With myRange.Borders(xlEdgeLeft)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = 3
            End With
            With myRange.Borders(xlEdgeTop)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = 3
            End With
            With myRange.Borders(xlEdgeBottom)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = 3
            End With
            With myRange.Borders(xlEdgeRight)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = 3
            End With
        End If
    Next
End Sub

①・・・Target.Cells.Countとは、いくつセルを選択しているか数字を返しますので、1以上であった場合はこの処理を中止します。
②・・・ここですべてのセルの罫線を消します。
③・・・空白、もしくは0の値の場合は処理を中止します。協調選択しません。
④・・・このFor文にて選択したセル値とシート内の同じ値のセルは赤罫線で囲う処理をします。

※注意※
途中で罫線をすべて消す処理を行っていますので、もともと罫線を引いている場合は消えてしまいます。
対策としては文字色を変える事で強調表示させればいいかな・・・と思います。

モバイルバージョンを終了