The Worksheet_Change event may change the value of some cells, which causes the event to be called again. And during the second call, the next event will be called again, etc. The execution of the code falls into an infinite loop. Although newer versions of Excel (probably from version 2003) are protected for such eventuality, this situation may generate unexpected errors. To prevent re-triggering of the Worksheet_Change event, you should first disable it and finally (mandatory!) enable the event response (Application.EnableEvents).
I also changed the record of your macro slightly, reducing the number of conditions to be checked during operation.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 3 Then
If Target.Row = 3 Then
If Target.Value = "No" Then
Me.Rows("4:4").Hidden = False
ElseIf Target.Value = "Yes" Or Target.Value = "" Then
Me.Rows("4:6").Hidden = True
End If
ElseIf Target.Row = 4 Then
If Target.Value = "Hard" Or Target.Value = "" Then
Me.Rows("5:6").Hidden = True
Range("B7").Value = "L"
Else
Me.Rows("5:6").Hidden = False
End If
End If
End If
Select Case Range("C3").Value
Case "", "No"
If Range("C4").Value = "" Or Range("C5").Value = "" Or Range("C6").Value = "" Then
Range("B7").ClearContents
End If
Case "Yes"
Range("B7").Value = "XL"
End Select
If Range("C4").Value = "Medium" Then
If Range("C6").Value = "Yes" Then
Select Case Range("C5").Value
Case "Yes", "Maybe", "No"
Range("B7").Value = "L"
End Select
ElseIf Range("C6").Value = "No" Then
Select Case Range("C5").Value
Case "Yes", "Maybe"
Range("B7").Value = "L"
Case "No"
Range("B7").Value = "M"
End Select
End If
End If
If Range("C4").Value = "Easy" Then
If Range("C6").Value = "Yes" Then
Select Case Range("C5").Value
Case "Yes", "No", "Maybe"
Range("B7").Value = "M"
End Select
ElseIf Range("C6").Value = "No" Then
Select Case Range("C5").Value
Case "Maybe"
Range("B7").Value = "S"
Case "Yes"
Range("B7").Value = "M"
Case "No"
Range("B7").Value = "XS"
End Select
End If
End If
Application.EnableEvents = True
End Sub
Another reason for the error may be the occurrence of a sheet error in the formulas used, if the macro refers to cells containing these formulas. Do C4, C5 and C6 cells contain formulas that can return as a result of a sheet error?
Artik