excel里如何设置同一列的不能重复输入
写个宏吧
在下面的标签上右键查看代码,复制以下代码进去。看图
Dim x, y
Private Sub Worksheet_Change(ByVal Target As Range)
Dim m, n, ab, yn, s, q
If Cells(x, y).Value = "" Then
Exit Sub
End If
m = Cells(65536, y).End(xlUp).Row
ab = Cells(x, y).Value
For i = 1 To m
If ab = Cells(i, y).Value Then
If i = x Then
i = i + 1
End If
If ab = Cells(i, y).Value Then
s = x
q = y
Cells(i, y).Select
Selection.Interior.ColorIndex = 38
yn = MsgBox("你输入的值:" & ab & "和第" & i & "行相同", 4 + 256, "重复查询")
If yn = vbYes Then
Selection.Interior.ColorIndex = xlNone
Cells(s, q).Select
Else
Selection.Interior.ColorIndex = xlNone
Cells(s, q).Select
Cells(x, y).Value = ""
End If
Exit Sub
End If
End If
Next
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = ActiveCell.Row
y = ActiveCell.Column
End Sub
点右上角的关闭按钮,到excel里试试吧,看看能不能做到你的要求。
参考资料: 1
数据-数据有效性-自定义 输入公式 =COUNTIF(A:A,A1)=1
出错警告-错误信息 输入 此信息已输入
确定即可
确定即可。
假如你想把A列的所有数据都不重复操作如下:
全选A列——菜单栏里的数据——数据有效性——设置——有效性条件——允许(自定义)——公式(=COUNTIF($A$1:$A$1000,A14)=1)——确定。
此步骤就大功告成了。所有A列的数据将无法输入同名数据或文字。
首先选择,数据-有效性-自定义,公式输入=COUNTIF($A$1:$A$1000,A1)=1,
然后将鼠标点击A1单元格,鼠标放置右下角,当出现“+”时按住鼠标左键,向下拖到A1000