
エクセルで大きな表や複雑なデータを扱っていると、「あれ?今どのセルにいるんだっけ…?」と、カーソルを見失ってしまうことってありませんか?
特に横に長いデータや、たくさんの人が入力する共有ファイルでは、目が疲れてしまったり、違うセルをうっかり見てしまったりして、ミスにつながることも。
この記事では、そんなお悩みを一発で解決する、アクティブセルを自動で色付けする方法を3つご紹介します。
【方法1:セルにフォーカス】手軽に色を付けて見やすくする方法

この方法は、エクセルに標準搭載されている「セルにフォーカス」というアドイン機能を利用します。設定がとても簡単で、すぐに試せるのが魅力です。
「セルにフォーカス」をクリック
- 「表示」タブをクリックします。
- 「セルにフォーカス」をクリック。
- 表示されたダイアログボックスの「セルにフォーカス」をクリックします。


使い方
インストール後、「セルにフォーカス」のツールバーが表示されます。このツールバーから、色やハイライトのスタイルを自由に選択できます。クリックするだけで、選択しているセルや行、列が自動で色付けされます。

フォーカスセルの色は下記のように好きな色に変えることが出来ます!
自分の好きな色に設定すれば少しテンション上がりますね!

【方法2:条件付き書式】設定次第で自由自在に色を付ける方法
続いての方法は「条件付き書式」を使います。

マクロを使わずに、指定した条件に応じて自動で色を変えることができます。
名前定義をする
まず、アクティブセルを判定するための「名前」を定義します。
- 「数式」タブをクリックします。
- 「定義された名前」グループの「名前の管理」をクリック。
- 「新規作成」をクリックします。
- 「名前」に active_cell と入力。
- 「参照範囲」に、以下の数式をコピー&ペーストします。 =ROW()=CELL(“row”)
- 「OK」をクリックしてウィンドウを閉じます。

条件付き書式を設定する
次に、定義した名前を使って色付けのルールを作成します。
- 色を付けたい範囲(例:A1からZ100など)を選択します。
- 「ホーム」タブをクリック。
- 「スタイル」グループの「条件付き書式」から「新しいルール」を選択します。
- 「数式を使用して、書式設定するセルを決定」を選択。
- 数式欄に =active_cell と入力します。
- 「書式」ボタンをクリックし、「塗りつぶし」タブから好きな色を選んで「OK」をクリック。

動作を有効にする
この状態ではまだ色が付かないため、以下のマクロを挿入して、アクティブセルの変更を検知させます。
VB.Net
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = True
End Sub
このコードは、画面の更新を促すだけの非常にシンプルなものです。
メリット・デメリット
マクロの知識がほとんど不要で、特定のセル範囲にのみ適用できます。
行全体・列全体の色付けには別の数式が必要で、手間がかかります。
【方法3:マクロ】ワンランク上の作業効率化を目指す方法
この方法は、VBA(マクロ)のコードを直接書き込むことで、より高度な動作を実現できます。
準備:マクロを有効にする
まず、「開発」タブを表示し、マクロの設定を「VBAプロジェクト オブジェクトモデルへのアクセスを信頼する」にチェックを入れて有効にします。

コードを貼り付ける
色を付けたいシートのタブを右クリックし、「コードの表示」を選択します。開いたVBAエディターに以下のコードを貼り付けます。
VB.Net
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static OldActiveRange As Range
If Not OldActiveRange Is Nothing Then
OldActiveRange.Interior.ColorIndex = xlNone
End If
Target.Interior.Color = RGB(255, 255, 204) ‘好きな色に変更可能
Set OldActiveRange = Target
End Sub

応用編:行全体・列全体にハイライトを付ける方法
単一のセルだけでなく、選択したセルの行全体や列全体に色を付けると、さらにデータが見やすくなります。
ここでは、例として「列全体にハイライトを付ける方法」を解説します。
- VBAエディターを開く 色を付けたいシートのタブを右クリックし、「コードの表示」を選択します。
- 以下のコードを貼り付ける 以下の新しいコードをコピー&ペーストします。もし以前のコードが残っていたら、一度すべて削除してから貼り付けてください。
Cells.Interior.ColorIndex = xlNone は、新しくセルを選択するたびに、シート全体のセルの色を一度クリアするためのコードです。これを入れないと、色を付けた跡が残ってしまいます。 Target.EntireColumn が、選択した列全体に色を付けるための命令です。
VB.Net
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ‘ ワークシート全体の色をクリア
Cells.Interior.ColorIndex = xlNone ‘ 選択された列全体に色を付ける Target.EntireColumn.Interior.Color = RGB(255, 255, 204) End Sub
行全体にハイライトを付けたい場合は、
同様の手順でTarget.EntireColumnの部分をTarget.EntireRowに書き換えるだけでOKです。
メリット・デメリット
複数シートにまとめて適用する、色付けと同時に別のマクロを動かすなど、自由自在なカスタマイズが可能です。
VBAの知識が少し必要で、ファイルを「Excel マクロ有効ブック(.xlsm)」で保存する必要があります。
まとめ:あなたにぴったりの方法を見つけよう!

3つの方法を比較してみましょう。
方法 | 手軽さ | 自由度 | 主なメリット | 主なデメリット | こんな人におすすめ |
セルにフォーカス | ◎ | △ | ツールバーで操作が簡単 | 一部のバージョンで非推奨 | とにかく手軽に試してみたい人 |
条件付き書式 | 〇 | 〇 | マクロ知識がほぼ不要 | 行全体・列全体の色付けは手間 | 特定の範囲だけ色付けしたい人 |
マクロ | △ | ◎ | 応用がきく、高度なカスタマイズが可能 | ファイル形式の変更が必要 | 継続的にエクセルを使いこなしたい人 |
ご自身のレベルや目的に合わせて、最適な方法を選んでみてください。どの方法も、日々のエクセル作業をぐっと快適にしてくれるはずです。この記事が、あなたのエクセル作業の効率アップに役立てば嬉しいです。
VBAお勧め本9選

これからVBAの勉強をしていきたい方やVBAを業務で使ってレベルを上げていきたい方などレベル別にお勧めの本を9つご紹介しています!
気になる方は下記の記事をご覧ください!
コメント