EXCELでデータが膨大になり、選択行を水平方向に移動したりする時に非常に分かりにくかった経験があります。疲れ目や老眼になると尚更です。
例えば同行で列をまたいでセルを選択する時に上下にずれてしまったり、横スクロールで選択行が分からなくなってしまったり…。行番号を覚えておけば良いのでしょうが、なかなかそういう習慣も身につかず…。
そこで、VBAと条件付き書式を利用して、セルを選択するたびに選択行の背景色を変更して一目でわかるようにします。コードは簡単ですし、条件付き書式なので背景色以外にも応用が利きます。
VBAに記述するコード
VBAに記述するのは下記の短いコードだけです。
動作を実行させたいシート(下記の場合はSheet1)のモジュールに書きます。
Option Explicit Private Sub WorkSheet_SelectionChange(ByVal target As Range) Application.ScreenUpdating = True End Sub
WorkSheet_SelectionChange は、ワークシート上で選択範囲が変更された時に呼び出されるメソッドです。
ByVAL は値渡し、target As Range は新しい選択範囲、
WorkSheet_SelectionChange(ByVal target As Range) として使用します。
Application.ScreenUpdating は画面の更新です。True ですので、ワークシート上で選択範囲が変更されるたびに画面を更新するということになります。
ワークシートの条件付き書式の設定
条件付き書式のルールを新たに作成します。数式を使用して書式設定しますので、下記数式を入力します。
CELL(検査の種類) はセル情報を得る関数です。この場合は検査の種類を row として、セルの行番号を取得しています。つまり、選択セルの行番号=行番号という条件になります。
書式設定は背景色などお好みで適当に設定してください。
=CELL("row")=ROW()
適用先の範囲を =$1:$1048576 とするとすべての行に適用されます。
以上、ご参考になれば幸いです。
皆さまにすべての良きことが雪崩のごとく起きますように。
コメント