[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) = 18 Then '18位身份证号码
                   iBornYear = Mid(ID, 7, 4)
         ElseIf Len(ID) = 15 Then '15位身份证号码
                   iBornYear = "19" & Mid(ID, 7, 2)
         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

posted @ 2014-12-26 13:47  TranSteel  阅读(3285)  评论(0编辑  收藏  举报