HOME > 即効テクニック > Excel VBA > 書式設定関連のテクニック > カラーパレットで色を設定する(ColorIndexプロパティ)

即効テクニック

書式設定関連のテクニック

カラーパレットで色を設定する(ColorIndexプロパティ)

(Excel 2013/2016)
オブジェクト内部の塗りつぶし、フォント、輪郭線、罫線などの色を、ブックのカラーパレットのインデックス番号を用いて設定します。カラーパレットには56種類の色が設定されています。

●詳細●
  構文  Object.ColorIndex     設定/取得

  設定項目              内容
  Object                Interior、Font、Border、
                        Bordersコレクションオブジェクト [省略不可]

次のサンプルは、使用中のセル範囲に入力されている値が1以上の場合に、カラーパレットの5番目の色でセルの塗りつぶし、フォントの色の2番目の色に設定します。
それ以外の場合には、セルの塗りつぶしをなしに、フォントの色を自動にします。

●サンプル●
Sub ColorIndexSamp1()
    Dim c As Range

    For Each c In ActiveSheet.UsedRange
        Select Case c.Value            '--c.Valueの値で場合分け
        Case Is >= 1                   '--1以上の場合に以下の処理
            c.Interior.ColorIndex = 5  '--カラーパレット5番でセル塗りつぶし
            c.Font.ColorIndex = 2      '--フォントの色をカラーパレット2番に
        Case Else                      '--上記以外の場合
            c.Interior.ColorIndex = xlNone   '--(1)塗りつぶし無し
            c.Font.ColorIndex = xlAutomatic  '--(2)フォントの色自動
        End Select
    Next c

End Sub

塗りつぶしをなしに設定する場合には、(1)のステートメントのように定数xlNoneを指定します。この指定はInteriorオブジェクトに対してのみ有効です。色を自動に設定する場合には、(2)のステートメントのように定数XlAutomaticを指定してください。この指定はInteriorオブジェクト以外でのみ有効です。
※カラーパレットの色はブック単位で設定されていますので、常に同じ実行結果になるとは限りません。カラーパレットの設定に関しては、Colorsプロパティを参照してください。