Я бы хотел, чтобы пользователь не вводил дубликат записи, основанный на двух столбцах.
Пример: в столбце B указаны поставщики, а в столбце E указан номер детали, не должно быть повторяющихся комбинаций поставщиков и номеров деталей.
Вот весь мой код:
' Runs events based on target changes
Private Sub Worksheet_Change(ByVal Target As Range)
Confirmation Target
'ChangeDirectCost Target
End Sub
' Keeps user from entering the same vendor / part # twice
Private Sub Confirmation(ByVal Target As Range)
With Target
If (.Column <> 2 And .Column <> 5) Or .Cells.Count = 1 Then Exit Sub
If WorksheetFunction.CountIf(Columns(.Column), .Value) > 1 Then
Application.DisplayAlerts = False
.ClearContents
Application.DisplayAlerts = True
MsgBox "Vendor / Part # combination already exists!"
End If
End With
End Sub
Иногда я получаю ошибку несоответствия типов, а иногда после корректировки кода, как только я помещаю значение в столбец B, я получаю MsgBox без значения в столбце E.
Изначально код находился под модулем, но не работал, пока я не поместил его под Sheet1.