[ Excel-VBA ] セルの背景色を設定する ( Interior.ColorIndex / Interior.Color )

Pocket

ここでは、VBA からセルの背景色を設定するサンプルスクリプトを掲載しています。セルの背景色を指定するには 1から 56までのカラーパレットのインデックス番号か、XlColorIndex 列挙を Interior オブジェクトの ColorIndex プロパティに設定します。Interior オブジェクトは、インテリアという名前の通りセルの背景色など装飾情報を管理しています。

スポンサーリンク

XlColorIndex 列挙

この列挙体の一覧を下表に示します。また、この列挙対は Excel 2007 以降でのみ使用することができます。それ以前のバージョンのエクセルの場合には、値を直接設定することで設定できるかもしれません。(未検証です)

名前説明
xlColorIndexAutomatic-4105自動設定
xlColorIndexNone-4142色なし

セルの背景色を設定するサンプルコード

セルの背景色を設定するサンプルです。詳細はサンプル内のコメントおよび実行結果を参照ください。

    Dim i As Integer, j As Integer
    
    For i = 1 To 8
        For j = 1 To 7
            ' カラーパレットのインデックス番号
            ActiveSheet.Cells(i, j).Value = (i - 1) * 7 + j
            
            ' セルの背景色を設定
            ActiveSheet.Cells(i, j).Interior.ColorIndex = (i - 1) * 7 + j
        Next j
    Next i
            
    ' 自動設定
    ActiveSheet.Cells(10, 1).Value = XlColorIndex.xlColorIndexAutomatic
    ActiveSheet.Cells(10, 1).Interior.ColorIndex = XlColorIndex.xlColorIndexAutomatic

    ' 背景色なし
    ActiveSheet.Cells(12, 1).Value = XlColorIndex.xlColorIndexNone
    ActiveSheet.Cells(12, 1).Interior.ColorIndex = XlColorIndex.xlColorIndexNone

実行結果

セルの背景色設定サンプルの実行結果

セルの背景色設定サンプルの実行結果

セルの背景色を RGB 値で設定する

次に、セルの背景色を RGB 値で設定してみます。セルの背景色を RGB 値で指定するには Interior オブジェクトの Color プロパティに値を設定します。

    ' セルに表示するテキストを設定
    ActiveSheet.Cells(1, 1).Value = "RGB(0, 0, 0)"
    
    ' セル内のテキストの色(白)を設定
    ActiveSheet.Cells(1, 1).Font.Color = RGB(255, 255, 255)
    
    ' セル内の背景色(黒)を設定
    ActiveSheet.Cells(1, 1).Interior.Color = RGB(0, 0, 0)

実行結果

セルの背景色をRGB値で設定

セルの背景色をRGB値で設定

参考
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *