我想防止用户输入基于两列的重复条目。
例如: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下才起作用。