Dim nextcell As Range
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Select Case Target.Column
Case 1
If Target <> "" Then Set nextcell = Target.Offset(, 2)
Case 3
If Target.Offset(, -2) = "" Then Set nextcell = Target.Offset(, -2)
If Target <> "" Then Set nextcell = Target.Offset(, 2)
Case 5
If Target.Offset(, -4) = "" Then Set nextcell = Target.Offset(, -4): nextcell.Activate: Exit Sub
If Target.Offset(, -2) = "" Then Set nextcell = Target.Offset(, -2)
Case Else
End Select
If Not nextcell Is Nothing Then nextcell.Activate
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If "35" Like "*" & Target.Column & "*" and not nextcell is nothing Then If Target.Offset(, -2).Row = nextcell.Row Then Exit Sub
If Not nextcell Is Nothing Then nextcell.Activate
End Sub