给Excel 增加根据身份证号码求性别和身份证校验的函数

输入居民身份证号码时要进行核对,很费时间,用VBA几行代码就可以完成输入是否正确的验证,会节省不少的时间,在结合下面求性别的函数,输入效率更会有极大的提设


Public Function IDcheck(ID As String) As Boolean
    '**************************************************
    '* 身份证号码校验函数
    '* BH4BIN 2023/1/29
    '**************************************************
    Dim s As Long
    Dim i As Long
    Dim z As String
    Dim e As String
    s = 0
    If Len(ID) = 18 Then
        For i = 1 To 17
            s = s + Val(Mid(ID, 18 - i, 1)) * (2 ^ i Mod 11)
        Next
        e = Mid("10X98765432", (s Mod 11) + 1, 1)               '生成校验码
        z = UCase(Right(ID, 1))
        If z = e Then                                           '校验码对比
            IDcheck = True
        Else
            IDcheck = False
'            MsgBox prompt:="输入的身份证号码有误,请仔细检查!!!", Title:="提示"
        End If
    Else
        IDcheck = False
    End If
End Function

Public Function Sex(ID As String) As String
    '**************************************************
    '* 根据身份证号码,求性别的函数,先验证号码是否正确
    '* BH4BIN 2023/1/29
    '**************************************************
    If IDcheck(ID) Then
        If Mid(ID, 17, 1) Mod 2 Then
            Sex = "男"
        Else
            Sex = "女"
        End If
    Else
        Sex = "身份证号码有误,请仔细检查!!"
    End If
End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值