كيفية الفرز حسب التاريخ في vba (مع أمثلة)
يمكنك استخدام بناء الجملة الأساسي التالي في VBA لفرز الصفوف حسب التاريخ:
Sub SortByDate()
Range(" A1:C10 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
يقوم هذا المثال تحديدًا بفرز الصفوف الموجودة في النطاق A1:C10 استنادًا إلى التواريخ الموجودة في العمود A، من الأقدم إلى الأحدث.
إذا كنت تريد فرز الصفوف حسب التاريخ من الأحدث إلى الأقدم، فيمكنك تحديد Order1:=xlDescending بدلاً من ذلك.
لاحظ أن Header:=xlYes يحدد أنه يجب التعامل مع السطر الأول كخط رأس.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: فرز حسب التاريخ باستخدام VBA
لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي تحتوي على معلومات حول المبيعات والمبالغ المستردة في متجر في تواريخ مختلفة:
لنفترض أننا نريد فرز الصفوف حسب التاريخ، من الأقدم إلى الأحدث.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub SortByDate()
Range(" A1:C10 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه يتم الآن فرز الصفوف حسب التاريخ، من التاريخ الأقدم إلى الأحدث.
لفرز الصفوف حسب التاريخ من الأحدث إلى الأقدم، يمكننا تحديد Order1:=xlDescending :
Sub SortByDate()
Range(" A1:C10 ").Sort Key1:=Range(" A1 "), Order1:=xlDescending, Header:=xlYes
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه يتم الآن فرز الصفوف حسب التاريخ، من الأحدث إلى الأقدم.
ملاحظة رقم 1 : في هذا المثال، قمنا بالفرز في عمود واحد. ومع ذلك، يمكنك تحديد المزيد من المفاتيح للفرز على أعمدة متعددة.
ملاحظة رقم 2 : يمكنك العثور على الوثائق الكاملة لطريقة فرز VBA هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
فبا: كيفية فرز ورقة حسب أعمدة متعددة
فبا: كيفية حساب عدد الصفوف في النطاق
فبا: كيفية تصفية عمود