- Sub test()
- Dim rngs As Range, arr()
- Top:
- Set rngs = Application.InputBox("请输入身份证号码所在的区域", "提示", , , , , , 8)
- If rngs.Columns.Count > 1 Then
- MsgBox "只支持一列身份证号码的计算,请重新输入"
- GoTo Top
- End If
- arr = Intersect(rngs, ActiveSheet.UsedRange)
- For i = 1 To UBound(arr)
- Select Case Len(arr(i, 1))
- Case 15
- arr(i, 1) = Format("19" & Mid(arr(i, 1), 7, 6), "0000-00-00")
- Case 18
- arr(i, 1) = Format(Mid(arr(i, 1), 7, 8), "0000-00-00")
- Case 0
- arr(i, 1) = ""
- Case Else
- arr(i, 1) = "身份证号码有误"
- End Select
- Next
- Set rngs = Application.InputBox("请选择生日的导出区域", "提示", , , , , , 8)
- rngs.Resize(UBound(arr)) = arr
- End Sub
复制代码 |