You're welcome. Glad it's all working. As an aside, you can move the code from your Module straight in to the Change macro, and you can use a neat trick to decide whether to hide or not, by setting the Hidden to be the answer to the If statement:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$O$26" Then
Rows("27:59").EntireRow.Hidden = (UCASE(Range("O26").Value) = "X")
End If
End Sub
This works because (Range("O26").Value = "X") returns True or False - i.e. the same as you want to set for Hidden. Something else to watch is the case. By default "x" <> "X", so UCASE will ensure you get the expected result.
Bookmarks