EXCEL VBA セルの背景色 Interior ThemeColor ColorIndexの使い方
EXCEL VBA セルの背景色 Interior ThemeColor ColorIndexの使い方
●はじめに
ここでは、セルの背景色の設定方法を説明いたします。背景色(塗りつぶし)は、セルの見た目を表現する時に効果が発揮できます。背景色は、表の見出しやタイトルなどで利用しますが、VBAプログラムと組み合わせる事により、ある条件に該当するセルに対して背景色を付ける事もできます。
●書式の説明
Rangeオブジェクト.Interiorオブジェクト.プロパティ名
プロパティ | 色の数 | 設定方法 |
---|---|---|
ThemeColor | 12色 | Range("A1").Interior.ThemeColor = 1~12 |
ColorIndex | 56色 | Range("A1").Interior.ColorIndex = 1~56 |
Color | 167772161色 | Range("A1").Interior.Color = RGB(0~255,0~255 , 0~255) |
Interior .ThemeColor での背景色
●プログラム説明
下記のプログラムは、Interior .ThemeColor での背景色の表示方法です。セルのA1~A12までにInterior .ThemeColor で表現できる12色を表示させます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub CellsColor() Dim CC As Integer Dim ADD As Range CC = 1 For Each ADD In Range("A1:A12") 'ループ処理させる範囲を指定します。A1~A12まで ADD.Interior.ThemeColor = CC ' Cells(ADD.Row, "B") = CC CC = CC + 1 Next ADD End Sub |
●実行結果
実行後、Interior .ThemeColor で表現できる12色を表示A1~A12させます
●実行前 ※実行前は、空白セルが表示されています。(クリックして拡大)
●実行後 ※A1~A12まで順番に、背景色が表示されました。(実行後のB列の番号は色番号です)(クリックして拡大)
Interior .ColorIndexでの背景色
●プログラム説明
下記のプログラムは、Interior .ColorIndex での背景色の表示方法です。セルのA1~E12までにInterior .ColorUndex で表現できる56色を表示させます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Sub CellsColor2() Dim CC As Integer Dim ADD As Range CC = 1 For Each ADD In Range("A1:E12") 'ループ処理させる範囲を指定します。A1~D10まで ADD.Interior.ColorIndex = CC '背景色を指定します。 ADD.Value = CC '背景色の番号を同じセルに表示させます。 CC = CC + 1 '背景色を+1にして色を変える。 If CC = 57 Then Exit For '背景色が56までなので、57に成ったらループから抜ける。 End If Next ADD End Sub |
●実行結果
実行後、セルにInterior .ColorIndex で表現できる56色を表示させました。
●実行前 ※実行前は、空白セルが表示されています。(クリックして拡大)
●実行後 ※A1~順番に56色全ての色が表示されました。背景色の番号は、色番号です。
(クリックして拡大)
(クリックして拡大)
Interior.Color = RGBでの背景色
●プログラム説明
下記のプログラムは、Interior.Color = RGB(255, 255, 255) での背景色の表示方法です。今回のプログラムにつきまして、青色の256を表示させるプログラムです。
Interior.Color = RGBで色が表現出来るのはR(赤)256×(緑)256×(青)256=1,677万色になります。
Interior.Color = RGBで色が表現出来るのはR(赤)256×(緑)256×(青)256=1,677万色になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub CellsColor3() Dim CC As Integer Dim ADD As Range For Each ADD In Range("A1:K24") 'ループ処理させる範囲を指定します。A1~D10まで ADD.Interior.Color = RGB(0, 0, CC) 'RGBのB・・ブルーのみ1~255表示 ADD.Value = CC CC = CC + 1 If CC = 256 Then '1~255まで表示させたら抜け出す。 Exit For End If Next ADD End Sub |
●実行結果
上記、プログラムの実行結果は、青色256色の背景色が表示されました。
●実行前 ※実行前は、空白セルが表示されています。(クリックして拡大)
●実行後 ※青色での256色を表示しました。(クリックして拡大)
Interior.ColorIndex でのサンプルプログラム
●プログラム説明
続いてのプログラムは、担当者・役職が明記されている売上金額表があります。その表に対して、指定する「役職」・「売上金額(未満)」を指定して該当する担当者と売上金額に指定した色の背景色を塗りつぶすプログラムです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub CellsColor4() Dim I As Long For I = 2 To 10 '2行目~10行目までループ If (Range("B" & I) = Range("F1")) And (Range("C" & I) < Range("F2")) Then 'F1と同じ役職とF2の売上額を下回る条件で、担当者名と今月売上に背景色を付けるます。 Range("A" & I).Interior.ColorIndex = 8 Range("C" & I).Interior.ColorIndex = 6 End If Next I End Sub |
●実行結果
実行後、セルで指定(役職・売上額)した条件により、該当する担当者と売上に、色が塗りつぶされました。
●実行前 ※プログラム実行前に、セル(F1)に役職・(F2)に売上金を入力します。
(クリックして拡大)
(クリックして拡大)
●実行後 ※条件に役職「主任」・売上金「100,000(未満)」の条件で実行しますと、下記の通りになります。(クリックして拡大)
最後まで、ご覧いただきまして誠に有難うございました。
以上で、EXCEL VBA Interior ThemeColor ColorIndexの説明でした。指定条件を設けて処理結果により、色分けする時などの表現を行う場合などには、便利な機能なので状況により利用して下さい。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。
以上で、EXCEL VBA Interior ThemeColor ColorIndexの説明でした。指定条件を設けて処理結果により、色分けする時などの表現を行う場合などには、便利な機能なので状況により利用して下さい。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。