Excel VBA|選択中のセルの行と列をハイライトする方法

Excelは、数字や文字などのデータを表形式で管理・計算・分析するのに大変便利なツールですが、データーが増えてくると、行や列を間違えてしまうことがありますよね!

今回は、そんな悩みを解決する方法を紹介します。

この方法を使えば、以下のように選択したセルの行や列がハイライトするので、かなり見やすくなります。

\行をハイライト/

Highlight Row

\列をハイライト/

Highlight Column

\行と列をハイライト/

Highlight rows and columns

その方法は「条件付き書式」の設定と、簡単なマクロを組むだけです。

エクセル初心者の方でも簡単に設定できるように、使用する数式やコードはコピー&ペーストができるようにしてあります。

それでは、順番に解説していきますので、新しいExcelを立ち上げて始めていきましょう。

「条件付き書式」の設定

エクセルを立ち上げて、リボン「ホーム」>「スタイル」>「条件付き書式」をクリックして「書式のリスト」を表示させます。

1. Conditional formatting

①条件付き書式をクリック

適用範囲は後ほど設定しますので、この段階では任意のセルを選択した状態で問題はありません。

書式のリストの中から「ルールの管理」をクリックして「条件付きルールの管理」を開きます。

2. Rule management

②ルールの管理をクリック

「新規ルール」をクリックして「新しい書式ルール」を開きます。

3. New rules

③新規ルールをクリック

「新しい書式ルール」の画面が表示されたら、上段の「ルールの種類を選択してください」の一覧から「数式を使用して、書式設定するセルを決定」を選択します。

すると、下段が「ルールの内容を編集してください」という「編集画面」に切り替わります。

上段の「次の数式を満たす場合に値を書式設定」は、ハイライトさせる行や列を指定する数式を記入する欄で、下段のプレビューはハイライトの色などをを指定する欄です。
4. New formatting rules

④新しい書式ルール

5. Format value if it meets the following format

⑤次の書式を満たす場合に値を書式設定

次に、この画面で新しいルールを作っていきます。

「次の数式を満たす場合に値を書式設定」に数式を書き込む

この欄に書き込む数式によって「行」または「列」、もしくは「行と列の両方」と、ハイライトさせる位置が決まりますので、以下の条件の中から設定したい数式を選んでください。

【ハイライトさせる条件と数式】
条件1「行をハイライトさせる」数式
=CELL("ROW")=ROW()
条件2「列をハイライトさせる」数式
=CELL("COL")=COLUMN()
条件3「行と列の両方をハイライトさせる」数式
=OR(CELL("ROW")=ROW(), CELL("COL")=COLUMN())

 「次の数式を満たす場合に値を書式設定」の欄に「条件1~3」の何れかに該当する数式を貼り付けてください。(説明は「条件3」に該当する数式を使用しています)

6.Highlight rows and columns

⑥行と列をハイライトさせる数式

これで、「行と列の両方をハイライトさせる」設定ができました。次にハイライト(背景)の色を決めます。

ハイライトの色を選ぶ

「書式」をクリックして「セルの書式設定」を開きます。

7. Click the Format button

⑦書式ボタンをクリック

「セルの書式設定」の画面で「塗りつぶし」のタブを選択し、好みの背景色を選んで「OK」をクリックします。

8. Choose background color

⑧背景色を選ぶ

今回の説明では背景色だけを設定しますが、罫線を引いたり文字の太さや色を変えたりすることもできます。

⑨ 「新しい書式ルール」の画面にもどりますので、ルール編集の欄を確認して間違いがなければ「OK」をクリックします。

9. Check formatting rules

⑨書式ルールの確認

⑩ 「条件付き書式の管理」画面に戻ります。この段階でルールと書式は編集済ですが、適用する範囲が指定できていません。

10. Rules and formatting complete

⑩ルールと書式の設定完了

次に、設定したルール書式を適用する範囲を指定します。

適用する範囲の指定

⑪ 「適用先」欄の右側にある「⇓」ボタンをクリックします。

11. Click the Apply To arrow button

⑪適用先の矢印ボタンをクリック

⑫ 適用先(セルの選択)が指定できる画面に切り替わりますので、シート左上の「すべて選択」をクリックして、シート全体を指定します。

12. Select all cells

⑫すべてのセルを選択

「ctrl」を押しながら「A」を押しても、すべてのセルが選択できます。
⑬ 「条件付き書式ルールの管理」画面に戻りますので、以下のようにすべてのセルが選択できていることを確認して「OK」をクリックします。
13. Setting completed

⑬設定完了

以上で「条件付き書式」の設定は完了です。

次に、セルを移動するたびに色をつける命令のマクロを組んでいきます。

マクロとは、複数の操作をまとめて必要に応じて呼び出せるようにする機能で、ExcelではVBAというプログラム言語を使っています。

VBA【 Visual Basic for Applications 】 とは、Microsoft Officeに含まれるアプリケーションソフトの拡張機能で、利用者が簡易なプログラムを記述して実行することで複雑な処理の自動化などを行なうことができるもの。 また、そのために用意されたプログラミング言語。

VBA|マクロを組む

⑭ エクセルのリボン「開発」から「Visual Basic」をクリックして「Microsoft Visual Basic for Applications」を開きます。

14. Microsoft Visual Basic for Applications

⑭Microsoft Visual Basic for Applications

「Alt」を押しながら「F11」を押しても、「Microsoft Visual Basic for Applications」が開きます。

⑮ 「Microsoft Visual Basic for Applications」が開いたら、左側のナビゲーションから「ThisWorkbook」をダブルクリックします。

すると「ThisWorkbook(コード)」というウィンドウが表示されます。

15. ThisWorkbook(code)

⑮ThisWorkbook(コード)

「ThisWorkbook(コード)」の中に以下のコードを貼り付けてください。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.ScreenUpdating = True
End Sub

⑰ フロッピーディスクのマークをクリックして保存します。(「Ctrl」+「S」でも保存できます)

17. save

⑰保存

⑱ 以下の選択画面が出てきますので「いいえ」をクリックします。

18. Click_No

⑱「いいえ」をクリック

⑲ 保存ダイアログが出てきますので「ファイルの種類」を「Excelマクロ有効ブック(*.xlsm)」にして保存します。(ファイル名には制約がありませんので自由に名前を付けて保存してください)

19. Save as macro-enabled workbook

⑲マクロ有効ブックで保存

保存が完了したら「Microsoft Visual Basic for Applications」の右上の「×」ボタンを押して閉じます。

以上で、設定が完了しました。

この設定でうまく動作しない場合は「alt」+「F11」で「Visual Basic」を開き、もう一度上書きしてみて下さい。

それでも、うまく動作しない場合は「数式」または「コード」を見直してください。

最後に実践で大変役に立つ、行と列の色を使い分ける方法を紹介します。

行と列の色を分ける方法

今まで紹介してきた「条件付き書式」の設定では行と列の色を分けることはできませんが、「条件付き書式」を2種類にすると行と列の色を分けることができます。

Highlight rows and columns with different colors

行と列を別の色でハイライト

行をハイライトさせる「条件付き書式」と列をハイライトさせる「条件付き書式」を作る

この方法は「条件付き書式ルールの管理」画面から2種類の「新規ルール」を作るというもので、以下のように設定します。

Set rows and columns separately

この例では、上段が行をハイライトする「条件付き書式」で、下段が列をハイライトする「条件付き書式」になっています。

具体的な方法は、それぞれの「次の数式を満たす場合に値を書式設定」に以下の数式を貼り付け、背景色と適用範囲を設定します。(設定の手順は“「条件付き書式」の設定”と同じです)

「次の数式を満たす場合に値を書式設定」に貼り付ける数式
上段の数式(行をハイライト)
=CELL("ROW")=ROW()
下段の数式(列をハイライト)
=CELL("COL")=COLUMN()
タイトルとURLをコピーしました