- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでのシートの色が)
VBAでのシートの色を指定したい方法
このQ&Aのポイント
- VBAを使用して、Excelのシートの色を指定する方法について教えてください。
- シートタブに該当する月ごとに色を付けたいのですが、特定の月のシートのみに色を指定する方法を知りたいです。
- Workbook Openイベントを使用して、現在の月とシート名を比較し、該当する月のシートタブに色を付ける方法を教えてください。
- みんなの回答 (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
その他の回答 (1)
- soixante
- ベストアンサー率32% (401/1245)
回答No.1
For Each 文と、If sh.Name分の間に以下を入れてはどうでしょう。 sh.Tab.ColorIndex = xlNone 毎回すべてのシートタブを無色にして、 そのうえで、該当月を赤くする、という作業です。 それをしないと、今回のように月替わりの時に前月のタブが赤いまま残ってしまうでしょう。
質問者
お礼
御指導いただき誠に有難うございました。
質問者
補足
ご指導いただいたマクロを試しました。 その結果 8 のシートタブの赤色は消えて 9 シートタブには赤色が付きました。 有難うございました。 ただ、 1 ~ 12 のシート以外に 「年間稼働率」「入力」「顧客名簿」「祭日」というシートが4つあって これらのシートタブにも色付けしていたのものも消えてしまいす。 これらの4つのシートタブの色付けはそのままにして残したいのですが可能でしょうか。 可能ならば再度ご指導願えませんか
お礼
試させていただきました。 8 ~ 9 に該当月が替わっても 8のシートタブの赤が消え 9のシートタブの赤が付き、 尚且つ1~12のシート以外のタブの色はそのままで私の思いのままです。 ありがとうございました。