こんな感じで、どうでしょう。
Dim ws As Worksheet Dim youbi As String For Each ws In Worksheets youbi = Format(ws.Range("I1").Value, "aaa") If youbi = "日" Then ws.Tab.ColorIndex = 3 ElseIf youbi = "土" Then ws.Tab.ColorIndex = 5 Else ws.Tab.ColorIndex = xlColorIndexNone End If Next ws
ws.Select は邪魔くさいと思うので外しましたが、必要ならつけてください。
元の色に戻すロジックが無かったので、足してみました。
▽2
●
snow0214 ●350ポイント ベストアンサー |
まずI1に代入式は次のようにしてください。
=TEXT(C1 & "/" & E1 & "/" & G1,"aaa")
次にマクロは次のようにしてください。
セル結合したところは、"I1:I3" ではなくて "I1:I1" でないと参照できません。
Option Explicit Sub Change_SheetTabColor() 'シートタブの色を、セルD3の値が土曜日なら青色に、日曜日・祝日なら赤色にするマクロ Dim ws As Worksheet For Each ws In Worksheets ws.Select If Range("I1:I1").Value = "日" Then Sheets(ws.Name).Tab.ColorIndex = 3 ElseIf Range("I1:I1").Value = "土" Then Sheets(ws.Name).Tab.ColorIndex = 5 End If Next ws End Sub