今回はExcelのシートの見出し色を指定する方法をご説明します。
シートの見出しというのはExcelファイルを開いた時の「Sheet1」などのシート名の部分のことです。
このシートの見出しが多いときは、色分けして目立たせたい事があります。
そんなシートの見出しの色を変更する方法です。
シートの色を指定するには、Worksheetの「Tab」オブジェクトを使用します。
色を指定する方法はいくつかありますので、それぞれご説明します。
他のシートの操作については下記記事をご覧ください。
1.シートの見出し色を指定
シートの見出し色を指定するには、Worksheetの「Tab」オブジェクトを使用します。
「worksheets(“シート名”).tab」で指定できます。
一括ですべてのシートを指定するには「Worksheets.Tab」ではエラーになりますので、ループ処理する必要があります。
色の指定方法
色の指定方法は次の3つあります。
- Colorプロパティ
- Color Indexプロパティ
- ThemeColorプロパティ
Color
ColorプロパティはRGBで指定します。
worksheets(“シート名”).tab.color=RGB(赤,緑,青)で指定します。
RGBは256*256*256色(1600万色)あるため、ネットで検索して調べるか、
「その他の色」→「色の設定」→「ユーザー設定」で色を指定するとRGBが取得できます。
Color Index
Excel2003までで指定できた1~56のカラーです。
worksheets(“シート名”).tab.colorindex=カラー番号(1~56)で指定します。
Excel2007以降であればColorプロパティのRGBで指定する事をおおすめします。
ThemeColor
Excel2007で搭載された機能で、カラー選択時の「標準の色」に出ている10個のカラーです。
こちらはExcelのバージョンでパレットの設定が違うため、使用するExcelのバージョンで色が変更されます。
2.シートの見出し色を指定するサンプルコード
Colorプロパティ
Colorプロパティはカラーの番号、もしくはRGBで指定します。
Sub Sample1()
Worksheets("Sheet1").Tab.Color = RGB(255, 0, 0)'シートを赤くします
End Sub
ColorIndexプロパティ
ColorIndexプロパティは1~56の番号でカラーを指定します。
Sub Sample2()
Worksheets("Sheet1").Tab.ColorIndex = 56
End Sub
ThemeColorプロパティ
Excel2007で搭載された機能で、カラー選択時の「標準の色」に出ている10個のカラーです。
Sub Sample3()
Worksheets("Sheet3").Tab.ThemeColor = 5
End Sub
シートの色を戻す
シートの色を戻すには「Tab.ColorIndex = xlNone」を指定する事で色を解除できます。
「For Each In Next」ループでシートをループして、すべて色を解除するコードです。
Sub Sample4()
Dim WS As Worksheet
For Each WS In Worksheets
WS.Tab.ColorIndex = xlNone
Next
End Sub
ループでシート名の見出し色を変更する
「For Each In Next」ループでシートをループして、すべて赤色に変更するコードです。
一括ですべてのシートを指定するには「Worksheets.Tab」ではエラーになりますので、ループ処理する必要があります。
Sub Sample5()
Dim WS As Worksheet
For Each WS In Worksheets
WS.Tab.Color = RGB(255, 0, 0)
Next
End Sub
シート名で判定して一致した場合色を変更する
実際に実務で使いそうなサンプルコードです。
シートをすべてループして、特定の文字列を含むシート名の場合のみ色を付けるコードです。
「2018」を含むシートのみ変更します。
Sub Sample6()
Dim WS As Worksheet
For Each WS In Worksheets
If InStr(WS.Name, "2018") <> 0 Then
WS.Tab.Color = RGB(255, 0, 0)
End If
Next
End Sub