Excel VBA 作業列に入れた数値ごとにセル背景色が変わる条件付き書式マクロ

Excel マクロ、VBA

スポンサーリンク

下図では、「条件付き書式」機能により、H列に入れた数字によってA列~H列のセル背景色が変わるという設定をしてある。

私はこういう設定が好きでよくやるのだが、手作業じゃ面倒なのでマクロにしてみた。

ソースコード

Excel 条件付き書式について(2) 数式を使用した条件付き書式

ソースコードは下記の通り。

配列colorArrに入れた5種類の色が、作業列に入れた1~5の数値に応じて条件付き書式として設定されるようにしてあるが、この配列の要素数を増やせばもちろん設定できる条件付き書式の数も増える。

絶対もっと良いマクロを作る方はいらっしゃるだろうが、ひとまず簡単に作れるものとしてはこんな感じかなと。

下記のマクロ「setConditionFormatsFromNumbers」を、個人用マクロブックに組み込み、広く利用できると思う。

個人用マクロブックとかについては、ここを展開。

オリジナルのマクロをリボンに追加する方法はこちら

個人用マクロブックについては、こちらこちらで述べています。

 

このマクロを起動すると、作業用の列について開始セルを選択させるダイアログが表示される。

ここでH2セルを選べば、それより左のA2:H1048576 のセル範囲に条件付き書式が設定される。

他に、たとえばH5セルを選んだなら、それより左のA10:H1048576 のセル範囲に条件付き書式が設定される。

Excel VBA 配列について(5)配列の要素数を取得するUBoundとLBound

Excel VBA InputBox(2)キャンセル処理の決定版・・・だと思う

Excel VBA MsgBoxについて(3)アイコンとタイトルも追加する

Excel 行・列(縦横)の番号を数字で表示するマクロ 必ず個人用マクロブックに組み込もう

手作業で設定する手順

一応、手作業でこの条件付き書式を設定する手順も。

まず、条件付き書式を設定したいA列~H列のセルを選択しておいた状態で

リボン「ホーム」タブ
→「条件付き書式」
→「ルールの管理」

とする。通常は「新しいルール」を選択するところだが、今回は複数の条件付き書式を立て続けにセットするので、敢えてこの「ルールの管理」から行く。

ルールの管理画面から「新規ルール」を押す。

ルールの設定画面で「数式を使用して、書式設定するセルを決定」を選び、相対参照に気をつけながら「=$H2=1」と数式欄に入力。そして「書式」を押す。

もちろんこのH2セルの参照は、直接Excelシート上のH2セルをクリックし入力補助を活用すれば良い。

次の設定画面で、好きな色を選んで「OK」

前の画面に戻るので「OK」を押す。

ルールの管理画面に戻るが、いま設定した書式の行を選択してから「重複ルール」を押す。

同じ条件付き書式ルールが作られるが、そこで「ルールの編集」を押す。

数式を利用した条件設定が表示されるので、
=$H2=1
の最後だけを2に書き換えて
=$H2=2
とすれば良い。

後は「書式」から、値が2のときの色を選択する。
値が3以降の場合についても、同様に設定していく。

スポンサーリンク