اذهب الي المحتوي
أوفيسنا

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

قام بنشر
1 ساعه مضت, سلمان الشهراني said:

عندي خانه فيها عدد الايام ارغب عند الضغط على احسب يقوم البرنامج بتوزيع الايام الى ( ايام - اشهر - سنوات)

Private Sub com1_Click()
Call YMD(Me.Text1.Value)
End Sub
Function YMD(No As Integer) As Variant
    Dim Y As Long
    Dim M As Long
    Dim D As Long
    Y = Int(No / 365.25)
    M = Int((No - (Int(No / 365.25) * 365.25)) / 30.4375)
    D = No - ((Y * 365.25) + (M * 30.4375))
    YMD = Y & " years " & M & " months " & D & " days"
Me.DateD = D
Me.DateM = M
Me.DateY = Y
End Function

 

  • Like 1
قام بنشر

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

image.png.b1a4e8598ee16a5463d5ca346e9b3fe8.png

تعتمد الفكرة على إضافة عدد الأيام المعطى لتاريخ اليوم ثم يتم حساب الفترة بين التاريخين ( من تاريخ اليوم وحتى عدد الأيام المعطاه )

بدون الحاجة لافتراض أن الشهر 30 يوم ، بل يتم الحساب بعدد الأيام الفعلية للأشهر المقبلة.

Public Function DaysToYMD(NumberOfDays As Long) As String
'لتحويل الأيام إلى سنوات وشهور وأيام

    Dim EndDate As Date
    Dim years As Integer
    Dim months As Integer
    Dim days As Integer
    Dim intH As Integer
    
'إضافة عدد الأيام لليوم الحالي
    EndDate = DateAdd("d", NumberOfDays, Date)

' حساب المدة بين التاريخين
    intH = Int(DateDiff("m", Date, EndDate)) + _
              (EndDate < DateSerial(Year(EndDate), Month(EndDate), Day(Date)))
    
    years = Int(intH / 12)
    months = intH Mod 12
    
    days = DateDiff("d", DateAdd("m", intH, Date), EndDate)
    
    DaysToYMD = years & " سنة و " & months & " أشهر و " & days & " يوم"
    'MsgBox " المدة :     " & DaysToYMD
End Function

طريقة الاستخدام هكذا :

DaysToYMD(500)

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information