本帖最后由 today0427 于 2016-9-26 15:23 编辑
重新建一个模块,输入以下代码 点按钮运行(刚才的有点问题,已经改正了)
- Sub today()
- Dim v&, cs, l%, rg As Range
- For Each rg In Selection
- If rg.Column = 2 And rg <> "" Then
- l = Len(rg.Value)
- If l <> 15 And l <> 18 Then MsgBox "身份证号码格式不正确": GoTo 100
- rg.Offset(0, 1) = IIf(Mid(rg, 15, 3) Mod 2, "男", "女")
- cs = Mid(rg, 7, IIf(l = 15, 6, 8))
- cs = IIf(Len(cs) = 6, IIf(Mid(rg, 7, 1) = 0, "20" & cs, "19" & cs), cs)
- rg.Offset(0, 2) = Format(cs, "0000/00/00")
- rg.Offset(0, 3) = DateDiff("yyyy", rg.Offset(0, 2), Date)
- End If
- 100
- Next
- End Sub
复制代码 |