The final code does skip the first 3 columns - this also skips the first 3 rows:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Target.Row < 4 Then Exit Sub 'Ignore rows 1,2, and 3
If Intersect(Target, Range("E:E, G:G, I:I , K:K, M:M, O:O, Q:Q, S:S")) Is Nothing Then Exit Sub
If Application.CountIf(Target.EntireRow, Target.Value) > 1 Then
Application.EnableEvents = False
Application.Undo
MsgBox "Don't duplicate values in a row!"
Application.EnableEvents = True
End If
End Sub
Bookmarks