Glad it worked for you
It can be made a little more robust and elegant
#3 in my sig explains how you can mark it [SOLVED]
Option Explicit
Const ColorNoZeros As Long = vbGreen
Const ColorSomeZeros As Long = vbRed
Private Sub Workbook_Open()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
Call pvtChangeTabColor(ws)
Next
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call pvtChangeTabColor(Sh)
End Sub
Private Sub pvtChangeTabColor(ws As Worksheet)
With ws
If UCase(Trim(.Range("D1").Value)) <> "MCF" Then Exit Sub
If Application.WorksheetFunction.CountIf(.Columns(4), 0) = 0 Then
.Tab.Color = ColorNoZeros
Else
.Tab.Color = ColorSomeZeros
End If
End With
End Sub