如何加减单元格指定数字_巧用单元格保护功能+字典技术,制作高大上的人员信息录入表

通过限定输入位置、查重、限定手机号位数及使用VBA字典,提高Excel数据录入速度与准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小姐姐的问题

一个人事小姐姐找我说她平常要录入很多人员信息,工作容易出错,主要出现录错、录重复、录入效率低下的问题,很是苦恼,问我有没有好的解决办法,那么如何快速高效的录入数据呢?

我想想了, 给她做一个模板表,如下图所示:

e78faec277d260b4a4a2515522ce235c.gif

Sheet2作为录入界面,Sheet1作为新人信息表存入界面,主要有以下4点功能

1、鼠标可选单元格主要集中在四个字段后面的单元格,输入完一个信息后,Tab键直接切换到下一个信息单元格,省去点击鼠标的麻烦,同时限定输入的位置,不会出错;

2、查重,在录入的时候,检测待录入人员是否重复录入,如果表1中已经存在此人,则提示已经存在,需要重新录入;

9d2d334786043448dfd339c929656aa0.png

3、限定手机号码输入位数,防止手机号录入出错,只有输入11位数字时才能成功输入;

c71ba32cc575566db0253f1f19582543.png

4、成功录入一个人员信息之后,清空录入界面,方便下一个人员的录入。

我们利用三个知识点,对这个功能进行讲解。

知识点1:利用工作表保护限定输入位置

Tab键小伙伴们都不陌生,按一下Tab键,选中单元格会自动切换到后面的一个单元格,那么如果实现Tab键在指定的单元格中切换呢

第一步,按住Ctrl键,依次点选四个单元格,然后按下组合键Ctrl+1键,调出设置单元格界面,点击【保护】,取消勾选【锁定】,按【确定】按钮完成设置;

第二步,依次点击【审阅】——【保护工作表】,在弹出界面中取消勾选【选定锁定单元格】。

完成以上两步操作之后,可以发现, 再次按Tab键,Excel输入框只会在四个单元格中来回切换

f66d8daf9087a2975ba91bf85ced2d44.gif

知识点2:利用数据有效性限定输入位数

紧接着限定手机号码输入的位数,数据验证(数据有效性)轻松搞定!

选中手机号码输入单元格,依次点击【数据】——【数据验证】,依次选择“文本长度”、“等于”、“11”,点击“出错警告”,在“出错信息”框内输入“请输入11位手机号码”,点击“确定”,完成设置!

eacbb04db82e40913b166c1ab66876be.gif

注意:此步应该在最开始设置,因为第一步设置了工作表保护之后,无法再对单元格进行数据有效性设置!

知识点3:利用VBA字典字数,判断是否重复录入

由于字典的特性,key值唯一,不可重复,我们只需要将已经存在的人员列表录入到字典中去接着在判断待会去员工是否存在于字典中即可;

如果存在则不录入,如果不存在则录入数据,并清空录入界面,代码如下图所示:

896890e0536b5e4c751c991aedbd3720.png

方便小伙伴们复制,明细代码如下所示:

Sub 人员录入()a = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Rowb = Range("B3")Dim arr()On Error Resume NextSet d = CreateObject("scripting.dictionary")arr = Range(Worksheets("sheet1").Cells(2, 1), Worksheets("sheet1").Cells(a, 2))For i = 1 To UBound(arr)d.Add arr(i, 1), arr(i, 2)NextIf d.exists(b) Then                                 MsgBox "已存在此人,从重新输入"Exit SubElseWorksheets("sheet1").Cells(a + 1, 1) = Range("B3")  Worksheets("sheet1").Cells(a + 1, 2) = Range("D3")Worksheets("sheet1").Cells(a + 1, 3) = Range("B5")Worksheets("sheet1").Cells(a + 1, 4) = Range("D5")Range("b3").ClearContents                       Range("d3").ClearContentsRange("b5").ClearContentsRange("d5").ClearContentsEnd IfMsgBox "已完成"End Sub

小结

此模板并非适用于任何场景,根据不同的数据录入需求,去修改调整,重要的是学习制作的思路,思路明白了,其它的都不再是问题~

觉得有用,欢迎关注我,定期分享数据小技巧。

3d635ad134d519ffd1669d584c3492db.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值