• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでのシートの色が)

VBAでのシートの色を指定したい方法

このQ&Aのポイント
  • VBAを使用して、Excelのシートの色を指定する方法について教えてください。
  • シートタブに該当する月ごとに色を付けたいのですが、特定の月のシートのみに色を指定する方法を知りたいです。
  • Workbook Openイベントを使用して、現在の月とシート名を比較し、該当する月のシートタブに色を付ける方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

Private Sub Workbook_Open() Dim sh As Worksheet     For Each sh In Worksheets         If isnumeric(sh.Name) Then             sh.Tab.ColorIndex = xlNone             If sh.Name = Month(Now) Then                 sh.Tab.Color = 255 ' 赤             End If         End If     Next End Sub

dorasuke
質問者

お礼

試させていただきました。 8 ~ 9 に該当月が替わっても 8のシートタブの赤が消え 9のシートタブの赤が付き、 尚且つ1~12のシート以外のタブの色はそのままで私の思いのままです。 ありがとうございました。

その他の回答 (1)

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.1

For Each 文と、If sh.Name分の間に以下を入れてはどうでしょう。 sh.Tab.ColorIndex = xlNone 毎回すべてのシートタブを無色にして、 そのうえで、該当月を赤くする、という作業です。 それをしないと、今回のように月替わりの時に前月のタブが赤いまま残ってしまうでしょう。

dorasuke
質問者

お礼

御指導いただき誠に有難うございました。

dorasuke
質問者

補足

ご指導いただいたマクロを試しました。 その結果 8 のシートタブの赤色は消えて 9 シートタブには赤色が付きました。 有難うございました。 ただ、 1 ~ 12 のシート以外に 「年間稼働率」「入力」「顧客名簿」「祭日」というシートが4つあって これらのシートタブにも色付けしていたのものも消えてしまいす。 これらの4つのシートタブの色付けはそのままにして残したいのですが可能でしょうか。 可能ならば再度ご指導願えませんか

関連するQ&A