まりふのひと

Excel VBAのColorIndexコードと色との関係を調べた

WindowsXPのExcel2003のVBAで、セルの文字の色を変えたいため、[新しいマクロの記録]を行い、「赤は 3」と云うことが解った。

    Range("A1").Select
    Selection.Font.ColorIndex = 3

他の色は? 一覧表みたいなのは無いの?

nser

色々なサイトに載っていたが、Office TANAKA - Excel VBA講座:セルの操作[文字色の設定] が簡単で解りやすいので引用させていただいた。

上の色の並びは、[ツール]メニュー ⇒[オプション]⇒[色]タブと同じです。

上記サイトには、気になることも書いてあった。

 このように、文字色の変更をマクロ記録すると、Excelのバージョンによって、次のプロパティが記録されます。

  • Excel 2003まで → ColorIndexプロパティ
  • Excel 2007以降 → Colorプロパティ

そこで同じサイトに載っているVBAコード参考に後述を作り、実行してみたので参考にして、、、、、ほしい。

  • 例えば、ColorIndex の 9 と 30 が、同じ色コードになっている。
Sub カラーインデックスコードと色()
Dim i As Long, r As Long
Dim strAns As String

    For i = 1 To 56
        r = i + 1
        Cells(r, 1) = i
        Cells(r, 2).Interior.ColorIndex = i
        Cells(r, 3) = ActiveWorkbook.Colors(i)
        strAns = Right("000000" & Hex(ActiveWorkbook.Colors(i)), 6)
        Cells(r, 4) = "'" & Right(strAns, 2) & Mid(strAns, 3, 2) & Left(strAns, 2)
'
        Cells(r, 1).Select
        With Selection.Font
            .ColorIndex = i
            .Name = "Century Gothic"
            .Bold = True
        End With
    Next
End Sub