Excel教程

Excel函数
Excel技巧

【excel教程】Excel单元格限定只能输入中文汉字

当前位置:网站首页 > Excel教程

【excel教程】Excel单元格限定只能输入中文汉字

* 来源: 【公众号ID:office196】 * 作者: 【office教程学习】 * 发表时间: 2020-01-05 12:36:54 * 浏览: 14

做了这么一份表格发给大家去填写,填写完要回收回来。

「Excel技巧」Excel单元格限定只能输入中文汉字


明明已经口头或是书面强调,表格里的昵称只能设置为中文。偏偏一些不听话的同事,填写的昵称还是带英文字母或是数字,甚至是特殊符号。

怪谁呢?

只能怪你自己表格做得不够严谨。

其实,如果你懂得给表格做个输入限制,限制单元格只允许输入中文汉字,那么这些人不规范填写也不行,想捣蛋都不行。

但是,具体怎么做到限制Excel单元格只允许输入中文汉字?

两种方法可以实现,一种是利用数据有效性功能,一种是VBA方法。

一、数据有效性功能

1、选择要限制的单元格区域E2:E8,点击【数据】—【数据验证】;

2、在弹出的【数据验证】对话框里,点击【设置】选项卡,验证条件选择允许【自定义】,然后在公式输入框里,输入以下公式:=AND(LENB(ASC(E2))=LENB(E2),LEN(a1)*2=LENB(E2));

「Excel技巧」Excel单元格限定只能输入中文汉字


3、切换到【出错警告】选项卡,设置出错警告信息,如下图:

「Excel技巧」Excel单元格限定只能输入中文汉字


4、最后点击【确定】即可。

这时,只要在E2:E8单元格区域输入非中文汉字,就会弹出出错警告提示框。

「Excel技巧」Excel单元格限定只能输入中文汉字


二、VBA方法

操作步骤:

1、打开要设置的工作表,右键工作表标签—查看代码;

「Excel技巧」Excel单元格限定只能输入中文汉字


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 = "[^\\u3447-\\uFA29]"

If .test(Target.Value) Then

Target.Value = .Replace(Target.Value, "")

MsgBox("单元格只能输入中文汉字")

End If

End With

End Sub

如图所示:

「Excel技巧」Excel单元格限定只能输入中文汉字


3、关闭VBA代码框,然后在表格的E2:E8单元格区域里,只要输入中文汉字以外的内容时,输入的内容就会变成空的,同时会弹出一个提示框,提示“单元格只能输入中文汉字”,如下图:

「Excel技巧」Excel单元格限定只能输入中文汉字