Tính tuổi với lệnh Function trong VBA

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

vangforex

Thành viên mới
Tham gia
15/12/10
Bài viết
8
Được thích
2
Các bạn ơi!
Mình mới bắt đầu học VBA, hiện tại mình đang có bài tập để tính tuổi. Mình viết code như thế này, không biết bị sai chỗ nào, các bạn giúp mình với. Mình cảm ơn nhiều

Sub hien_thi_tuoi()

Dim NgaySinh As Date
Dim Today As Date

NgaySinh = #4/2/1985#

Today = #4/23/2023#


End Sub

Function tinh_tuoi(NgaySinh As Date, Today As Date)

Dim tuoi As Integer

tuoi = Today - NgaySinh


End Function
 
Tính kiểu Tây hay Ta?
Tây nó qua sinh nhật mới tính 1 tuổi. Ta cứ qua năm mới là thêm tuổi.

Function tinh_tuoi của bạn sai ở chỗ:
1. ngày trừ ngày thì chỉ ra số ngày chứ không thể ra năm.
2. function có thấy trả về cái gì đâu? Ở đâu đó phải có mọt lệnh tinh_tuoi = ...

Function tinh_tuoi(NgaySinh As Date, Today As Date) ' Today: tránh tên này
Dim tuoi As Integer ' khong cần
tuoi = Today - NgaySinh ' sai
End Function

Private Const TINHKIEUTA = True

Function tinh_tuoi(NgaySinh As Date, NgayTinh As Date) As Long
tinh_tuoi = Year(NgayTinh) - Year(NgaySinh)
IF TIINHKIEUTA Then Exit Function
IF Format(NgaySinh, "MMdd") < Format(NgayTinh), "MMdd") then tinh_tuoi = tinh_tuoi - 1
End Function
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom