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

Excel関数の解説、関数サンプルと高等テクニック
公開日:2013-09-07 最終更新日: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 ・・・新着記事一覧を見る

ITエンジニアのための経理・会計・簿記入門|エクセル雑感(2026-09-12)
「Python in Excel」入門:コードを読むための基礎知識|エクセル関数応用(2026-09-10)
M言語入門:Power Queryのコードを読むための基礎知識|Power Query(M言語)入門(2026-09-09)
Excelの正規表現関数(REGEXTEST・REGEXREPLACE・REGEXEXTRACT)の使い方|エクセル関数応用(2026-09-08)
スピルとVBA(Formula2とスピル範囲の取得)|VBA入門(2026-09-08)
「Withの功罪」:コードを読みやすくする強力な道具と、その落とし穴|VBA技術解説(2026-09-03)
可変長配列をVSTACKする4つの方法|REDUCE・Thunk・チャンク・再帰分割|エクセル関数応用(2026-09-01)
Excel表とMarkdownテーブルを相互変換する数式|エクセル関数応用(2026-08-24)
「Python in Excel」数独(ナンプレ)解法プログラムの移植と最適化|エクセル関数応用(2026-08-14)
「Python in Excel」で自作関数を登録|アンピボット関数と計算順序|エクセル関数応用(2026-08-12)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.Excelショートカットキー一覧|Excelリファレンス
5.RangeとCellsの使い方|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.マクロとは?VBAとは?VBAでできること|VBA入門
8.繰り返し処理(For Next)|VBA入門
9.メッセージボックス(MsgBox関数)|VBA入門
10.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門




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


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



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