【VBA&関数】表の選択行をハイライトする方法

Excelで大きな表などを確認するとき、視線の横移動で行がずれてしまうとミスの原因になりますし、表が横方向に大きくなるほどストレスも大きいのではないでしょうか。

表をストライプ表示して見やすくするのもひとつの方法ですが、次の図のようにセルを選択している行をハイライト表示できればよりデータが見やすく、確認ミスも減ると思います。

このページでは選択セルの行を簡単にハイライト表示できるようにする設定方法を紹介します。

本当に簡単なので、ぜひ試してみてください。

目次

手順1:VBAへのコードの記述

VBAには次のコードをコピペします。

コピーする場所はThisWorkbookモジュールです。基本的には標準モジュールやシートモジュールにコピーしないよう注意してください。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.ScreenUpdating = True
End Sub

ただし、他のコードとの干渉問題などで、特定のシートのみ限定的に有効化したい場合は、該当のシートモジュールに次のコードをコピーしてください。(この場合はThisWorkbookモジュールに上のコードがないようにしてください。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = True
End Sub

これでVBA側の準備は終了です。

表への反映方法(条件付き書式)

次に、シートの中でハイライト表示したい部分(セル範囲)に条件付き書式を設定する方法を解説します。

まずは、次の図のように、ハイライトする表のデータ部分を選択した状態で、条件付き書式の「新しいルール」をクリックします。[ホーム ⇒ 条件付き書式 ⇒ 新しいルール]

次の設定画面が出てくるので、「数式を使用して、書式設定するセルを決定」をクリック

するとウインドウの下半分が次の状態に変わるので、数式欄に次の数式を入力し、「書式」ボタンを押して書式設定に進みます。

=CELL(“ROW”)=ROW()

    ※ この数式のコピペでエラーが発生する場合は、ダブルコーテーション(“)の部分だけ打ち直してみてください。

    書式設定画面ではハイライトで網掛けする色を選択してから、「OK」ボタンで決定します。

    参考に、冒頭に表示しているサンプル画像の色は、「その他の色」にある薄黄色です。

    新しい書式ルールの設定画面は次のようになっていると思いますので、問題なければ「OK」ボタンを押して確定します。

    これで設定は完了です。

    表の中にセルを選択してみて、その行がハイライトされているか確認してみてください。

    ちょっと一工夫

    前段では基本的な設定を紹介しましたが、これでは何も入力されていない行(6~10行目)もハイライト表示されてしまいます。

    特に問題があるわけではないですが、何もない行までハイライトされるのは少し格好が悪い気もしませんか?

    条件付き書式は数式で指定しているので、わずかな工夫を入れるだけでハイライト表示を入力のある行のみに限定することもできます。

    条件付き書式の数式を、例えば次のような数式に変更してみてください。

    ※ この数式のコピペでエラーが発生する場合は、ダブルコーテーション(“)の部分だけ打ち直してみてください。

    1. =AND(COUNTA($B2:$D2)<>0,CELL(“ROW”)=ROW())
    2. =AND($A2<>””,CELL(“ROW”)=ROW())
    ①の意味

    B~D列の入力欄(2~10行目)のうち、何も入力されていない行はハイライト表示しない。

    ②の意味

    A列に№が入力されていない行はハイライト表示しない。

    このような感じでハイライトの条件をカスタマイズできます。

    それでは今回は以上です。少しでも参考になれば幸いです。

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!

    コメント

    コメントする

    目次