Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [c7]) Is Nothing Or Target.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
Rows("8:23").Hidden = True
Select Case UCase(Target.Value)
Case "MATH"
Rows("8:11").Hidden = False
Case "PC"
Rows("12:14").Hidden = False
Case "SVT"
Rows("15:17").Hidden = False
Case "PHILO"
Rows("18:23").Hidden = False
Case Else
Rows("8:23").Hidden = False
End Select
End Sub