Private Sub Worksheet_Change(ByVal Target As Range)
Dim a, b, e
Application.ScreenUpdating = False
a = Array("B", "C")
b = Array("D", "E")
For Each e In Split(Join(a, Chr(1)) & Chr(1) & Join(b, Chr(1)), Chr(1))
Sheets(e).Visible = xlSheetVisible
Next
If LCase([B1]) = "start1" Then Exit Sub
If LCase([B1]) <> "start2" Then Sheets(a).Visible = xlSheetHidden 'xlSheetVeryHidden
If LCase([B1]) <> "start3" Then Sheets(b).Visible = xlSheetHidden 'xlSheetVeryHidden
Me.Select
End Sub