Isso mostrará as três linhas na mudança de C5 e, em seguida, mostrará a próxima linha quando C for alterado:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C5"), Target) Is Nothing Then
Rows(6).Hidden = Target.Value = ""
Rows("106:107").Hidden = Target.Value = ""
End If
If Not Intersect(Range("C6:C105"), Target) Is Nothing Then
Rows(Target.Row + 1).Hidden = Target.Value = ""
End If
End Sub