ヒガサラblog

サラリーマン向けに、仕事を効率良く進めていくための方法についてご紹介しています。プログラミングから対人スキルまでを幅広く掲載中。

ヒガサラblog

【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へ
にほんブログ村

 

それではまた!