فبا: كيفية فرز ورقة حسب أعمدة متعددة


يمكنك استخدام بناء الجملة الأساسي التالي لفرز ورقة Excel حسب أعمدة متعددة باستخدام VBA:

 Sub SortMultipleColumns()
    Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
                         Key2:=Range(" B1 "), Order2:=xlDescending, _
                         Header:=xlYes
End Sub

يقوم هذا المثال تحديدًا بفرز الخلايا الموجودة في النطاق A1:B11 أولاً حسب القيم الموجودة في العمود A بترتيب تصاعدي، ثم حسب القيم الموجودة في العمود B بترتيب تنازلي.

لاحظ أن Header:=xlYes يحدد أنه يجب التعامل مع السطر الأول كخط رأس.

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: فرز ورقة Excel حسب أعمدة متعددة باستخدام VBA

لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي تحتوي على معلومات حول العديد من لاعبي كرة السلة:

لنفترض أننا نريد فرز مجموعة البيانات بالطريقة التالية:

  • أولاً، قم بالفرز حسب القيم الموجودة في عمود الفريق بترتيب تصاعدي (من أ إلى ي).
  • بعد ذلك، قم بالفرز حسب القيم الموجودة في عمود النقاط بترتيب تنازلي (من الأكبر إلى الأصغر).

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 Sub SortMultipleColumns()
    Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
                         Key2:=Range(" B1 "), Order2:=xlDescending, _
                         Header:=xlYes
End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

يتم الآن فرز الصفوف حسب اسم الفريق بترتيب تصاعدي وحسب النقاط بترتيب تنازلي.

ملاحظة رقم 1 : في هذا المثال، قمنا بالفرز على عمودين. ومع ذلك، يمكنك تحديد أي عدد تريده من المفاتيح لفرز المزيد من الأعمدة.

ملاحظة رقم 2 : يمكنك العثور على الوثائق الكاملة لطريقة فرز VBA هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

فبا: كيفية كتابة وظائف AVERAGEIF وAVERAGEIFS
VBA: كيفية كتابة وظائف SUMIF وSUMIFS
VBA: كيفية كتابة وظائف COUNTIF وCOUNTIFS

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *