1行おきに背景色を変更するマクロ
If~Then Excel2010 マクロ講座 22回
表の1行ごとに色を変えるマクロ
セルの背景色を1行ごとに変更したら、表がぐっと見やすくなったという経験はありませんか?
やり方はわかっているのに、なかなか普段は入力するほうが忙しくて手が回らないということがあるんですよね。
そこで今回は表の1行ごとに色を変えるマクロを作ります。
これは、プログラムを作成する際の、「連続した処理」、「判断」、「繰り返し」という3つのパターンの「判断」という処理です。
(サンプルファイルは、こちらから 2010マクロ講座22回サンプルデータ)
1行おきに判断して色をつける
条件書式で色分けする場合は、
条件付書式の中でMOD(モッド)関数、ROW(ロウ)関数を使って色分けします。(下図のようにします。)

マクロでもMODを使って割り切れるかどうか判断して色分けします。
判断に使うのは、「If~Thenステートメント」です。「If~Thenステートメント」を使うと、
論理式(条件式)を使って条件が成立した時の処理を実行することができます。

そこで、条件を「表の行数を2で割った余り0(偶数)である」にして、成立したら背景色を指定。


選択した表の範囲を、Dim 表 As Rangeと宣言しています。

Sub セルの1行おきに色1() Dim 表 As Range For Each 表 In Selection If 表.Row Mod 2 = 0 Then 'Rowプロパティで行番号を取得 表.Interior.ColorIndex = 34 End If Next End Sub

MODで余りを求め、それが0なら、セルの色を34にしています。


この式に入れている色は、ColorIndexの34番です。

