做了这么一份表格发给大家去填写,填写完要回收回来。
![418344d8b5f5814e4f72449f6c9541e1.png](https://img-blog.csdnimg.cn/img_convert/418344d8b5f5814e4f72449f6c9541e1.png)
明明已经口头或是书面强调,表格里的昵称只能设置为中文。偏偏一些不听话的同事,填写的昵称还是带英文字母或是数字,甚至是特殊符号。
怪谁呢?
只能怪你自己表格做得不够严谨。
其实,如果你懂得给表格做个输入限制,限制单元格只允许输入中文汉字,那么这些人不规范填写也不行,想捣蛋都不行。
但是,具体怎么做到限制Excel单元格只允许输入中文汉字?
两种方法可以实现,一种是利用数据有效性功能,一种是VBA方法。
一、数据有效性功能
1、选择要限制的单元格区域E2:E8,点击【数据】—【数据验证】;
2、在弹出的【数据验证】对话框里,点击【设置】选项卡,验证条件选择允许【自定义】,然后在公式输入框里,输入以下公式:=AND(LENB(ASC(E2))=LENB(E2),LEN(a1)*2=LENB(E2));
![16bf398f750ba55f9934ec91e88eefc7.png](https://img-blog.csdnimg.cn/img_convert/16bf398f750ba55f9934ec91e88eefc7.png)
3、切换到【出错警告】选项卡,设置出错警告信息,如下图:
![a43f8a98ca10f71a6a061fff15f09343.png](https://img-blog.csdnimg.cn/img_convert/a43f8a98ca10f71a6a061fff15f09343.png)
4、最后点击【确定】即可。
这时,只要在E2:E8单元格区域输入非中文汉字,就会弹出出错警告提示框。
![8f30ea3599026d37be458d366013ac59.png](https://img-blog.csdnimg.cn/img_convert/8f30ea3599026d37be458d366013ac59.png)
二、VBA方法
操作步骤:
1、打开要设置的工作表,右键工作表标签—查看代码;
![14097c474e8a95fc013d8d3bf1f4e503.png](https://img-blog.csdnimg.cn/img_convert/14097c474e8a95fc013d8d3bf1f4e503.png)
2、在打开的VBA代码框里,输入以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, [E2:E8]) Is Nothing Then Exit Sub
With CreateObject("vbscript.regexp")
.Global = True
.Pattern = "[^㑇-﨩]"
If .test(Target.Value) Then
Target.Value = .Replace(Target.Value, "")
MsgBox("单元格只能输入中文汉字")
End If
End With
End Sub
如图所示:
![942ced64fb03df6c66dc21f95d860518.png](https://img-blog.csdnimg.cn/img_convert/942ced64fb03df6c66dc21f95d860518.png)
3、关闭VBA代码框,然后在表格的E2:E8单元格区域里,只要输入中文汉字以外的内容时,输入的内容就会变成空的,同时会弹出一个提示框,提示“单元格只能输入中文汉字”,如下图:
![6b1c427824a12e67444d2af2e69573a1.gif](https://img-blog.csdnimg.cn/img_convert/6b1c427824a12e67444d2af2e69573a1.gif)