Excel2010 マクロ講座 23回

ColorIndexになれるコード

今回は、Excelのカラーインデックス一覧を作成するコードを紹介します。
セルの背景やフォントの色を指定するときなどに、カラーインデックスの一覧表を作成しておくとちょっとだけ便利です。
また これは、プログラムを作成する際の、「連続した処理」、「判断」、「繰り返し」という3つのパターンの「繰り返し」という処理です。
(サンプルファイルは、こちらから 2010マクロ講座23回サンプルデータ

ColorIndex一覧を作成してみる

作るのは、図のようなカラーインデックスの一覧表です。 ColorIndexは、0から56まであるので、インデックスのナンバーをカウンタ変数にして56まで繰り返し処理をします。
ColorIndex一覧を作成マクロ1
セルの指定方法には2通りあります。 Rangeプロパティを使用する方法とCellsプロパティを使用する方法です。Rangeプロパティを使用する方法では、日頃から馴染みのある"A1"とか"B2"というような指定の方法です。 一方、Cellsプロパティでは、Cells(行番号,列番号)で指定します。
ここでは、行番号を変数としてつかいたいので、Cellsプロパティを使います。
たとえば、A5セルの背景色を青にするコードは、次のようになります。
Sub セルの色()
  Cells(5, 1).Interior.ColorIndex = 5
End Sub
    
ColorIndex一覧を作成マクロ3
繰り返し処理をするのに、使うのはFor~Nextステートメントです。
ColorIndex一覧を作成マクロ2
For~Nextステートメントを使って、10回、20回のように、一定回数だけ繰り返し処理を設定します。
ColorIndexは、0~56まであるので、カウンタ変数の開始値は、0です。終了値は56です。
0~56までの繰り返しの処理は、次のコードになります。実行すると最初のColorIndex一覧のサンプル画像になります。
Sub セルにカラーインデックス()
Dim i As Integer
    For i = 0 To 56
        Cells(i + 1, 1).Interior.ColorIndex = i
    Next i
End Sub
    
実行すると、行番号(i+1)にカラーインデックス番号(i)を設定する処理が、指定回数だけ繰り返します。縦長です。
ColorIndex一覧を作成マクロ4
これでは、見づらいので、コードを次のように変更しました。For~Nextステートメントを3回使っています。
Sub カラーインデックス()
' 繰り返しの処理
    Dim i As Integer
    For i = 0 To 18
      Cells(i + 1, 1).Interior.ColorIndex = i
      Cells(i + 1, 1).Value = "[Color " & i & "]"
      Cells(i + 1, 2).Font.ColorIndex = i
      Cells(i + 1, 2).Value = "[Color " & i & "]"
    Next i
    For i = 19 To 37
      Cells(i - 18, 3).Interior.ColorIndex = i
      Cells(i - 18, 3).Value = "[Color " & i & "]"
      Cells(i - 18, 4).Font.ColorIndex = i
      Cells(i - 18, 4).Value = "[Color " & i & "]"
    Next i
    For i = 38 To 56
      Cells(i - 37, 5).Interior.ColorIndex = i
      Cells(i - 37, 5).Value = "[Color " & i & "]"
      Cells(i - 37, 6).Font.ColorIndex = i
      Cells(i - 37, 6).Value = "[Color " & i & "]"
    Next i
End Sub
    
スポンサーリンク
スポンサーリンク