セルの文字色番号ColorIndexの取得と設定

ColorIndexプロパティ

Excel2003までは色の設定はColorIndexプロパティで行っていましたが、Excel2007以降はより柔軟に設定可能なColorプロパティが追加され、そちらを利用した方が都合が良くなりました。

しかしColorIndexプロパティは無くなったわけでなく、そのまま利用可能です。

ColorIndexプロパティはカラーパレットのインデックス番号に対応しています。カラーパレットの56色の配色はExcelのオプション→保存→色ボタンで表示される「色」ダイアログで変更できます。

色が変更できるため、標準では黒は1番ですが、1番が常に黒ではありません。これが常に色が同じColorプロパティとの違いです。

ColorIndexプロパティ

セルの文字色を設定する場合の親オブジェクトはFontオブジェクトになります。なお、セルの背景色の場合の親オブジェクトはInteriorオブジェクトになります。

設定の際には1から56を指定するか、XlColorIndex列挙型を指定します。

XlColorIndex列挙型

定数 16進数 内容
xlColorIndexAutomatic -4105 &HFFFFEFF7 自動的に色を設定する
xlColorIndexNone -4142 &HFFFFEFD2 なし

xlColorIndexNoneは背景色設定用の定数のため、文字色として指定しても色は変わらず元のColorIndex値のままになります。背景色のInterior.ColorIndexに設定すると、背景色なしになります。

文字を見えなくしたい場合は背景色と文字色を同じ色に設定して、見た目上見えなくするようにしてください。


サンプルコード

以下のコードはA1セルからA56セルまでにColorIndexの値を1ずつ増やしながら文字色を設定するサンプルです。

実行結果は以下のように出力されます。背景色が白では分かりにくい文字色があるので手で12行目にコピペして背景色黒にしています。

関連記事

サブコンテンツ

このページの先頭へ