Here was my attempt just for info, its a bit lame but none the less it was my attempt.
[VBA]Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Long, rng As String
On Error GoTo ender
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If UCase(Target.Value) = "C" Then
Rows(Target.Row + 1 & ":" & Target.End(xlDown).Row).EntireRow.Hidden = True
Else
x = Target.Row
Do
x = x + 1
If Range("A" & x).Value <> "" Then
rng = Range("A" & x).Address
Else
GoTo jump1
End If
Loop
jump1:
Range(Target, Range(rng)).EntireRow.Hidden = False
End If
End If
ender:
End Sub
[/VBA]