Sorry, I forgot an End If:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
If Not Intersect(Range("C:C"), Target) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
Me.Unprotect Password:="secret"
For Each rng In Intersect(Range("C:C"), Target)
If rng.Value = "Yes" Then
rng.Offset(1).Resize(2).EntireRow.Hidden = False
rng.Offset(1).Resize(2).EntireRow.AutoFit
Else
rng.Offset(1).Resize(2).EntireRow.Hidden = True
End If
Next rng
Me.Protect Password:="secret"
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub