В следующей таблице я хотел бы проверить строку 3 на наличие дубликатов:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lCol As Long
Dim c1 As Long, c2 As Long
lCol = Cells(3, Columns.Count).End(xlToLeft).Column
If lCol < 8 Then Exit Sub
If Not Intersect(Target, Range(Cells(3, 7), Cells(3, lCol))) Is Nothing Then
For c1 = 7 To lCol
For c2 = 8 To lCol
If c1 <> c2 And Cells(3, c1) = Cells(3, c2) And Cells(3, c1) <> "" Then
MsgBox "You cannot have duplicate values"
If c1 > c2 Then
With Cells(3, c1)
.ClearContents
.Select
End With
Else
With Cells(3, c2)
.ClearContents
.Select
End With
End If
End If
Next
Next
End If
End Sub
Когда я проверяю код (вставляя дублирующееся значение или фактически просто любое значение), я получаю следующее сообщение об ошибке:
Ошибка времени выполнения '1004': метод 'Диапазон' og объекта '_Worksheet' не выполнен
в строке:
If Not Intersect(Target, Range(Cells(3, 7), Cells(3, lCol))) Is Nothing
Что такоеЯ делаю не так?