[VBA]根据身份证号码计算年龄的Excel函数

时间:2023-03-09 19:18:52
[VBA]根据身份证号码计算年龄的Excel函数

是的,昨天刚发表了一篇和Excel自定义函数有关的博客,今天又一篇,有凑数的嫌疑。但是,保存知识和传播知识本来就是写博客的初衷,所以也并不多余。

如果不知道什么是Excel自定义函数,请移步这里[1]。

上一篇博客是关于计算桩号之差的Excel自定义函数(VBA)[2],里面有如何使用Excel自定义函数(VBA函数)的简单步骤。

将下面的内容复制到模块中去,保存后即可使用自定义的IdentityNumberAge函数计算某个身份证号在某一年的年龄。

Function IdentityNumberAge(身份证号码, 计算年【四位数字】 As Integer)
Dim ID '身份证号码
Dim iYear '输入的计算年
Dim iBornYear '出生年
ID = 身份证号码
iYear = 计算年【四位数字】
'从ID中求得出生年
ID = Trim(ID) '删除空格
If Len(ID) = Then '18位身份证号码
iBornYear = Mid(ID, , )
ElseIf Len(ID) = Then '15位身份证号码
iBornYear = "" & Mid(ID, , )
Else
MsgBox "身份证号码有误!提醒:检查数据中是否有换行!"
iBornYear = "Error!"
End If
IdentityNumberAge = iYear - iBornYear
End Function

[1] http://blog.sina.com.cn/s/blog_638f98570102vfet.html
[2] http://blog.sina.com.cn/s/blog_638f98570101fbqn.html

如果您认为本文对您的工作或学习有所帮助,请对作者表示支持(评论、转载或分享),以使他获得继续写作的动力。如有任何疑问,欢迎联系t5lyg@126.com交流。

版权声明:本文由@我只是一小小鸟创作,采用“知识共享 署名-非商业性使用-禁止演绎 3.0 * 许可协议”进行许可。除非注明,均为原创文章,转载请注明:转载自这只是一小小鸟窝,并保留本段声明。本文地址:http://blog.sina.com.cn/s/blog_638f98570102vfmz.html