如何强制EXCEL录入内容的时候只能填英文?
excel吧
全部回复
仅看楼主
level 1
84338585 楼主
我想做一份EXCEL模板,别人用这个模板录入里面的信息的时候,强制录入英文,不能录入中文字符,请问如何实现?
2010年02月24日 03点02分 1
level 5
1。选定单元格
2。菜单[数据]-〉数据有效性-〉TAB输入法模式设定即可
2010年02月24日 04点02分 2
level 1
84338585 楼主
我设定好了,但是那个单元格还是能切换出输入法并且能输入中文
我用的是excel2003,还需要设置其他的吗?
2010年02月24日 04点02分 3
吧务
level 14
=(CODE(A1)>64)*(CODE(A1)<91)+(CODE(A1)>96)*(CODE(A1)<123)
?
2010年02月24日 04点02分 4
level 1
84338585 楼主
啊,谢谢,用公式以后好了~~
2010年02月24日 04点02分 5
吧务
level 14
回复:5楼
其实那个公式极不严谨,CODE只能对第一个字符进行判断,也就是说你仍然可以输入 A123 之类的
2010年02月24日 04点02分 6
吧务
level 10
英文字符应该包括标点符号和阿拉伯数字吧?
数据有效性公式=LEN(A1)=LENB(A1),可以吗?
2010年02月24日 06点02分 7
level 1
84338585 楼主
啊!不行啊,我现在输入什么都提示数据非法
不光是中文输入不进去
麻烦再帮我看看吧~
2010年02月24日 06点02分 8
level 1
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
For i = 1 To Len(Target.Text)
a = Asc(Mid(Target.Text, i, 1))
If (a > -20319 And a < -2050) Then
MsgBox ("不能输入中文")
Target.Value = ""
Application.EnableEvents = True
Exit Sub
End If
Next i
Application.EnableEvents = True
End Sub
把上边那段代码输入到vba的thisworkbook里
就可以了
2010年02月24日 10点02分 9
1