我正在寻找一种防止用户将重复条目添加到excel列的方法。我在excel中找到了设置列的方法,但不适用于userform输入。
我已经在excel中尝试了“数据验证”设置,但它们可以正常工作,但是当输入来自用户窗体时,它们却没有。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strTargetcolumn As String
Dim nTargetRow As Integer
Dim nLastRow As Integer
Dim strMsg As String
strTargetcolumn = Split(Target.Address(,False),"$")(0)
nTargetRow = Split(Target.Address(,"$")(1)
nLastRow = activeSheet.Range(strTargetcolumn & activeSheet.Rows.Count).End(xlUp).Row
For nRow = 1 To nLastRow
If nRow <> nTargetRow Then
If activeSheet.Range(strTargetcolumn & nRow).Value = Target.Value Then
strMsg = "The value has been entered in the same column!"
MsgBox strMsg,vbExclamation + vbOKOnly,"Duplicate Values"
Target.Select
Exit For
End If
End If
Next
End Sub
这是我在网络搜索过程中发现的一些代码,弹出该代码时,已在该列中输入了重复项,但仍然允许它留在该列中。
我想让一个弹出窗口告诉用户他们添加了重复项,并且不允许它进入单元格。这可能吗?