Excel中禁止输入重复值的数据有效性方法详解和VBA方法 图文

2019年7月14日10:48:30Excel中禁止输入重复值的数据有效性方法详解和VBA方法 图文已关闭评论 3,843 views
微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com

在实际工作表格中,经常会遇到需要某列规定只能输入唯一数据,比入人名,商品编号,序号,身份证等,禁止在同列中输入重复数据,以确保数据唯一性.这个问题在数据库中可以很容易做到,那么在Excel当然也是可以的,这里教大家2个方法:

方法一、使用数据有效性禁止同列输入重复数据

步骤如下

  • 例如要使A列不能输如重复数据 则选择A2 数据-有效性 出现对话框在设置和出错警告页面分别如下图设置 然后复制A2

  • 选中要应用有效性的区域 如A3:A10,右键-选择性粘贴 点选有效性 确定 大功告成!

  • 完成效果如下 即当在A列输入新值若已存在 那么就会禁止输入

这里有一个地方特别注意,就是当你的数据是超过15位的数字时,比如身份证,银行卡号等数据,公式需要改为countif(A:A,A1&"*"),否则会产生错误,因为系统只能识别15位有效数字,15位后面的数字都会作为0处理,加了*以后才会作为文本处理

上面方法有一个弊端,就是用户是复制其他地方单元格粘贴的话,将会无视数据有效性的设置,还是可以输入重复值,那么可以采用下面VBA的方法做到完全禁止

方法二、VBA使用事件代码禁止同列输入重复值

在sheet的事件代码中写入下面代码即可,具体原理及使用详见我专栏视频,本方法可处理用户多个单元格一起输入和复制粘贴操作破坏方法一禁止重复值的操作

视频教程请到我主页专栏查看 VBA-技巧54 禁止录入重复值CHANGE事件+COUNTIF函数

表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页