Excel(エクセル)の表を確認する時、選択したセルの行や列に自動で色が付くと便利ですよね。
クリックすることでアクティブセルが変わるたびに色が変わると、どの見出しを指し示しているか分かりやすくなります。
一見、素人には出来なさそうなこの自動化は、『条件付き書式』の利用と、『VBEへ特定のコードを貼り付ける』だけで、誰でも簡単に設定できます。
VBEは、マクロを実行するプログラムを編集するためのソフトのことで、一見堅苦しく感じるかと思いますが、実際の処理は非常に簡単なので安心してください。
この記事では、自動で行や列やセル単体を自動で色付けする4つのパターンの設定方法を紹介します。
また、フォントの色や太字で目立たせる設定方法も後半の見出しで紹介します。
選択セルの行や列を自動で色付けする4つのパターン
この記事で紹介する「色付けの自動化」は以下の4つのパターンです。
パターン1.行と列を色付け
アクティブセルの行と列の縦横方向に、クロスされるように色付けします。
パターン2.行を色付け
アクティブセルの行に色付けします。(横方向の色)
パターン3.列を色付け
アクティブセルの列に色付けします。(縦方向の色)
パターン4.アクティブセルに色付け
アクティブセルだけを単体で色付けします。
この4つのパターンの自動色付けを設定するために、必要なステップは、以下の2つです。遅くても、5分程度で終わる作業なので、ぜひ試してみて下さい。
自動色付けを設定
ステップ1.VBEに特定のコードを貼り付けする(全パターン共通のコード)
ステップ2.色付けしたいセル範囲に条件付き書式を設定
全パターン共通:VBEにコードを貼り付けする方法
まずは、VBEに特定のコードを貼り付ける必要があります。
VBEとは、「Visual Basic Editor」の略で、MicrosoftのExcelマクロのを実行するプログラムを編集するためのソフトのことです。
上で紹介した4パターンの色付けの中から、どのパターンを利用するにしても、必ずこの作業を行ってください。
手順1.『コードの表示』をクリック
エクセルのどのワークシートでもいいので、シート上で右クリックし、右クリックメニューの「コードの表示」を選択します。
手順2.VBEで『Worksheet』を選択
VBE「Visual Basic Editor」が起動します。画面右上あたりの「(General)」を、プルダウンリストから「Worksheet」を選択します。
手順3.VBEにコードを入力
以下のコードをコピペして、VBEのコードウィンドウに貼り付けします。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Calculate
End Sub
コード中央の「ActiveSheet.Calculate」は、選択したセルが変わるたびに、シート内の計算式が再計算されることを命令しているコードとなります。
「ActiveSheet.Calculate」の代わりに、「Application.ScreenUpdating = True」というコードでも、同様の意味をもたすことができます。
手順4.VBEを閉じる
コードの入力が終わったら、画面右上の「×」をクリックして、VBEを閉じて下さい。以上で、Excelブックの準備は完了しました。
手順5.Excelファイルを上書き保存
Excelファイルを上書き保存すると、「自動保存できません。マクロが有効なファイルの種類に保存してください」というメッセージが表示される場合があります。
この場合は、「名前を付けて保存」を押して、マクロ用のExcelファイルの拡張子「.xlsm」で保存してください。
この後は、4つの色付けのパターンに合わせた「条件付き書式」を設定するだけですべての作業が完了します。
条件付き書式の設定手順は、下の見出しでそれぞれ紹介します。
選択セルの『行』と『列』を自動で色付けする方法
VBEにコードを貼り付け終えたら、選択セルの行と列(縦横方向)を自動で色付けするための条件付き書式を設定します。
それでは、以下の手順に沿って作業してください。
手順1.「条件付き書式」の「新しいルール」をクリック
色付けを設定したいセル範囲を選択してから、「ホーム」 タブの「条件付き書式」から「新しいルール」 をクリックします。
手順2.ルールを設定するセルを設定
「新しい書式ルール」画面が表示されます。ルールの種類は「数式を使用して、書式設定するセルを決定」 を選択し、ルールとなる数式を編集する入力欄に、以下のコードを入力します。入力したら「書式」をクリックしてください。
👇貼り付ける数式
=OR(ROW()=CELL("row"),COLUMN()=CELL("col"))
コードに張った数式の意味は最後の見出しで紹介するね。
手順3.自動で表示したい色を決める
「セルの書式設定」画面の「塗りつぶし」タブのパターンの色から、自動で表示させたい色を決定します。設定し終えたら、右下の「OK」を押して画面を閉じて下さい。次の「新しい書式ルール」画面も「OK」を押して画面を閉じます。
手順4.条件付き書式の完成
以上で色で目立たせるための設定は完了です。表内のセルをクリックすると、自動で行と列の縦横方向にクロスするように色が付いたら、設定は成功しています。
もし、ファンクションキー「F9」を押さないと色が反映しないようであれば、上の見出しで紹介したステップ1のVBEのコードの登録を忘れている可能性があります。
選択セルの『行』を自動で色付けする方法
続いて、2パターン目の『行』を自動で色付けする方法の紹介です。
VBEにコードを貼り付け終えたら、選択セルの行(横方向)を自動で色付けするための条件付き書式を設定します。
条件付き書式に貼り付ける数式は、以下のとおりです。細かい手順は上の見出しで紹介したとおりです。
👇貼り付ける数式
=ROW()=CELL("row")
条件付き書式を設定した後に、クリックしたセルの行だけに色が付いたら設定は成功しています。
選択セルの『列』を自動で色付けする方法
続いて、3パターン目の『列』を自動で色付けする方法の紹介です。
VBEにコードを貼り付け終えたら、選択セルの列(縦方向)を自動で色付けするための条件付き書式を設定します。
条件付き書式に貼り付ける数式は、以下のとおりです。細かい手順は上の見出しで紹介したとおりです。
👇貼り付ける数式
=COLUMN()=CELL("col")
条件付き書式を設定した後に、クリックしたセルの列だけに縦方向の色が付いたら設定は成功しています。
アクティブセルだけを自動で色付けする方法
最後に、4パターン目の『アクティブセル』だけを自動で色付けする方法の紹介です。
VBEにコードを貼り付け終えたら、アクティブセル(選択したセル)だけを自動で色付けするための条件付き書式を設定します。
条件付き書式に貼り付ける数式は、以下のとおりです。細かい手順は上の見出しで紹介したとおりです。
👇貼り付ける数式
=AND(CELL("row")=ROW(), CELL("col")=COLUMN())
条件付き書式を設定した後に、クリックしたセル1つだけに色が付いたら設定は成功しています。
フォントと太字で行や列を自動で目立たせる方法
条件付き書式は「色」だけでなく、「罫線」や「フォントの色」や「フォントスタイル」で目立たせることもできます。
例えば、「書式設定」画面の「フォント」タブでスタイルを太字、色を赤色を設定します。
そうすると、以下のように、フォントの色と太字でセルを自動で目立たせることもできます。
セルの色付けを解除や編集する方法
セルの自動色付けを解除や編集したい場合は、「ホーム」タブの「条件付き書式」の「ルールの管理」から操作します。
色付けを解除(削除)する場合は、対象の条件を選択して「ルールの削除」ボタンをクリックしてください。
対象のセル範囲や書式、数式を変更する場合は、「ルールの編集」ボタンから行います。
自動の色付けを一時的に解除する場合は、「ルールの編集」ボタンから書式で設定した背景色を「色なし」で設定しておけば、見た目上、色はつかなくなります。
色付けに使った条件付き書式の数式の意味
行と列に色付けする場合は、条件付き書式に以下の数式を入力しました。
この数式の意味を簡単に紹介します。
=OR(ROW()=CELL("row"),COLUMN()=CELL("col"))
数式に使っている各関数の意味は以下の通りです。
CELL("row"):選択されている行番号を返します。
CELL("col"):選択されている列番号を返します。
row():選択しているセルの行番号を表示します。
column():選択しているセルの列号を表示します。
OR(A,B):条件A、もしくは条件Bを満たしているか判断します。
つまり、上記の「=OR(ROW()=CELL("row"),COLUMN()=CELL("col"))」という数式は、アクティブなセルの行番号や列番号が、選択セルと一致してるかを判定しています。