書式 VBA 関数 EXCEL&VBA

エクセルでアクティブセルの行・列に色をつける方法

「アクティブセル」とは、現在選択されているセルのこと。

アクティブセルやその行・列に色がつくと視認性が向上し、大きな表をつかった作業時にはとても便利です。

そこで今回は『アクティブセルの行と列にをつける方法』です。



アクティブセルの行と列に色をつける

アクティブセルの行と列に色をつけるには、「条件付き書式」と「VBA(マクロ)」を組み合わせます。

「えー、VBAぇ!?」とげんなりした方もいらっしゃるかも知れませんが、VBAはほんの1行書き込むだけのシンプルなもの なので頑張りましょう。

条件付き書式を設定する

下のサンプル表を使います。


▲アクティブセルがハイライトされると嬉しい状況

まず、表のセル範囲を選択します。


▲セル範囲を選択

メニューの「ホーム」にある「条件付き書式」をクリックして「新しいルール」を選択します。

ダイアログが表示されたら、「数式を使用して、書式設定するセルを決定」を選択します。

ダイアログ下部の「次の数式を満たす場合に値を書式設定」の数式バーに、以下の数式を入力します。

OR(ROW( )=CELL("row"), COLUMN( )=CELL("col"))

数式の翻訳
「『行番号が選択したセルの行番号と一致する』OR『列番号が選択したセルの列番号と一致する』場合に書式設定する」、という意味です。

つぎに、条件に合致した場合の書式を設定します。
サンプルの場合は「塗りつぶし」を薄いグリーンに設定しました。


▲数式の条件を満たした場合の書式を設定

「OK」をクリックすると、その時点でアクティブセルの行と列が薄いグリーンでハイライトされます。


▲その時点でのアクティブセルに色がついた

さらに、アクティブセルだけを別の色にしたければ、もう一度表全体を選択した状態で もうひとつ条件付き書式を追加設定します;

AND(ROW( )=CELL("row"), COLUMN( )=CELL("col"))

最初に設定した数式とは、OR/AND が違うだけです。
数式の翻訳
「『行番号が選択したセルの行番号と一致する』AND『列番号が選択したセルの列番号と一致する』場合に書式設定する」、という意味です。

条件を満たした場合の「塗りつぶし」は、薄いグリーン以外の色を選択します。


▲アクティブセルには薄いイエローを選択


▲2つの条件付き書式を設定した状態

設定が完了すると、アクティブセルは以下のように表示されます。


▲アクティブセルだけは別な色でハイライトされた

ところが!
別のセルを選びなおしたときに、ハイライトが変わりません。


▲セルE5を選択しても、ハイライトがついてこない!

キーボードの「F9」を押して画面の更新をすると、ハイライトが更新されますが「こうじゃない!」という状況になります。

そこで「VBA」の登場です。

VBAのコードを書き込む

VBAを登録する場合、ファイル保存時の拡張子は通常の「.xlsx」ではなく「.xlsm(マクロ有効ブック)」で保存してください。

VBAに書き込む内容は『アクティブセルが変わったら画面の情報を更新してね』ってことだけ。

シート見出し(サンプルでは「Sheet1」と書いているタブ)上で右クリックします。
右クリックメニューの「コードの表示」をクリックします。

VBAのコード編集の画面が表示されるので、以下のように設定します。

赤枠&赤線部分に注意してください。

 赤枠:「 (General) 」→「 Worksheet 」に変更する
 赤線Target.Calculate と入力する。

実質的に入力するのは、Target.Calculate の一行のみです。
保存をすれば完了。

ワークシートに戻って、アクティブセルを変更してみましょう。
アクティブセルが変わるたびに、ハイライト部分が変わるはずです。


これが、別のセルを選択すると、、、


こうなる!

エクセルアクティブセルの行・列にをつける方法』は以上です。
その他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告






-書式, VBA, 関数, EXCEL&VBA
-, , , , , ,