اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

طلب حل مشكلة حساب العمر


الردود الموصى بها

الرجاء من الاستاذ الفاضل ابراهيم الحداد او احد المشرفين او من يستطيع

تعديل حساب العمر فاهلا بالمساعدة

ثانية تجارى.rar

رابط هذا التعليق
شارك

قد تم التعديل من قبل استاذنا الكبير ابراهيم الحداد فى المشاركة الأخرى له منا جميعا كل المحبة والإحترام

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("بيانات الطالبات")
VlDate = ws.Range("I5").Value
 '----------------------------------
LR = ws.Cells(Rows.Count, "E").End(xlUp).Row
If LR < 8 Then Exit Sub
ws.Range("I8:K" & LR + 1).ClearContents
Set Rng = ws.Range("H8:H" & 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
C.Offset(0, 2) = mm - m + 12
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 + 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

 

  • Like 2
رابط هذا التعليق
شارك

اولا الف شكر على الاهتمام والرد

لكن هذا كودخاص بالصف الاول ينقل البيانات من بيانات الطلبة الى الشيت لانه شيت واحد

اما هنا خمس شعب وليس شعبة واحدة والامتداد مختلف حاولت تغير الامتداد ولم تفح ممكن حضرتك تجرب

تم تعديل بواسطه العمراوى
رابط هذا التعليق
شارك

أخى الكريم تم التعديل لاحظ بنفسك هذا هو الكود الجديد

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("E2").Value
 '----------------------------------
LR = ws.Cells(Rows.Count, "C").End(xlUp).Row
ws.Range("F10:H" & LR + 1).ClearContents
Set Rng = ws.Range("E10:E" & 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
C.Offset(0, 2) = mm - m + 12
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 + 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

 

  • Like 3
رابط هذا التعليق
شارك

استاذ على ممكن حضرتك تجرب هذا التاريخ فى الملف اللى حضرت وضعته

1/12/2000 سوف يعطيك العمر بالسالب فى الشهور

وضعت الكود المنشور ولم يعمل

اعتذر للاطالة لكن نريد العمل يكون على اكمل وجه لاننا نحتاجة فى الكنترول

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information