هذا هو كود تحديد السن المطلوب
Sub DatedIf_User()
Dim ws As Worksheet, Sh As Worksheet, Mh As Worksheet
Dim ShName As String, Rng As Range, c As Range
Dim LR As Long, VlDate As Variant
Application.ScreenUpdating = False
Set ws = Sheets(ActiveSheet.Name)
VlDate = ws.Range("K4").Value
'----------------------------------
LR = ws.Cells(Rows.Count, "C").End(xlUp).Row
ws.Range("J6:L" & LR + 1).ClearContents
Set Rng = ws.Range("I6:I" & LR)
'----------------------------------
If IsEmpty(VlDate) = True Then
MsgBox "ãä ÝÖáß ÇÏÎá ÊÇÑíÎ ÍÓÇÈ ÇáÓä"
Exit Sub
Else
On Error Resume Next
For Each c In Rng
If c.Value <> "" Then
YY = Year(VlDate)
y = Year(c.Value)
mm = Month(VlDate)
m = Month(c.Value)
dd = Day(VlDate)
d = Day(c.Value)
If d > dd And m > mm Then
c.Offset(0, 1) = dd + 30 - d
c.Offset(0, 2) = mm - m + 11
c.Offset(0, 3) = YY - y - 1
ElseIf d > dd And m < mm Then
c.Offset(0, 1) = dd - d + 30
c.Offset(0, 2) = mm - m - 1
c.Offset(0, 3) = YY - y
Else
c.Offset(0, 1) = dd - d
c.Offset(0, 2) = mm - m
c.Offset(0, 3) = YY - y
End If
End If
Next
End If
Application.ScreenUpdating = True
End Sub