エクセル関数応用
選択行の色を変える(条件付き書式,Worksheet_SelectionChange)

Excel関数の解説、関数サンプルと高等テクニック
最終更新日:2013-09-07

選択行の色を変える(条件付き書式,Worksheet_SelectionChange)


クリックまたはカーソルキーで選択セルを移動した場合に、


当該行の色を変更して目立たせたせる方法で、

条件付き書式と、シートのイベントであるWorksheet_SelectionChangeを使用します。

Worksheet_SelectionChangeイベントのみでやろうとすると、

直前の選択行の色を元に戻す必要がある為、

未選択行の色を戻す必要があり、事前にセルに色を付けたりできなくなってしまいます。

そこで、条件付き書式と、Worksheet_SelectionChangeイベントを組み合わせる事で、

自動的に元の色にもどるようにすることが出来ます。


条件付き書式

設定したいシートの設定したい範囲を選んで、


Excel2007以降

「ホーム」→「条件付き書式」→「新しいルール」→「数式を利用して、書式設定するセルを決定」

数式欄に、

=CELL("row")=ROW()

エクセル Excel サンプル画像

Excel2003

「書式」→「条件付き書式」→「数式が」

数式欄に、

=CELL("row")=ROW()

エクセル Excel サンプル画像


これだけですと、シートの再計算が行われると、


選択行の色が変更されるのが確認できるはずです。

再計算させるには、F9 または 適当なセルでDeleteキー押下で再計算されます。


そこで、選択セルが変更されたら、再計算されるようにすれば良い事になります。


Worksheet_SelectionChangeイベント

Visual Basic Editor(Alt+F11)を開いきます。

設定するシートを、ブロジェクトウインドウ(通常は左上のウインドウ)を、

ダブルクリック または 右クリックでコード表示

エクセル Excel サンプル画像

ここに、

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


これで、選択行の色が変わるようになったはずです。


ここでは、
Application.ScreenUpdating = True

これは、実際は何でも良く、再計算がされさえすれば良いのです。

なので、

Application.Calculation = xlCalculationAutomatic

これでも、なんら問題はありません。

まあ、一番影響のなさそうなものが、ScreenUpdatingかなーと言うだけです。

設定自体は、さほど難しいものではありませんので、

マクロ等が分からない方でも使えると思います。

個人的な意見としては、標準機能が合っても良いとは思いますね。

アクティブなセルの、列見出し・行見出しは色が変わりますので、

これを拡張してくれれば良いのではと思っています。

もっとも、Excel95までは、列見出し・行見出しの色も変わらなかったと記憶しています。



同じテーマ「エクセル関数応用」の記事

グラフで特定の横軸の色を変更し基準線を引く
OFFSET関数 解説・応用・使用例
MATCH関数 解説・応用・使用例
選択行の色を変える(条件付き書式,Worksheet_SelectionChange)
他ブックを参照できる関数、他ブックを参照できない関数
時間計算で困ったときの確実な対処方法
VLOOKUP 左側の列を取得(MATCH,INDEX,OFFSET)
SUMIF関数の良くある間違い
論理式とは条件式とは(IF関数,AND関数,OR関数)
先頭の数値、最後の数値を取り出す
最後の空白(や指定文字)以降の文字を取り出す


新着記事NEW ・・・新着記事一覧を見る

シート関数のCOUNTIFS,SUMIFS,MAXIFSと同じ処理|Power Query(M言語)入門(2023-02-28)
新旧マスタの差異比較|Power Query(M言語)入門(2023-02-28)
有効な最新単価の取得|Power Query(M言語)入門(2023-02-26)
有効な最新単価の取得|Power Query(M言語)入門(2023-02-21)
グルーブ内の最小・最大|Power Query(M言語)入門(2023-02-17)
2つのテーブルのマージ|Power Query(M言語)入門(2023-02-15)
「売上」が数値の行のみ取り込む|Power Query(M言語)入門(2023-02-13)
A列のヘッダー名を変更する|Power Query(M言語)入門(2023-02-11)
CSVのA列が日付の行だけを取り込む|Power Query(M言語)入門(2023-02-10)
列数不定のCSVの取り込み|Power Query(M言語)入門(2023-02-09)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロって何?VBAって何?|VBA入門
7.並べ替え(Sort)|VBA入門
8.エクセルVBAでのシート指定方法|VBA技術解説
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ