シートタブを好きな色に
Excel 2013 マクロ講座 好きな色のシートタブでシート作成
好きな色のシートタブでシートをまとめて作成マクロ
シートのタブカラーを色々な色で楽しみたいと思っていても、後から色を変更するのは、ちょっとめんどうなので、最初から色付きのタブにしてみようかと思います。
こんなタブカラーのExcelブックはいかがでしょうか?
(サンプルファイルは、こちらから 2013マクロ講座41回サンプルデータ)
シートを追加してタブカラーを変更するマクロ~
シートのタブカラーを変更しておくと、目的のシートを見つけやすくなり便利だと思うのですが、意外とめんどうなんですね。
心がウキウキするように、色々な色で楽しみたいと思っているんですが・・。 そこで、今回はシートを最初から色付きのタブにしてみようかと思います。
心がウキウキするように、色々な色で楽しみたいと思っているんですが・・。 そこで、今回はシートを最初から色付きのタブにしてみようかと思います。
ColorIndexの1~10でシートを追加
はじめのコードは、シートを10枚追加して色をColorIndexの1~10に割り当てます。
シートを追加する変数をそのままTab.ColorIndexでも使うという、簡単なやり方です。
シートを追加する変数をそのまま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番までのカラーインデックスのタブ色をしたシートが作成されました。

シートタブに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 SubFor~Nextステートメントを使って繰り返しています。

追加したシートの名前が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

For~Nextステートメントの使い方
For~Nextステートメントの使い方
最初に、Forで繰り返し回数を宣言します。
繰り返し回数は、カウンタの変化範囲(開始値と終了値)で指定します。

最初に、Forで繰り返し回数を宣言します。
繰り返し回数は、カウンタの変化範囲(開始値と終了値)で指定します。

たとえば、
「開始値が1,終了値が56」なら繰り返しは、56回。
繰り返しの終了位置はNextで指定します。
「開始値が1,終了値が56」なら繰り返しは、56回。
繰り返しの終了位置はNextで指定します。
For~Next が実行されると、
カウンタの値が開始値から1ずつカウントアップされ、
終了値に達すると繰り返しが終了します。
カウンタの値が開始値から1ずつカウントアップされ、
終了値に達すると繰り返しが終了します。
好きな色をシートタブの色にする
上のコードでは、シートが56枚できるので、そんなにいらないということにもなりかねませんね。
そこで、お気に入りのカラーを配列に入れておき、その色にシートタブの色を変更するということもできます。
暖色系だけの色を集めたり、寒色系の色をあつめたりして楽しめます。次の例では、ColorIndexからブルー系をチョイスすることにしました。
そこで、お気に入りのカラーを配列に入れておき、その色にシートタブの色を変更するということもできます。
暖色系だけの色を集めたり、寒色系の色をあつめたりして楽しめます。次の例では、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コードを実行すると、温かみのある色をしたシートタブのブックができました。

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