今天继续做个小练习啦~
之前学过了一下正则表达式判断身份证号码是否正确,这里呢就比较简单,单纯用很多函数进行判断啦,内容不难,就是很繁琐~
先看看实现效果,这里生成了一些随机的错误身份证号进行参照:
Option Explicit
Sub sfz()
Dim i As Integer
Dim rng1 As range, rng2 As range
Dim sh As Worksheet
Dim total As Integer
Set sh = Sheets(1)
total = Application.WorksheetFunction.CountA(sh.range("A:A"))
For i = 2 To total
Set rng1 = sh.range("A" & i)
Set rng2 = sh.range("B" & i)
If Not is18(rng1) Then
rng2 = "错误,位数不对"
Else
If Not isNum17(rng1) Then
rng2 = "错误,出现字母"
Else
If Not ymd(rng1) Then
rng2 = "日期不对