【Excel VBA】ColorIndex(カラーインデックス)の使い方とサンプルコード一覧(RGB、色番号、色見本)

本記事で得られる知識

Excel VBAにおけるカラーインデックスに関する解説です。

記事の前提

Excel VBAを組める方、勉強中の方向けです。

記事の信頼性

筆者はネットショップ運営を行うバックエンドエンジニアで、Excel VBAを使用して受注処理の一部を構築しています。詳しくはこちら「運営者の紹介

カラーインデックスについて

カラーインデックスはExcel VBAで使用する、予め設定された56色を数字で表現したものです。この56色を1セットで「パレット」という表現をしています。

インデックス番号一覧

特定の56色と紐付けされた1~56の数字を、インデックス番号を呼んでいます。

この数字を指定することで、紐付いた色を表現することができます。

以下がカラーインデックスの一覧になります。

インデックス番号 10進法 16進法
1 RGB(0,0,0) #000000
2 RGB(255,255,255) #FFFFFF
3 RGB(255, 0, 0) #FF0000
4 RGB(0, 255, 0) #00FF00
5 RGB(0, 0, 255) #0000FF
6 RGB(255, 255, 0) #FFFF00
7 RGB(255, 0, 255) #FF00FF
8 RGB(0, 255, 255) #00FFFF
9 RGB(128, 0, 0) #800000
10 RGB(0,128,0) #008000
11 RGB(0, 0, 128) #000080
12 RGB(128, 128, 0) #808000
13 RGB(128,0,128) #800080
14 RGB(0, 128, 128) #008080
15 RGB(192,192,192) #C0C0C0
16 RGB(128,128,128) #808080
17 RGB(153, 153, 255) #9999FF
18 RGB(153, 51, 102) #993366
19 RGB(255, 255, 204) #FFFFCC
20 RGB(204, 255, 255) #CCFFFF
21 RGB(102,0,102) #660066
22 RGB(255, 128, 128) #FF8080
23 RGB(0, 102, 204) #0066CC
24 RGB(204, 204, 255) #CCCCFF
25 RGB(0, 0, 128) #000080
26 RGB(255, 0, 255) #FF00FF
27 RGB(255, 255, 0) #FFFF00
28 RGB(0, 255, 255) #00FFFF
29 RGB(128, 0, 128) #800080
30 RGB(128, 0, 0) #800000
31 RGB(0, 128, 128) #008080
32 RGB(0, 0, 255) #0000FF
33 RGB(0, 204, 255) #00CCFF
34 RGB(204, 255, 255) #CCFFFF
35 RGB(204,255,204) #CCFFCC
36 RGB(255, 255, 153) #FFFF99
37 RGB(153, 204, 255) #99CCFF
38 RGB(204,153,255) #FF99CC
39 RGB(255,153,204) #CC99FF
40 RGB(153,204,255) #FFCC99
41 RGB(51, 102, 255) #3366FF
42 RGB(51, 204, 204) #33CCCC
43 RGB(153, 204, 0) #99CC00
44 RGB(255, 204, 0) #FFCC00
45 RGB(255, 153, 0) #FF9900
46 RGB(255, 102, 0) #FF6600
47 RGB(102, 102, 153) #666699
48 RGB(150,150,150) #969696
49 RGB(0, 51, 102) #003366
50 RGB(51, 153, 102) #339966
51 RGB(0,51,0) #003300
52 RGB(51, 51, 0) #333300
53 RGB(153, 51, 0) #993300
54 RGB(153, 51, 102) #993366
55 RGB(51, 51, 153) #333399
56 RGB(51,51,51) #333333

カラーインデックスの使用例

ここではサンプルとして使用方法をいくつかご紹介します。

背景の色を指定する

指定のシート中にある、指定したセル名の背景色を変更します。

セルの背景部分の色を変更する場合は以下のような記述となります。

ThisWorkbook.Worksheets(“シート名”).Range(“セル名”).Interior.ColorIndex = 上記のいずれかのインデックス番号

文字の色を指定する

指定したシートの、指定したセル内の文字の色を変更します。

セルの文字の色を変更する場合は以下のように記述します。

ThisWorkbook.Worksheets(“シート名”).Range(“セル名”).Font.ColorIndex = 上記のいずれかのインデックス番号

シート名の背景色を指定する

ファイルのシート名の背景色を変更することもできます。

ThisWorkbook.Worksheets(“シート名”).Tab.ColorIndex = 上記のいずれかのインデックス番号

設定されたカラーインデックス番号を取得する

逆に、指定したセルの文字や背景色のカラーインデックスのインデックス番号を知りたい場合は、以下のように右辺に対象のセルや背景を指定し、それを左辺(下記では変数 IndexNumber)へ入れ込みます。

Dim IndexNumber as double
IndexNumber = ThisWorkbook.Worksheets(“シート名”).Range(“セル名”).Interior.ColorIndex