Excel2010 マクロ講座 24回

表デザインRGB関数でシマシマに

センスの良い1行おきの2色シマシマを作りたいので、マクロ講座22回のコードを変更します。
「If~Thenステートメント」を2回繰り返すか、「If~Then~Elseステートメント」を使うことで処理を2通りにします。

RGB関数で色指定マクロ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ステートメント」の構文は、次のようになります。こちらの方がスマート。
RGB関数で色指定マクロ1
結果は同じになります。
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関数で色指定マクロ4
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色使いでもスッキリした表デザインになりました。
RGB関数で色指定マクロ5
スポンサーリンク
スポンサーリンク