- 帖子
- 2848
- 主題
- 10
- 精華
- 0
- 積分
- 2903
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2026-7-25
|
Private Sub Worksheet_Change(ByVal Target As Range)
Dim T, i%, S
With Target
If .Count > 1 Then Exit Sub
If Intersect([H5:H6], .Cells) Is Nothing Then Exit Sub
Application.EnableEvents = False
.Value = UCase(.Value)
Application.EnableEvents = True
If Not .Value Like "[A-Z]#########" Then MsgBox "身份證輸入錯誤!!": Exit Sub
T = InStr("ABCDEFGHJKLMNPQRSTUVXYWZIO", Left(.Value, 1)) + 9 & Mid(.Value, 2, 8)
For i = 1 To 10
S = S + Mid(T, i, 1) * Left(11 - i, 1)
Next i
T = Right(10 - Right(S, 1), 1)
If T <> Mid(.Value, 10, 1) Then MsgBox "身份證字號錯誤!檢查碼:" & T
End With
End Sub |
|