表にRGB関数で2色の縞模様For Each 〜 Next ステートメント
Excel2010 マクロ講座 24回
表デザインRGB関数でシマシマに
センスの良い1行おきの2色シマシマを作りたいので、マクロ講座22回のコードを変更します。
「If〜Thenステートメント」を2回繰り返すか、「If〜Then〜Elseステートメント」を使うことで処理を2通りにします。
(サンプルファイルは、こちらから 2010マクロ講座24回サンプルデータ)
表の背景色1行おきに2色シマシマ
22回のコードは、
Sub セルの1行おきに色1()
Dim 表 As Range
For Each 表 In Selection
If 表.Row Mod 2 = 0 Then
表.Interior.ColorIndex = 34
End If
Next
End Sub
セルに対しての変更を選択範囲に繰り返すためにFor Each 〜 Next ステートメントを使っています。これを、2色にするには、 「If〜Thenステートメント」を2回繰り返せばできます。
Sub セルの1行おきに色3()
Dim 表 As Range
For Each c In Selection
If 表.Row Mod 2 = 0 Then
表.Interior.ColorIndex = 34
End If
If 表.Row Mod 2 = 1 Then
表.Interior.ColorIndex = 15
End If
Next
End Sub
「If〜Then〜Elseステートメント」の構文は、次のようになります。こちらの方がスマート。


結果は同じになります。
Sub セルの1行おきに色2()
Dim 表 As Range
For Each 表 In Selection
If 表.Row Mod 2 = 0 Then
表.Interior.ColorIndex = 34
Else
表.Interior.ColorIndex = 15
End If
Next
End Sub
ColorIndexにない色は、RGB関数で
使いたい色がColorIndexにない時は、RGB関数で指定することができます。
先のコードのグレーが強いので、RGB関数でもっと薄いグレーを指定します。
先のコードのグレーが強いので、RGB関数でもっと薄いグレーを指定します。

Sub セルの1行おきに色4()
Dim 表 As Range
For Each 表 In Selection
If 表.Row Mod 2 = 0 Then
表.Interior.ColorIndex = 34
Else
表.Interior.Color = RGB(237, 237, 237)
End If
Next
End Sub
実行すると、2色使いでもスッキリした表デザインになりました。
スポンサーリンク
スポンサーリンク