Function HanCCCD(NgaySinh As Variant, NgayCap As Variant) As String
Dim Tuoi As Long
Dim Ngay25 As Date, Ngay40 As Date, Ngay60 As Date
Dim Ngay23 As Date, Ngay38 As Date, Ngay58 As Date
' Kiem tra du lieu nhap vao
If Not IsDate(NgaySinh) Or Not IsDate(NgayCap) Then
HanCCCD = "Du lieu khong hop le"
Exit Function
End If
' Tinh so tuoi tai thoi diem cap
Tuoi = DateDiff("yyyy", NgaySinh, NgayCap)
If DateSerial(Year(NgayCap), Month(NgaySinh), Day(NgaySinh)) > NgayCap Then
Tuoi = Tuoi - 1
End If
' Cac moc tuoi
Ngay25 = DateAdd("yyyy", 25, NgaySinh)
Ngay40 = DateAdd("yyyy", 40, NgaySinh)
Ngay60 = DateAdd("yyyy", 60, NgaySinh)
Ngay23 = DateAdd("yyyy", 23, NgaySinh)
Ngay38 = DateAdd("yyyy", 38, NgaySinh)
Ngay58 = DateAdd("yyyy", 58, NgaySinh)
' Xu ly theo quy dinh
If Tuoi >= 58 Then
HanCCCD = "Khong thoi han"
ElseIf Tuoi < 25 Then
If NgayCap >= Ngay23 Then
HanCCCD = Format(Ngay40, "dd/mm/yyyy")
Else
HanCCCD = Format(Ngay25, "dd/mm/yyyy")
End If
ElseIf Tuoi < 40 Then
If NgayCap >= Ngay38 Then
HanCCCD = Format(Ngay60, "dd/mm/yyyy")
Else
HanCCCD = Format(Ngay40, "dd/mm/yyyy")
End If
ElseIf Tuoi < 60 Then
If NgayCap >= Ngay58 Then
HanCCCD = "Khong thoi han"
Else
HanCCCD = Format(Ngay60, "dd/mm/yyyy")
End If
Else
HanCCCD = "Khong thoi han"
End If
End Function