9
« เมื่อ: 17 เม.ย. 65 , 22:09:44 »
Public Function AgeYe(db, dN) As Integer 'หาอายุปี
If Day(dN) >= Day(db) Then
If Month(dN) >= Month(db) Then
AgeYe = Year(dN) - Year(db)
Else
AgeYe = Year(dN) - Year(db) - 1
End If
Else
If (Month(dN) - 1) >= Month(db) Then
AgeYe = Year(dN) - Year(db)
Else
AgeYe = Year(dN) - Year(db) - 1
End If
End If
End Function
Public Function AgeMo(db, dN) As Integer 'หาอายุเดือน
If Day(dN) >= Day(db) Then
If Month(dN) >= Month(db) Then
AgeMo = Month(dN) - Month(db)
Else
AgeMo = Month(dN) + 12 - Month(db)
End If
Else
If (Month(dN) - 1) >= Month(db) Then
AgeMo = Month(dN) - 1 - Month(db)
Else
AgeMo = Month(dN) - 1 + 12 - Month(db)
End If
End If
End Function
Public Function AgeDa(db, dN) As Integer 'หาอายุวัน ยืมวันกรณีวันที่น้อย
Dim mon As Integer
mon = Month(dN)
Select Case mon
Case 1, 3, 5, 7, 8, 10, 12
jnM = 31
Case 2
If Year(dN) Mod 4 = 0 Then 'ก.พ. 4 ปีมี 1 ครั้งที่มี 29วัน
jnM = 29
Else
jnM = 28
End If
Case Else
jnM = 30
End Select
If Day(dN) >= Day(db) Then
AgeDa = Day(dN) - Day(db)
Else
AgeDa = Day(dN) + jnM - Day(db)
End If
End Function
ปล. db คือ วันเกิด dN คือ วันที่ ณ ต้องการคำนวณ