كيفية فرز النطاق في vba؟

لفرز نطاق من الخلايا باستخدام VBA، تحتاج إلى استخدام طريقة “SORT” التي تسمح لك بتعيين مفتاح واحد (عمود) أو مفاتيح متعددة (لأعمدة متعددة) للفرز. يمكنك أيضًا تعيين الترتيب (تصاعديًا أو تنازليًا) الذي تريد الفرز به، ويمكنك تحديد ما إذا كان لديك رأس أم لا.

فرز نطاق باستخدام VBA

  1. استخدم كائن النطاق لتحديد النطاق الذي تريد فرزه.
  2. اكتب فترة وأدخل طريقة الفرز.
  3. حدد المفتاح الذي تريد استخدامه للفرز.
  4. قم بتعيين ترتيب الفرز.
  5. اذكر ما إذا كان لديك رأس أم لا.
فرز نطاق بواسطة vba
 Range("A1:A11").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Header:=xlYes

في الكود أعلاه، استخدمت النطاق A1:A11، وفي طريقة الفرز التي استخدمتها بترتيب تصاعدي، ذكرت أن لديك رأسًا في النطاق.

فهم طريقة الفرز في VBA

قبل كتابة ماكرو لفرز نطاق، من الأفضل التعمق في طريقة الفرز وفهم وسيطاتها.

 Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, _ Header, OrderCustom, MatchCase, Orientation, SortMethod, _ DataOption1, DataOption2, DataOption3)

فيما يلي أهم الحجج التي ستستخدمها في الحياة الواقعية.

  • المفتاح : هنا تحتاج إلى تحديد الخلية التي تريد استخدام عمودها كأساس للفرز.
  • الترتيب : الترتيب الذي تريد فرز العمود به (تصاعدي/تنازلي).
  • الرأس : ثابت لتحديد ما إذا كان لديك رأس أم لا أو تريد أن يخمنه VBA.

الترتيب تنازليًا

في التعليمة البرمجية التالية، استخدمت “xlDescending” لفرز عمود المبلغ بترتيب تنازلي.

الترتيب تنازليًا
 Range("A1:A13").Sort Key1:=Range("A1"), _ Order1:=xlDescending, _ Orientation:=xlSortColumns

استخدام أعمدة متعددة (مفاتيح) للفرز

يمكنك أيضًا استخدام أعمدة متعددة لفرز نطاق. لنأخذ مثالاً من الجدول أدناه حيث لديك إدخالات متعددة بأسماء الموظفين والمدن، وتحتاج إلى الفرز باستخدام الاسم والمدينة.

استخدم أعمدة متعددة للفرز

إليك الرمز الذي تحتاج إلى استخدامه:

رموز لأعمدة متعددة
 Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Key2:=Range("B1"), _ Order1:=xlAscending, _ Header:=xlYes

كما ترون في الكود لديك key1 وkey2. في المفتاح 1 لديك العمود الذي يحتوي على اسم الموظف، وفي المفتاح 2 لديك عمود المدينة. بالنسبة لكلا العمودين، يكون ترتيب الفرز تصاعديًا وتكون الرؤوس موجودة.

ملاحظة: يمكنك استخدام هذا كأي عمود تريد استخدامه كأساس للفرز باستخدام المفاتيح والترتيب.

تغيير اتجاه المصير

عندما تقوم عادةً بفرز البيانات في Excel، يمكنك الفرز باستخدام الأعمدة بشكل افتراضي. ولكن من خلال خيارات الفرز، يمكنك تغيير اتجاه الفرز من اليسار إلى اليمين بدلاً من الأعلى إلى الأسفل.

اتجاه القدر

وبالمثل، لديك وسيطة في طريقة الفرز لتغيير الاتجاه ( رابط ).

طريقة فرز الاتجاه
 Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Orientation:=xlSortRows
ما هو فبا

الدروس ذات الصلة

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *