2014-06-05 来源:网络
我们在工作当中常常会使用到身份证号,有了身份证号我们就可以清楚地算出年龄及出生日期,那么到底在Excel中通过VBA如何提取身份证中的出生日期并计算年龄?要提取身份证中的出生日期并计算年龄我们可以利用VBA中的Mid函数分别获取出生年月日,并用DateSerial函数将其转换为日期,然后再用DateDiff函数计算机出生年月与当前日期间隔的年数,从而算出年龄,具体步骤如下:
步骤一、按组合键“Alt+F11”打开VBE。
步骤二、选择菜单“插入”“模块”并输入以下代码
Sub 获取身份证中出生日期() '变量声明 Dim RowN As Long '行号 Dim sIDNo As String '身份证号码 '循环遍历 For RowN = 2 To Cells(Rows.Count, "A").End(xlUp).Row '获取身份证号码 sIDNo = Cells(RowN, "B").Value '提取出生年月 Cells(RowN, "C").Value = DateSerial _ (Mid(sIDNo, 7, 4), Mid(sIDNo, 11, 2), Mid(sIDNo, 13, 2)) '使用DateDiff函数计算年龄(周岁) Cells(RowN, "D").Value = DateDiff("yyyy", Cells(RowN, "C").Value, Date) Next End Sub
步骤三、返回工作表界面,在功能区的“开发工具”选项卡中单击“宏”按钮,执行“VBA提取身份证中的出生日期”宏后,即可得到身份证对应的出生日期以及年龄,如图所示:
相关说明:
·DadeDiff函数
DadeDiff函数可以计算两个日期之间的间隔,其语法为:
DateDiff(interval,date1,date2[,firstdayofweek[,firstweekofyear]])
参数Interval表示日期间隔以何种日期单位表示
参数date1和date2为进行计算的两个日期
firstdayofweek表示以哪一天作为一周的开始
firstweekofyear表示以何种设置为标准表示每年的一击开始。