Excelで横や縦に長い表の場合、アクティブセルのある行全体や列全体に塗りつぶしを設定すると、見やすくなることがあります。
行番号、列番号を見間違えることがなくミスの軽減にもつながります。条件付き書式を使って設定する方法です。
Excelで横に長い表を操作する場合、[ウィンドウ枠の固定]を使って列を固定して見やすくすることもできますが、それでも似たような数字が並んでいると見間違えやすいですね。
アクティブセルのある行に色を付けて見やすくできないかなと検索すると、たくさんヒットしました。その中でも一番分かりやすく設定しやすいと思ったのが、以下のページで解説されているものでした。
このページで解説されているとおりに設定して、とても便利になりました。(人-)謝謝 !
アクティブセルのある行・列を目立たせる:Excel エクセルの使い方-イベントプロシージャ/VBA
この記事の目次
条件付き書式の設定
今回、この設定方法を図説して記録しておきます。
まず、条件付き書式の設定をします。
設定したい範囲を選択します。
参考巨大な表の場合、表内の任意のセルを選択して、キーボードから[Ctrl]+[*](テンキー)を押すと便利です。テンキーがない場合は、[Ctrl]+[Shift]+[*]です。アクティブセル領域を選択するショートカットキーです。
[ホーム]タブの[スタイル]グループにある[条件付き書式]をクリックして、[新しいルール]をクリックします。
[新しい書式ルール]ダイアログボックスが表示されたら、[数式を使用して、書式設定するセルを決定]を選択して、[次の数式を満たす場合に値を書式設定]の数式ボックスに以下のように入力します。
=CELL("ROW")=ROW()
[書式]ボタンをクリックして、[セルの書式設定]ダイアログボックスの[塗りつぶし]タブから任意の色を選択します。
[OK]ボタンをクリックして閉じます。
条件付き書式を設定する場合は、以下の3つの要件が必要になります。
- 書式を設定する範囲
- どういう条件の時に設定するのか
- 条件が合致した場合の書式
CELL関数について
CELL関数は、セルの書式、位置、または内容に関する情報を返します。
CELL(検査の種類,[対象範囲])
引数"ROW"は、対象範囲の左上隅にあるセルの行番号を返します。
CELL 関数 - Microsoft サポート(Microsoft)
ROW関数について
ROW関数は、引数として指定された配列の行番号を返します。
ROW([範囲])
範囲を省略すると、ROW関数が入力されている行番号を返します。
CELL 関数 - Microsoft サポート(Microsoft)
条件付き書式の数式[=CELL("ROW")=ROW()]は、CELL関数で行番号が返されて、ROW関数は行番号を取得して、この2つが等しい時という条件になります。
参考以下の記事では、ROW関数を使って、途中の行を削除しても常に連番を表示する方法を解説しています。
-
[ROW関数]で行番号を使って常に連番を表示
関数を使って常に連番が並ぶようにすることができます。 行を削除しても連番を維持することができるので、番号を振り直す必要がありません。 この記 ...
条件付き書式のみで操作したい場合
もし、条件付き書式のみでアクティブセルの行に色を表示したいのであれば、セルを移動した後、キーボードから[F9]キーを押して更新してください。
キーボードによっては、[Fn]キーと[F9]キーを同時に押します。
VBAが使用できない環境などであれば、少々面倒かもしれませんが、[F9]キーを押すことで操作することができます。
ただし、シート内にRANDBETWEEN関数を使用している場合は、更新され新しい乱数が発生します。
[F9]キーは、開いているブックのすべてのワークシートを再計算するショートカットキーです。
開いているシートのみで再計算する場合は、[Shift]+[F9]です。
参考Excelには、自動計算と手動計算があります。既定は[自動計算]ですが、あえて[手動計算]にしている場合があります。[F9]キーは、手動計算モードやRANDBETWEEN関数の更新時に使用するショートカットキーです。
-
計算方法が勝手に手動計算/自動計算に変わってしまう
Excelには、自動計算と手動計算という2つの計算方法があります。 セルに数式を入力すると、セルには計算の結果が表示されます。 そして、数式 ...
-
算数(計算)ドリルは[RANDBETWEEN関数]を使って自動で作成
Excelの関数を使ってランダムな数字を表示して、簡単な計算ドリルを作成してみませんか? ここでは、A4用紙に10題の2けたの足し算ドリルを ...
また、条件付き書式を設定して、セルをダブルクリックして編集モードにすると、そのセルが塗りつぶしの色になり、その後のセル移動では行の色が変わりますが、セルにカーソルがある状態だとデータを間違えて消したりしまうこともあると思いますので気を付けてください。
VBEを起動してコード貼り付け
VBAを使用して、画面表示の更新を行います。[F9]キーを押さなくても済みます。
[開発]タブを表示している場合は、[開発]タブから[Visual Basic]をクリックします。
または、ショートカットキー[Alt]+[F11]を使用します。[開発]タブを表示していなくても、ショートカットキーは使用できます。
または、以下の方法でVBEを起動させてください。
シート見出しで右クリックします。メニューの中から[コードの表示]をクリックします。
[開発]タブを表示している場合でも、同じ操作で表示させることができます。
VBEの左側にある[ThisWorkbook]をダブルクリックします。
以下のコードを貼り付けます。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = True
End Sub
VBEウィンドウは右上の[閉じる]ボタンで閉じます。
これで、アクティブセルが移動する度に、その行が色付きになります。
指定したシートのみで動作させたい時
[ThisWorkbook]にコードを記述すると、ブック内で上記の条件付き書式を設定したすべてのシートで有効になります。
もし、それを避けたいのであれば、指定のシートのイベントプロシージャ[Worksheet_SelectionChange]に下のコードを貼り付けてください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = True
End Sub
以下は、[Sheet1]のみに動作させたい場合です。
保存するときは、[Excelマクロ有効ブック]として保存します。
拡張子は[.xlsm]となります。
[名前を付けて保存]ダイアログボックスは、[F12]キーで表示できます。
参考条件付き書式を使わずにVBAのみで実装する方法は、Microsoftの以下の記事を参照してください。
アクティブなセル、行、または列を強調表示する | Microsoft Learn(Microsoft)
Accessでも同じように、カーソルがあるテキストボックスのレコード全体に背景色を設定することができます。
-
カーソルがあるテキストボックスのレコード全体に背景色をつける
Accessの帳票フォームでフォーカスがあるテキストボックスに色を付けるのは、条件付き書式で簡単に設定できます。 でも、フォーカスがあるレコ ...
アクティブセルの行と列を色付きにしたい場合
また、アクティブセルのある列も色付きにしたいのであれば、条件付き書式の数式を編集します。
条件付き書式を編集する場合は、[ホーム]タブの[スタイル]グループにある[条件付き書式]をクリックして、[ルールの管理]をクリックします。
[条件付き書式ルールの管理]ダイアログボックスが表示されますので、数式を設定したルールを選択して[ルールの編集]をクリックします。
[書式ルールの編集]ダイアログボックスが表示されますので、数式ボックスの数式を以下のように書き換えます。
=OR(CELL("ROW")=ROW(), CELL("COL")=COLUMN())
CELL("COL")は、対象範囲の左上隅にある列番号を返します。
COLUMN()は、COLUMN関数が入力されているセルの列番号が返されます。
COLUMN 関数 - Microsoft サポート(Microsoft)
OR 関数 - Microsoft サポート(Microsoft)
これで、アクティブセルの行と列が色付きになります。
参考条件付き書式の数式の[OR]を[AND]にすると、アクティブセルのみに色を付けることができます。
他の条件を組み合わせて指定したい場合
AND関数を使って、複数の条件を組み合わせることもできます。
例えば、以下のような表があって、コースが[VIP]の行のセルがアクティブになった時のみ書式を設定したいとします。
B列で[VIP]の文字列のときという条件の数式は、以下のようになります。
=$B2="VIP"
アクティブセルの行に書式を設定する数式は以下です。
=CELL("ROW")=ROW()
この2つを組み合わせて、数式ボックスに以下のように入力します。
=AND($B2="VIP",CELL("ROW")=ROW())
B列で[VIP]の行のセルがアクティブになると行に書式が設定されます。
AND 関数 - Microsoft サポート(Microsoft)
アクティブセルのみに色を付ける
AND関数を使用して、条件付き書式の数式を以下のように修正すると、アクティブセルのみに塗りつぶしを付けることができます。
=AND(CELL("ROW")=ROW(),CELL("COL")=COLUMN())
参考Accessのフォームでカーソルがあるテキストボックスに背景色を付けるのは、とても簡単です。条件付き書式で選択するだけです。
条件付き書式の適用先と書式の変更
条件付き書式の適用先の範囲を変更したい場合や、書式を変更したい場合も[条件付き書式ルールの管理]ダイアログボックスで行います。
[ホーム]タブの[スタイル]グループにある[条件付き書式]をクリックして、[ルールの管理]をクリックします。
[条件付き書式ルールの管理]ダイアログボックスが表示されますので、修正したい条件付き書式の[適用先]で範囲を修正します。
[ダイアログボックス拡大/縮小]ボタンをクリックして、範囲を修正してもいいですし、直接数字を修正してもかまいません。
1行目にタイトルなどを設定している表などでは、2行目から指定しておいたほうがいいと思います。
また、以下は行のみを指定していますが、列も決まっている場合は列も指定しておいたほうがいいと思います。
塗りつぶしの色を変更したい場合は、[ルールの編集]をクリックして[書式ルールの編集]ダイアログボックスの[書式]ボタンをクリックして、[セルの書式設定]ダイアログボックスの[塗りつぶし]タブから任意の色を選択します。
必要な時のみ条件付き書式を使用するには
チェックボックス、または、ドロップダウンリストを設置して、オン/オフで条件付き書式の表示/非表示を切り替えることができます。
[条件付き書式ルールの管理]ダイアログボックスの[条件を満たす場合は停止]を使用します。
条件付き書式が必要な時のみオンにして使用することができます。以下の記事で解説しています。
-
条件付き書式のオンとオフをチェックボックス/ドロップダウンリストで操作
Excelの条件付き書式はとても便利な機能です。 条件書式を使うと、条件に合うセルに書式を設定したり、数値の大きさも視覚的に分かりやすくする ...
条件付き書式のルールの削除(ルールのクリア)
条件付き書式のルールを削除する方法です。
[ホーム]タブの[スタイル]グループにある[条件付き書式]をクリックして、[ルールの管理]をクリックします。
そして、削除したいルールを選択して[ルールの削除]をクリックします。
または、[ホーム]タブの[スタイル]グループにある[条件付き書式]をクリックして、[ルールのクリア]をポイントして表示されるサブメニューの[選択したセルからルールをクリア]や[シート全体からルールをクリア]などを選択してもいいです。
目的に合った方法で削除してください。
以下の記事で詳しく解説しています。
コードを削除する場合は、コードを入力したThisWorkBook、またはシートモジュールを表示して、入力したコードを全て削除してください。
条件付き書式のルールをクリアせずに、必要な時のみオン/オフを切り替えて使用することもできます。
-
条件付き書式のオンとオフをチェックボックス/ドロップダウンリストで操作
Excelの条件付き書式はとても便利な機能です。 条件書式を使うと、条件に合うセルに書式を設定したり、数値の大きさも視覚的に分かりやすくする ...
関連以下は、条件付き書式に関するページです。
-
データが修正されたセルが分かるようにする条件付き書式の設定
Excelでセルの値が修正されたことが一目で分かるようにしておくと、便利なことはよくあります。 たとえば、各部署に既存の住所一覧を配布して、 ...
-
UNIQUE関数で重複しない値をリスト化して表内の該当セルを塗りつぶす
Excel2021とMicrosoft 365のExcelでは、UNIQUE(ユニーク)関数を使用することができます。 UNIQUE関数を使 ...
-
チェックボックスを使って条件付き書式のオンとオフを切り替える
フォームコントロールのチェックボックスを使って、チェックがオンであれば条件付き書式の書式を設定して、オフにすると解除するような仕組みを作るこ ...
-
リストボックス(コンボボックス)の選択項目でセルの行に色を付ける
フォームコントロールのリストボックス、またはコンボボックスを設置して、リストで選択した項目を含むセルの行に塗りつぶしを設定します。 リストボ ...
-
重複しない一意の値を求める方法と複数列で重複をチェックする方法
Excelで2つの列にデータが入力されていて、そのデータの差分を求めたい場合がありますね。 A列には分析用データとして別表に貼り付け済みのI ...
-
セル範囲の中から数値に見える文字列のセルを見つけるには
Excelのセルに数値が入力されていると思っても、実際は文字列だったということがあります。 見た目は数値に見えても表示形式は文字列になってい ...
-
小数点の位置を揃えるには(小数点以下の異なる桁数が混在する場合)
一列の複数セルに小数点以下の桁数の異なる数値が並んでいる場合、小数点の位置は揃いません。 小数点以下の異なる桁数の数値が混在していても、小数 ...
アクティブセルの行や列を選択するショートカットキー
Excelには、選択しているセルを含む行全体や列全体を選択するショートカットキーがあります。
もし、VBAが使用できないというルールなどがある場合は、ショートカットキーで対応してもいいと思います。
テーブルの場合は、テーブル内の行や列が選択されます。
選択セルの行全体を選択するショートカットキーは、[Shift]+[Space]です。
選択セルの列全体を選択するショートカットキーは、[Ctrl]+[Space]です。