打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
《神奇的VBA》编程:提取身份证号码中的性别信息

一段简单的VBA代码,让你自如操作Excel,成为职场达人!

抛砖引玉的场景需求:做人事工作的职场人经常需要从员工身份证号码中提取性别信息。如果熟悉Excel函数,那么可以综合使用Mid和Mod函数提取性别信息。在Excel数据自动化应用中又如何获取呢?下面针对18位身份证号码提供一个常用的提取思路。

见下面代码示例:(本示例中的身份证都采用国家1999年制定的身份证号码标准, 即18位身份证)

表格示例

代码示例

标准模块中加入如下代码即可实现上面的演示功能。

Sub 批量提取身份证性别()Dim s As ByteDim str As StringFor n = 2 To Range("B65536").End(xlUp).Row '将单元格值赋给str变量 str = CStr(Cells(n, "B")) '判断身份证号长度是否正确,不正确则退出程序! If Len(str) = 18 Then s = Mid(str, 17, 1) '提取代表性别的数字 Cells(n, "C") = IIf(Int(s / 2) = s / 2, "女", "男") End IfNextEnd Sub

上面示例中综合运用了VBA中的Len()函数和Mid()函数来提取身份证号码中的性别信息。


如果日常工作中需要经常使用,那么我们可以做成一个通用的VBA函数,这样在工作表或者其它VBA程序中都能调用。

Function GetGender(str As String)Dim s As Byte'判断身份证号长度是否正确,不正确则退出程序!If Len(str) <> 18 Then MsgBox "无效身份证号码!": Exit Functions = Mid(str, 17, 1) '提取代表性别的数字Dim sex As Stringsex = IIf(s Mod 2 = 0, "女", "男")GetGender = sexEnd Function
Sub 显示性别()MsgBox GetGender("340101200505181764")End Sub

有需要的同学请保存上面代码,也可以使用《神奇的VBA》插件,这些代码在插件中也有收录。复制上面代码运行一下吧。

更多Excel VBA编程知识(职场牛人必备秘技),请下载安装使用北上广深苏杭重津等一线职场牛人必备的参考和学习工具《神奇的VBA》插件,一款嵌入进Excel Ribbon界面,打开任意Excel工作簿就能随时查阅学习VBA编程的Excel 插件。 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel 求助:如何将十进制转为十六进制。(用VBA代码)
excel 2011-10-10
VBA应用技巧:检查文件夹是否已存在
if函数求身份证性别
Excel|如何在VBA中对字符串进行escape编码和解码?
Excel VBA函数\方法示例及讲解大全
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服