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

強調表示させる

下の図を見てもらったほうが早いと思いますが、同一シート内の同一値セルがあれば強調表示させてみます。
17-1.jpg
このようなデータがあります。一見しただけでは「123」というデータがどこにあるのか探しにくいです。そこでA1を選択すると、それと同じ値を強調表示させるようにします。
17-2.jpg
A2セルに選択を変えるだけでこうなります。
17-3.jpg

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文にて選択したセル値とシート内の同じ値のセルは赤罫線で囲う処理をします。

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

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  • ▼お小遣い稼ぎしませんか?▼ 日々の生活にhappyをプラスする|ハピタス

    クレジットカード・FX口座を作るだけで簡単に3万円GETです。一切支出はありません。

置換 DATE COUNTIF 無料 変換 グラフ VLOOKUP XLSTART 日付 NA() SUMIF HLOOKUP MATCH 図形 INDEX SUM 目標 作業効率UP SUMIFS ワイルドカード フロー図 テンプレート ユーザー定義関数 印刷 条件付き書式 バーコード コピペ COLUMN TODAY 検索
  • 関西在住の30代サラリーマン。事務職で毎日Excelと戯れています。
    システム導入なんて資金が無い!Excelでなんとかやりたい零細中小の社長さん・事務員さんの力になればと思います。
    詳しいプロフィール


PAGE TOP ↑