Ali Mohamed Ali قام بنشر أكتوبر 21, 2019 قام بنشر أكتوبر 21, 2019 السلام عليكم اساتذتى الكرام اود ان اقدم لكم اليوم دالة أعجبتنى -وتقوم هذه الدالة بتحويل التقويم الميلادى الى التقويم القبطى ومن هنا لابد ان نعرف التقويم القبطى ولابد ان نقول نبذة عنه تبدأ السنة الجديدة عادة في 29 أغسطس، عدا السنة التي تسبق السنة الكبيسة حيث تبدأ في 30 أغسطس. للحصول على رقم السنة القبطية، يُطرح من رقم السنة اليوليانية إما 283 (قبل السنة اليوليانية الجديدة) أو 284 (بعدها). ويتكون التقويم القبطى من 13 شهر كالتالى : وهذا هو كود الدالة المستخدمة فى تحويل التاريخ من الميلادى الى القبطى Option Explicit Function CopticDate(WkDate As Date) As String Const YDiff = 284 Dim DateList As Object Set DateList = CreateObject("System.Collections.Sortedlist") Dim T, TT Dim I As Integer, II As Integer Dim WkY As Integer Dim WkM As String Dim WkD As Integer With Sheets("Data") For I = 1 To 13 T = Split(.Cells(I + 1, 3), "/") DateList.Add DateSerial(Year(WkDate), T(1), T(0)) * 1, .Cells(I + 1, 4) Next I End With WkY = Year(WkDate) - YDiff With DateList TT = WkDate * 1 If (TT >= .GetKey(.Count - 1)) Then WkM = .GetByIndex(0) WkD = TT - .GetKey(.Count - 1) + 1 Else If (TT <= .GetKey(0)) Then WkM = .GetByIndex(.Count - 1) II = TT - DateSerial(Year(WkDate), 1, 1) ' FIRST day of the year = 101 WkD = DateSerial(Year(WkDate), 12, 31) - .GetKey(.Count - 1) + II ' LAST day of the year = 1231 Else For I = 0 To 12 If ((TT > .GetKey(I)) And (TT <= .GetKey(I + 1))) Then WkM = .GetByIndex(I + 1) WkD = TT - .GetKey(I) Exit For End If Next I End If End If End With CopticDate = WkM & "/ " & WkD & "/ " & WkY End Function وتستخدم بهذه المعادلة =CopticDate() convert the Christmas calendar to the Coptic calendar.xlsm 5
حسين مامون قام بنشر أكتوبر 21, 2019 قام بنشر أكتوبر 21, 2019 جزاك الله خيرا وجعل هذا العمل في ميزان حسناتك 2
Ali Mohamed Ali قام بنشر أكتوبر 21, 2019 الكاتب قام بنشر أكتوبر 21, 2019 بارك الله فيك استاذ حسين ومشكور جدا على المتابعة والرد
أحمد يوسف قام بنشر أكتوبر 21, 2019 قام بنشر أكتوبر 21, 2019 أحسنت استاذ علي عمل ممتاز جعله الله فى ميزان حسناتك 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.