يخزن VBA التاريخ على أنه عدد الأيام منذ 30 ديسمبر 1899.
حقوق الصورة: سيرجي جناتيوك / إستوك / جيتي إيماجيس
لا تختلف مقارنة التواريخ في Microsoft Visual Basic for Applications عن مقارنة أي نوع بيانات آخر. يجب أن تكون القيم التي تقارن من نوع "التاريخ". يمكنك استخدام عوامل المقارنة القياسية: "" لـ "أكبر من" ؛ "> =" لـ "أكبر من أو يساوي" ؛ "=" لـ "يساوي" ؛ و "<>" لـ "لا يساوي." يمكنك أيضًا استخدام عاملي مقارنة ، "Is" و "IsNot".
نوع تاريخ VBA
من المفيد أن تتذكر كيف يخزن VBA قيم التاريخ في الذاكرة عند مقارنة التواريخ. يتم تخزين التاريخ كرقم فاصلة عائمة مزدوج الدقة أو مزدوج. الجزء الصحيح الطويل هو عدد الأيام ، الموجبة أو السالبة ، منذ 30 ديسمبر 1899. الجزء العشري هو مقدار الوقت المنقضي منذ منتصف الليل. التاريخ الذي ليس له وقت يتم فيه ضبط الجزء العشري على الصفر. على سبيل المثال ، يتم تخزين 1 مايو 1967 كـ 24593.0. هذا يعني أنه عندما يقارن VBA تاريخين ، فإنه في الواقع يقارن رقمين يمثلان الأيام.
فيديو اليوم
سلسلة الأحرف مقابل. تاريخ
عند مقارنة التواريخ في VBA ، يجب التأكد من أن القيم التي تقارنها لها نوع "تاريخ" وليست سلاسل أحرف. على سبيل المثال ، سلسلة الأحرف "05/01/1999" أقل من سلسلة الأحرف "31/12/1900" لأن "05" يأتي قبل "12." قم بتحويل سلسلة أحرف إلى نوع تاريخ باستخدام وظيفة "CDate" ، على سبيل المثال ، "CDate (مربع الكتابة. قيمة)".
وظائف مفيدة
بالإضافة إلى CDate () ، هناك وظائف أخرى مفيدة قد تستخدمها عند مقارنة التواريخ. توفر الوظيفة "Date ()" تاريخ اليوم كقيمة تاريخ. توفر وظيفة "Now ()" تاريخ ووقت اليوم كقيمة تاريخ. نظرًا لأن نوع بيانات التاريخ يتضمن أيضًا مكونًا للوقت ، يمكنك استخراج جزء التاريخ فقط من المتغير عند مقارنة التواريخ باستخدام وظيفة "DateValue ()" ، على سبيل المثال ، "إذا كان الإرسال> DateValue (الموعد النهائي) ثم ..."
تاريخ الحساب
نظرًا لأنه يتم تخزين التاريخ على أنه عدد الأيام منذ 30 ديسمبر 1899 ، يمكنك تضمين حساب التاريخ عند مقارنة التواريخ في VBA. على سبيل المثال ، إذا انتهت صلاحية التذكرة بعد ثلاثة أيام من شرائها ، يمكنك التحقق من وجود تذكرة منتهية الصلاحية برمز VBA مشابه لما يلي:
انتهت صلاحية الوظيفة العامة (الشراء كتاريخ) نظرًا لانتهاء صلاحية منطقية = خطأ في حالة الشراء + 3> التاريخ () ثم انتهاء الصلاحية = وظيفة النهاية الصحيحة إذا كانت النهاية