【VBA】複数シートの見出し色を一括変更する方法!

f:id:yshgs_elec:20210220190426p:plain

この記事ではVBAを使って、各シート見出し色を一括変更する方法をご紹介していきます。

f:id:yshgs_elec:20210220163058j:plain

今回は上の画像のようにカラフルな色に変更する方法と、下の画像のように単一の色の濃度を徐々に変更するやり方の2パターンにわけてご紹介していきます。

f:id:yshgs_elec:20210220185146j:plain

それでは早速やっていきます!

 

スポンサーリンク

シートの見出し色をカラフルに変更する方法

まずは冒頭にお見せしたようにカラフルな色に変更してみましょう。

 

◆サンプルコード

Sub sheet_color1()
    Dim i As Integer
    For i = 1 To Worksheets.Count
        ActiveWorkbook.Sheets(i).Tab.ColorIndex = i
    Next
End Sub

はい、たったのこれだけです。

 

念のため実行してみましょう。

実行前はこんな感じで無色です。

f:id:yshgs_elec:20210220163525j:plain

「いざ、実行!!!」

f:id:yshgs_elec:20210220163545j:plain

完璧ですね。

 

よく使うシートの色を覚えておけば、シートの選択効率が上がりそうですね。

 

◆コードのポイント解説

基本的にやっていることは

ActiveWorkbook.Sheets(i).Tab.ColorIndex = i

という部分で各タブの色を変えています。

 

Sheets(i):先頭から何番目のシートかを指定

Tab.ColorIndex = i:タブの色を指定

 

ここで出てきたColorIndexというのは以下の画像のように各色を数値で表すことのできる便利なものだとおもっていただいてOKです。

f:id:yshgs_elec:20210220184114j:plain

「最初の黒、白は除外したい。」

という方は

ActiveWorkbook.Sheets(i).Tab.ColorIndex = i+2

とすればOKです。

スポンサーリンク

シートの見出し色を一色で徐々に変更する方法

◆サンプルコード

Sub sheet_color2()
    Dim i As Integer
    For i = 1 To Worksheets.Count
        ActiveWorkbook.Sheets(i).Tab.Color = RGB((255 \ Worksheets.Count) * i, 0, 0)
    Next
End Sub

こいつを実行すると以下のようになりました。

f:id:yshgs_elec:20210220185146j:plain

今いるシートが先頭からどのあたりなのかをすぐに判断したいような場合は、このような設定をしておくと良いでしょう。

 

◆コードのポイント解説

先ほどのコードと少し変わり、

ActiveWorkbook.Sheets(i).Tab.Color = RGB(*,*,*)

という部分で各タブの色を変えています。

このRGBというものは、赤、緑、青の3要素を組み合わせることで色を表現するというものです。

※今回は赤の要素を処理を重ねるごとに徐々に増やしていくことで、色の濃度変化を表現しています。

スポンサーリンク

おわりに

というわけで今回は複数シートの見出し色を一括変更する方法をご紹介しました。

 

頻繁に利用するエクセルファイルであれば、このような処理を一度行っておくことで、シート選択するときの効率があがるはずです。

ぜひ一度設定してみましょう。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました