excel限定输入身份证号
excel 单元格怎样设置只能输入大写字母和数字,其他汉字、小写字母、符号等之类的都不能输入,同时位数只能是18位,且限定区域内不能有重复数据
最佳答案
Private Sub Worksheet_Change(ByVal Target As Range)
'验证刚刚输入(或粘贴)的一个单元格的数据是不是工作表中唯一的正确的身份证号码
'限定区域为A列
Dim n%, i%, j%, k%, xishu, shuzi(18)
On Error GoTo 200
If Target.Column > 1 Then Exit Sub
If Target = "" Then Exit Sub
If Len(Target) = 18 Then
xishu = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2)
For i = 0 To 17
shuzi(i) = Mid(Target, i + 1, 1)
Next i
k = 0
For j = 0 To 16
k = k + CInt(xishu(j)) * CInt(shuzi(j))
Next j
k = (12 - k Mod 11) Mod 11
If k = 10 Then
If shuzi(17) = "X" Then
If Application.WorksheetFunction.CountIf(Range("A:A"), Target) > 1 Then Target = ""
Else
Target = ""
End If
Else
If CInt(shuzi(17)) = k Then
If Application.WorksheetFunction.CountIf(Range("A:A"), Target) > 1 Then Target = ""
Else
Target = ""
End If
End If
Else
Target = ""
End If
Exit Sub
200 If i = 0 Then Exit Sub
Target = ""
End Sub
其他回答
其它网友回答:
我也想问问问怎么弄
其它网友回答:
这个需要自己进行编程的哦
其它网友回答:
更改单元格属性
其它网友回答:
要更改输入模式的
其它网友回答:
18位身份证号
其它网友回答:
限定身份证号码输入18位数值,如果少于或者多于18位,excel就会做出相应的报警提醒,要实现这一目的,excel中有一个数据有效性的功能可以实现这一出错报警的效果。
其它网友回答:
首先将输入身份证的单元格格式设置为文本
其它网友回答:
选择单元格,数据→数据有效性→文本长度→等于→18