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