シートのタブカラーを変更するマクロ~Excel 2013 マクロ講座

シートタブを好きな色に

カラフルなシートタブでハッピー

Excel 2013 マクロ講座 好きな色のシートタブでシート作成

好きな色のシートタブでシートをまとめて作成マクロ

シートのタブカラーを色々な色で楽しみたいと思っていても、後から色を変更するのは、ちょっとめんどうなので、最初から色付きのタブにしてみようかと思います。
こんなタブカラーのExcelブックはいかがでしょうか?
シートのタブ色変更好きな色
(サンプルファイルは、こちらから 2013マクロ講座41回サンプルデータ

シートを追加してタブカラーを変更するマクロ~

シートのタブカラーを変更しておくと、目的のシートを見つけやすくなり便利だと思うのですが、意外とめんどうなんですね。
心がウキウキするように、色々な色で楽しみたいと思っているんですが・・。 そこで、今回はシートを最初から色付きのタブにしてみようかと思います。

ColorIndexの1~10でシートを追加

はじめのコードは、シートを10枚追加して色をColorIndexの1~10に割り当てます。

シートを追加する変数をそのままTab.ColorIndexでも使うという、簡単なやり方です。
Sub シートのタブ色変更10色()
    Dim i As Integer
    For i = 1 To 10
    Sheets.Add.Name = i
    Sheets(i).Tab.ColorIndex = i
    ActiveSheet.Next.Select
    Next
End Sub
    
1~10番までのカラーインデックスのタブ色をしたシートが作成されました。
シートのタブ色変更10色2

シートタブに56色の色をつけて追加

変数iを1~56にすれば、シートタブに56色の色をつけることができます。
Sub シートのタブ色変更56色()
    Dim i As Integer
    For i = 1 To 56
    Sheets.Add.Name = i
    Sheets(i).Tab.ColorIndex = i
    ActiveSheet.Next.Select
    Next
End Sub    
    
For~Nextステートメントを使って繰り返しています。
シートのタブ色変更56色
追加したシートの名前がColorIndexの数字だけなので、名前を付けてみました。 コードは、
Sub シートのタブ色変更56色2()
    Dim i As Integer
    For i = 1 To 20
    Sheets.Add.Name = "色番号" & i
    Sheets("色番号" & i).Tab.ColorIndex = i
    ActiveSheet.Next.Select
    Next
End Sub
    
シートのタブ色変更56色

For~Nextステートメントの使い方

For~Nextステートメントの使い方
最初に、Forで繰り返し回数を宣言します。
繰り返し回数は、カウンタの変化範囲(開始値と終了値)で指定します。
たとえば、
「開始値が1,終了値が56」なら繰り返しは、56回。
繰り返しの終了位置はNextで指定します。
For~Next が実行されると、
カウンタの値が開始値から1ずつカウントアップされ、
終了値に達すると繰り返しが終了します。

好きな色をシートタブの色にする

上のコードでは、シートが56枚できるので、そんなにいらないということにもなりかねませんね。
そこで、お気に入りのカラーを配列に入れておき、その色にシートタブの色を変更するということもできます。
暖色系だけの色を集めたり、寒色系の色をあつめたりして楽しめます。次の例では、ColorIndexからブルー系をチョイスすることにしました。
ブルー系の色番号をシートタブに振り分ける
好きな色という配列変数に入れます。
Sub 好きな色のシートタブでシート作成()
    Dim 好きな色 As Variant
    Dim i As Integer
    好きな色 = Array(8, 20, 23, 28, 33, 37, 41, 42, 55, 5, 11, 25, 32)
    For i = 1 To 12
    Sheets.Add.Name = i
    Sheets(i).Tab.ColorIndex = 好きな色(i - 1)
    ActiveSheet.Next.Select
    Next
End Sub    
    
コードを実行すると、さわやかな色をしたシートタブのブックができました。
好きな色のシートタブでシート作成

ピンク系の色番号をシートタブに振り分ける
好きな色という配列変数に入れます。
Sub タブ色変更する4()
     Dim 好きな色, i As Integer
     好きな色 = Array(3, 7, 9, 13, 18, 21, 22, 26, 29, 30, 38, 39, 44, 45, 54)
     For i = 1 To 15
     Sheets.Add.Name = i
     Sheets(i).Tab.ColorIndex = 好きな色(i - 1)
     ActiveSheet.Next.Select
     Next
End Sub
    
コードを実行すると、温かみのある色をしたシートタブのブックができました。
好きなピンク系の暖色のシートタブでシート作成

今日の講義は以上です。お疲れ様でした。