Hàm xác định ngày hết hạn căn cước công dân

Liên hệ QC

70211119

Thành viên mới
Tham gia
10/10/12
Bài viết
27
Được thích
5
Em chào Anh/Chị,
Anh/Chị trong diễn đàn mình có ai đã đã làm được function tính ngày hết hạn căn cước công dân chưa ạ?
Tham số đầu vào sẽ là ngày sinh nhậtngày cấp căn cước công dân.
Ví dụ: =ngayhethancccd(23/05/1994; 27/08/2021), kết quả cho ra là 23/05/2034)
Quy tắc tính em tìm hiểu thì như trang web đây ạ: https://www.thegioididong.com/tin-t...=Quy định nêu trên cho,đến mốc tuổi tiếp theo.
Em xin chân thành cảm ơn.
 
Theo tôi biết là quy tắc của cccd không tính theo ngày cấp. Mà tính theo tuổi ,14t làm lần đầu đến 25t, 40t, 60t
Bạn chỉ cần lấy năm sinh cộng với số năm là tự nhiên ra số thời hạn hết giá trị của cccd.
 
Upvote 0
Theo tôi biết là quy tắc của cccd không tính theo ngày cấp. Mà tính theo tuổi ,14t làm lần đầu đến 25t, 40t, 60t
Bạn chỉ cần lấy năm sinh cộng với số năm là tự nhiên ra số thời hạn hết giá trị của cccd.
Có tính theo ngày cấp 1 khi người đó gần đến mốc tuổi đổi CCCD (trong vòng 2 năm) đã đổi CCCD mới thì thời hạn sử dụng phải là mốc tiếp sau.
 
Upvote 0
Theo tôi biết là quy tắc của cccd không tính theo ngày cấp. Mà tính theo tuổi ,14t làm lần đầu đến 25t, 40t, 60t
Bạn chỉ cần lấy năm sinh cộng với số năm là tự nhiên ra số thời hạn hết giá trị của cccd.Dạ có
Dạ có ạ.
Trích đoạn theo link em đính kèm là:
Theo thông tin mới nhất từ trang báo Lao Động, quy định của Luật căn cước công dân 2014, bộ Công an đã cho ban hành mẫu thẻ căn cước công dân gắn chip có thời han sử dụng theo nguyên tắc của Điều 21 Luật căn cước công dân 2014 như sau:
- Thẻ căn cước công dân phải được đổi khi công dân đủ 25 tuổi, đủ 40 tuổi và đủ 60 tuổi.
- Trường hợp thẻ căn cước công dân được cấp, đổi, cấp lại trong thời hạn 2 năm trước tuổi quy định nêu trên này thì vẫn có giá trị sử dụng đến tuổi đổi thẻ tiếp theo.
 
Upvote 0
Mã:
Function ngayhethancccd(ngaysinh As Date, ngaycap As Date)
    On Error GoTo LOI
    tuoi = Application.WorksheetFunction.YearFrac(ngaysinh, ngaycap)
    Select Case tuoi
        Case 0 To 25
        ngayhethancccd = Format(Day(ngaysinh), "0#") & "/" & Format(Month(ngaysinh), "0#") & "/" & Year(ngaysinh) + 25
        Case 25 To 40
        ngayhethancccd = Format(Day(ngaysinh), "0#") & "/" & Format(Month(ngaysinh), "0#") & "/" & Year(ngaysinh) + 40
        Case 40 To 60
        ngayhethancccd = Format(Day(ngaysinh), "0#") & "/" & Format(Month(ngaysinh), "0#") & "/" & Year(ngaysinh) + 60
        Case 60 To 200
        ngayhethancccd = "Khong thoi han"
    End Select
    Exit Function
LOI: ngayhethancccd = "__/__/____"
End Function
Sau một hồi em làm được một vế rồi ạ! :D:D:D
 
Upvote 0
Sau một hồi em làm được một vế rồi ạ!
Hên xui, chưa kiểm tra :

Mã:
Function NgayHetHanCCCD(ByVal ngaysinh As Date, ByVal ngaycap As Date) As Variant
    On Error GoTo LOI
    tuoi = VBA.DateDiff("yyyy", ngaysinh, ngaycap) + 2
    Select Case tuoi
        Case 0 To 25
        NgayHetHanCCCD = VBA.DateAdd("yyyy", 25, ngaysinh)
        Case 26 To 40
        NgayHetHanCCCD = VBA.DateAdd("yyyy", 40, ngaysinh)
        Case 41 To 60
        NgayHetHanCCCD = VBA.DateAdd("yyyy", 60, ngaysinh)
        Case Is > 60
        NgayHetHanCCCD = "Không th" & ChrW(7901) & "i h" & ChrW(7841) & "n"
    End Select
    Exit Function
LOI: NgayHetHanCCCD = "__/__/____"
End Function
 
Upvote 0
Hên xui, chưa kiểm tra :

Mã:
Function NgayHetHanCCCD(ByVal ngaysinh As Date, ByVal ngaycap As Date) As Variant
    On Error GoTo LOI
    tuoi = VBA.DateDiff("yyyy", ngaysinh, ngaycap) + 2
    Select Case tuoi
        Case 0 To 25
        NgayHetHanCCCD = VBA.DateAdd("yyyy", 25, ngaysinh)
        Case 26 To 40
        NgayHetHanCCCD = VBA.DateAdd("yyyy", 40, ngaysinh)
        Case 41 To 60
        NgayHetHanCCCD = VBA.DateAdd("yyyy", 60, ngaysinh)
        Case Is > 60
        NgayHetHanCCCD = "Không th" & ChrW(7901) & "i h" & ChrW(7841) & "n"
    End Select
    Exit Function
LOI: NgayHetHanCCCD = "__/__/____"
End Function
Em xin phép thêm vào chủ đề này, thực tế Em muốn hỏi cách để thêm Screen Tip ở hàm tự tạo.
Như hàm trên Em chỉ bổ sung trường hợp nếu còn tồn tại Chứng minh thư 9 số (có giá trị 15 năm kể từ ngày cấp)
Mã:
Function NgayHetHanCCCD(CCCD As String, NgaySinh As Date, NgayCap As Date) As Variant
Dim Tuoi&
Tuoi = VBA.DateDiff("yyyy", NgaySinh, NgayCap) + 2
If VBA.Len(CCCD) = 9 Then
    NgayHetHanCCCD = VBA.DateAdd("yyyy", 15, NgayCap)
Else
    Select Case Tuoi
        Case 0 To 25
            NgayHetHanCCCD = VBA.DateAdd("yyyy", 25, NgaySinh)
        Case 26 To 40
            NgayHetHanCCCD = VBA.DateAdd("yyyy", 40, NgaySinh)
        Case 41 To 60
            NgayHetHanCCCD = VBA.DateAdd("yyyy", 60, NgaySinh)
        Case Is > 60
            NgayHetHanCCCD = "Không th" & ChrW(7901) & "i h" & ChrW(7841) & "n"
    End Select
    Exit Function
End If
End Function

Em chỉ muốn hỏi thêm làm sao để thêm Screen Tip vào hàm này, ví dụ như hàm có 3 biến thì đưa ra gợi í để người dùng biết được là phải chọn ô nào để đúng cú pháp.
Ví dụ như những hàm sẵn có của Excel có nội dung gợi í

1695048417511.png

Em xin cảm ơn,
 
Upvote 0
Web KT
Back
Top Bottom