
本記事で得られる知識
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