VBA中如何根据身份证号码自动计算年龄

发布网友

我来回答

4个回答

热心网友

要提取C列的性别及E列的年龄,可以这样写:
Sub aa()
Dim XinBie() As String '性别,数组
Dim NianLing() As Long '年龄
Dim iYear As Date '出生年月日
Dim iRow As Long '行号
Dim iArray As Integer '数组维数
'读C列及E列信息,处理数据,分别给数组赋值
For iRow = 3 To 100
ReDim Preserve XinBie(iRow - 3)
XinBie(iRow - 3) = Range("C" & iRow)
ReDim Preserve NianLing(iRow - 3)
iYear = Format(Mid(Range("E" & iRow), 7, 8), "0000-00-00")
NianLing(iRow - 3) = Year(Date - iYear) '获得实际年龄
Next iRow
'读数组,分别写入目标单元格
For iArray = 0 To UBound(XinBie)
'... = XinBie(iArray)
'... = NianLing(iArray)
Next iArray
End Sub

热心网友

Sub mm()
t = "350421196903254011"
MsgBox DateDiff("yyyy", Format(Mid(t, 7, 8), "0000-00-00"), Date)
End Sub
T变量是身份证号,你可以把这个改为你要的引用追问图发不上来,如身份证在e5,现在要调用c5性别和d5年龄
帮个忙吧

热心网友

假如身份证号码在A1列,在B1中输入:= YEAR(TODAY())-MID(A1,7,4)。回车就出现结果。
不是必须用vba 也可以做出来

热心网友

用MID函数,截取出生年月的部分,然后用当前日期减去 截取的日期就可以了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com