كيفية إنشاء دالة تحويل الهجري إلى ميلادي Excel باستخدام VBA
دالة تحويل الهجري الي ميلادي excel | إذا كنت تبحث عن طريقة لتحويل التواريخ الهجرية إلى ميلادية في Excel، فستجد في هذه المقالة شرحًا وافيًا لكيفية تحقيق ذلك باستخدام VBA (Visual Basic for Applications). يعد Excel أداة قوية لإدارة البيانات، ومع إضافة القليل من التعليمات البرمجية، يمكنك تخصيصه لتلبية احتياجاتك الخاصة. سنتعرف معًا على كيفية إنشاء دالة تحويل الهجري إلى ميلادي في Excel خطوة بخطوة.
لماذا تحتاج إلى دالة تحويل الهجري إلى ميلادي في Excel؟
نظرًا لأن Excel لا يحتوي بشكل افتراضي على دالة مدمجة لتحويل التواريخ الهجرية إلى ميلادية، فإن استخدام VBA يعد حلاً مثاليًا. هذا الحل يساعدك في التعامل مع البيانات التاريخية الهجرية بسهولة وتحويلها إلى تواريخ ميلادية، مما يسهل عملية معالجة البيانات، خاصة إذا كنت تعمل في بيئة تعتمد على التقويم الهجري.
خطوات إنشاء دالة تحويل الهجري إلى ميلادي في Excel
1. فتح محرر VBA في Excel
لبدء كتابة الكود، يجب عليك أولاً فتح محرر VBA. اتبع الخطوات التالية:
- افتح ملف Excel الذي ترغب في إضافة دالة التحويل إليه.
- اضغط على مفتاحي Alt + F11 لفتح محرر Visual Basic for Applications (VBA).
2. إضافة وحدة نمطية جديدة
الخطوة التالية هي إضافة وحدة نمطية جديدة حيث ستقوم بكتابة الكود الخاص بدالة تحويل الهجري إلى ميلادي:
- في محرر VBA، انقر على Insert في القائمة العلوية، ثم اختر Module. ستظهر وحدة نمطية جديدة في نافذة الكود.
3. كتابة كود دالة التحويل
الآن، قم بنسخ الكود التالي ولصقه في الوحدة النمطية التي أنشأتها:
Function HijriToGregorian(HijriDate As String) As Variant
Dim IslamicDate As Date
On Error GoTo ErrHandler
IslamicDate = CDate(HijriDate & ” هـ”)
HijriToGregorian = IslamicDate
Exit Function
ErrHandler:
HijriToGregorian = “Invalid Date”
End Function
Sub ConvertColumnAToGregorian()
Dim ws As Worksheet
Dim i As Long
Set ws = ThisWorkbook.Sheets(“Sheet1”) ‘ قم بتغيير اسم الورقة إذا لزم الأمر
For i = 2 To ws.Cells(ws.Rows.Count, “A”).End(xlUp).Row
If ws.Cells(i, “A”).Value <> “” Then
ws.Cells(i, “B”).Value = HijriToGregorian(ws.Cells(i, “A”).Value)
End If
Next i
End Sub
شرح الكود
- HijriToGregorian: هذه الدالة تأخذ تاريخ هجري كنص (HijriDate) وتقوم بتحويله إلى تاريخ ميلادي. إذا كان الإدخال غير صحيح، تعيد الدالة النص “Invalid Date”.
- ConvertColumnAToGregorian: هذا الإجراء الفرعي (Sub) يقوم بتحويل التواريخ الهجرية الموجودة في العمود A إلى تواريخ ميلادية في العمود B من نفس الورقة. يتأكد من أن كل خلية في العمود A تحتوي على تاريخ قبل محاولة تحويله.
4. تشغيل الكود
بعد كتابة الكود، يمكنك تشغيل الإجراء الفرعي ConvertColumnAToGregorian لتحويل التواريخ الهجرية إلى ميلادية:
- اضغط على F5 لتشغيل الكود مباشرة من داخل محرر VBA.
- أو اضغط على Alt + F8 من Excel لاختيار وتشغيل الكود.
كيفية استخدام دالة تحويل الهجري إلى ميلادي في Excel
بعد إعداد الكود، ستجد أنه تم تحويل التواريخ الهجرية في العمود A إلى تواريخ ميلادية في العمود B. تأكد من إدخال التواريخ الهجرية بصيغة “yyyy/mm/dd” حتى يتم التحويل بشكل صحيح.
بإتباع هذه الخطوات، يمكنك إنشاء دالة مخصصة لتحويل التواريخ الهجرية إلى ميلادية في Excel، مما يتيح لك معالجة البيانات بكفاءة أكبر. من خلال استخدام VBA، يمكنك تخصيص Excel لتلبية احتياجاتك الدقيقة، وتوفير الوقت والجهد في إدارة البيانات.
تحويل التاريخ من هجري إلى ميلادي
التحويل بين التاريخ الهجري والتاريخ الميلادي يعتبر أمرًا شائعًا خاصة في العالم الإسلامي. يعتمد Excel بشكل أساسي على التواريخ الميلادية، ولكن يمكنك تخصيصه لتحويل التواريخ الهجرية إلى ميلادية باستخدام بعض الأدوات والبرمجيات المساعدة مثل VBA. هذا الحل يمكن أن يكون فعالاً في التعامل مع التواريخ الهجرية في جداول البيانات.
معادلة تحويل التاريخ من هجري إلى ميلادي والبرج
بالإضافة إلى تحويل التاريخ من هجري إلى ميلادي، قد ترغب أيضًا في معرفة البرج الفلكي المرتبط بالتاريخ الميلادي الناتج. في Excel، يمكن استخدام صيغة مخصصة بعد تحويل التاريخ لمعرفة البرج الفلكي. على سبيل المثال:
- تحويل التاريخ: قم أولاً بتحويل التاريخ الهجري إلى ميلادي باستخدام الكود VBA.
- معرفة البرج: يمكنك بعد ذلك استخدام صيغة تحدد البرج بناءً على التاريخ الميلادي. هذه الصيغة يمكن أن تتضمن استخدام الدوال IF أو CHOOSE لتحديد البرج بناءً على الشهر واليوم.
تحويل التاريخ من هجري إلى ميلادي في Excel 2016
إذا كنت تستخدم Excel 2016، فإن العملية مشابهة لتلك المستخدمة في الإصدارات الأخرى من Excel. يمكنك الاستفادة من أكواد VBA لتحويل التواريخ الهجرية إلى ميلادية بشكل سلس. كل ما عليك فعله هو اتباع الخطوات التالية:
- فتح محرر VBA: اضغط على Alt + F11.
- إضافة وحدة نمطية جديدة: انقر على Insert ثم Module.
- إدخال الكود: قم بلصق الكود الذي يحول التاريخ الهجري إلى ميلادي.
معادلة تحويل التاريخ من هجري إلى ميلادي Excel
في Excel، يمكنك استخدام معادلات مخصصة لتحويل التاريخ الهجري إلى ميلادي. تعتمد هذه المعادلات على استخدام أكواد VBA التي تسمح لك بإدخال التاريخ الهجري في خلية معينة وتحويله تلقائيًا إلى التاريخ الميلادي في خلية أخرى.
الكود المستخدم في هذه المعادلة يكون كالتالي:
تحويل التاريخ من هجري إلى ميلادي مع العمر
عند تحويل التاريخ من هجري إلى ميلادي، قد تحتاج أيضًا إلى حساب العمر بناءً على التاريخ الميلادي الناتج. يمكن القيام بذلك بسهولة في Excel باستخدام دالة DATEDIF، والتي تحسب الفارق بين تاريخين معينين (عادةً بين تاريخ الميلاد وتاريخ اليوم).
- خطوات حساب العمر:
- قم بتحويل التاريخ الهجري إلى ميلادي.
- استخدم الدالة DATEDIF لحساب العمر بناءً على التاريخ الميلادي.
تحويل التاريخ من ميلادي إلى هجري أم القرى
التقويم المستخدم في المملكة العربية السعودية يعرف بتقويم أم القرى، وهو تقويم هجري معتمد. لتحويل التواريخ الميلادية إلى هجرية وفقًا لتقويم أم القرى، يمكنك استخدام خدمات الإنترنت أو أدوات مخصصة لذلك، كما يمكنك استخدام أكواد VBA في Excel إذا كان لديك قاعدة بيانات تحتاج إلى هذا التحويل.
تحويل التاريخ من ميلادي إلى هجري 2016
إذا كنت ترغب في تحويل التاريخ من ميلادي إلى هجري في Excel 2016، فالأمر مشابه تمامًا للتحويل في أي إصدار آخر. لا يوجد فرق كبير بين الإصدارات فيما يتعلق بهذه العمليات، ويمكن استخدام الأدوات نفسها مثل VBA أو الاستعانة بمواقع التحويل عبر الإنترنت.
شرح دالة DATEVALUE في Excel
دالة DATEVALUE هي إحدى الدوال المفيدة في Excel التي تُستخدم لتحويل التواريخ المخزنة كنصوص إلى تواريخ فعلية يمكن Excel التعامل معها. هذه الدالة مفيدة بشكل خاص عندما تكون لديك تواريخ مكتوبة بنمط نصي وتحتاج إلى تحويلها إلى تنسيق يمكن لـ Excel معالجته في الحسابات والمخططات.
- صيغة الدالة:
DATEVALUE(date_text) - شرح المعامل:
date_text: هو التاريخ الذي ترغب في تحويله من نص إلى تاريخ، ويجب أن يكون في صيغة يمكن لـ Excel التعرف عليها كـ “YYYY-MM-DD” أو “MM/DD/YYYY”. - مثال:
إذا كان لديك التاريخ النصي “01/08/2023” في الخلية A1، وتريد تحويله إلى تاريخ يمكن استخدامه في الحسابات، يمكنك استخدام الصيغة التالية:=DATEVALUE(A1)ستقوم هذه الدالة بتحويل النص إلى تاريخ ميلادي يمكن Excel التعامل معه.
الخاتمة
التعامل مع التواريخ الهجرية والميلادية في Excel قد يكون معقدًا في البداية، ولكن مع الأدوات الصحيحة مثل أكواد VBA والمعادلات المخصصة، يمكنك تبسيط هذه العملية بشكل كبير. سواء كنت بحاجة لتحويل التواريخ لأغراض عملية أو لتحديد الأبراج وحساب العمر، Excel يمكنه أن يوفر لك الأدوات التي تحتاجها.