Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3296|回复: 6

[分享] [分享]【工作表Change事件之一】数据的不重复录入

[复制链接]
发表于 2008-2-24 11:49 | 显示全部楼层 |阅读模式

在数据录入过程中,为了防止录入重复数据,我们除了使用数据有效性中的自定义公式外,利用工作表的Worksheet_Change事件结合工作表CountIf函数可以达到同样的目的,并可根据需要进行其他操作,比数据有效性更加方便灵活。附件中对A到E列进行了设置,同列中不能输入重复值,代码如下:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim a As Integer
    Dim k As Byte
    If Target.Column < 6 And Target.Row > 1 Then
        If Target.Count = 1 Then
            a = Cells(65536, Target.Column).End(xlUp).Row
            k = Application.WorksheetFunction.CountIf(Range(Cells(2, Target.Column), Cells(a, Target.Column)), Target.Text)
            If Trim(Target.Text) <> "" And k > 1 Then
                Target.Value = "": Target.Select
                MsgBox "输入重复!", 64, "提示"
            End If
        End If
    End If
End Sub

X2HOCpWY.rar (6.32 KB, 下载次数: 34)
发表于 2008-2-24 11:52 | 显示全部楼层
回复

使用道具 举报

发表于 2008-2-24 11:55 | 显示全部楼层
回复

使用道具 举报

发表于 2008-2-24 12:04 | 显示全部楼层

换了我的条件格式法!整个工作薄的反应速度略快一点了!

回复

使用道具 举报

发表于 2008-2-24 13:09 | 显示全部楼层

谢谢分享!
回复

使用道具 举报

发表于 2008-2-24 13:24 | 显示全部楼层

多谢楼主
回复

使用道具 举报

发表于 2015-11-27 20:13 | 显示全部楼层
楼主,如果输入的数据已经存在,你现在的结果是清除,能不能清除后跳转到已存在数据的单元格位置,非常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-1 08:46 , Processed in 0.198421 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表