VBA لفرز العمود في Excel (4 طرق)

Hugh West

للفرز في Excel باستخدام VBA ، تحتاج إلى تطبيق الأسلوب Range.Sort . في هذه المقالة ، سنوضح لك كيفية فرز العمود في Excel باستخدام طريقة Range.Sort لـ VBA .

تنزيل المصنف

يمكنك تنزيل مصنف Excel التجريبي المجاني من هنا.

فرز العمود باستخدام VBA.xlsm

أسلوب الفرز في Excel VBA

أسلوب الفرز في VBA يفرز نطاقًا من القيم في Excel. هنا النطاق هو متغير كائن يحدد نطاق الخلايا التي نريد فرزها بترتيب تصاعدي أو تنازلي.

فيما يلي المعلمات التي تحتاج إلى معرفتها حول أثناء العمل بهذه الطريقة.

المعلمة مطلوب / اختياري نوع البيانات الوصف
المفتاح اختياري المتغير يحدد النطاق أو العمود الذي قيمته يتم الفرز.
الترتيب اختياري XlSortOrder يحدد الترتيب الذي سيتم إجراء الفرز به.
  • xlAscending = للفرز بترتيب تصاعدي.
  • xlDescending = للفرز بترتيب تنازلي.
الرأس اختياري XlYesNoGuess يحدد ما إذا كان الصف الأول يحتوي على رؤوس أم لا .
  • xlNo = عندما لا يحتوي العمود على أي رؤوس ؛ القيمة الافتراضية.
  • xlYes = متىالأعمدة لها رؤوس.
  • xlGuess = للسماح لبرنامج Excel بتحديد الرؤوس.

4 طرق في تنفيذ VBA لفرز العمود في Excel

في هذا القسم ، ستعرف كيفية فرز عمود واحد مع وبدون رأس ، أعمدة متعددة باستخدام وبدون رؤوس وكيفية الفرز فقط بالنقر المزدوج فوق العنوان الموجود في عمود في Excel.

1. قم بتضمين VBA لفرز عمود واحد بدون رأس في Excel

إذا كنت تريد فرز عمود واحد في ورقة عمل Excel الخاصة بك باستخدام كود VBA ، فاتبع الخطوات أدناه.

هذا هو العمود الذي سنفرزه باستخدام كود VBA .

الخطوات:

  • اضغط على Alt + F11 على لوحة المفاتيح أو انتقل إلى علامة التبويب Developer - & gt؛ Visual Basic لفتح محرر Visual Basic .

  • في نافذة التعليمات البرمجية المنبثقة ، من شريط القوائم ، انقر فوق إدراج - & GT. الوحدة النمطية .

  • انسخ الكود التالي والصقه في نافذة الكود.
7455

الكود الخاص بك جاهز الآن للتشغيل.

هنا ،

  • Key1: = Range (“B5”) → محدد B5 للسماح للكود بمعرفة العمود المطلوب الفرز.
  • Order1: = xlAscending → حدد الترتيب على أنه xlAscending لفرز العمود بترتيب تصاعدي. إذا كنت تريد فرز العمود بترتيب تنازلي ، فاكتب xlDescending بدلاً من ذلك.
  • Header: = xlNo →نظرًا لأن عمودنا لا يحتوي على أي رأس ، لذلك حددناه باستخدام الخيار xlNo .

  • اضغط على F5 على لوحة المفاتيح أو من شريط القائمة حدد تشغيل - & GT. تشغيل Sub / UserForm . يمكنك أيضًا النقر فوق رمز التشغيل الصغير في شريط القائمة الفرعية لتشغيل الماكرو.

سترى أن يتم الآن فرز العمود بترتيب تصاعدي .

لاحظ أننا حددنا هنا نطاق البيانات يدويًا على أنه النطاق ("B5: B15" ) .

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

7544

لاحظ ذلك بدلاً من ذلك من تحديد النطاق يدويًا بواسطة النطاق ("B5: B15") ، كتبنا ، النطاق ( "B5" ، النطاق ("B5"). End (xlDown)) .

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

اقرأ المزيد: VBA لفرز الجدول في Excel (4 طرق)

2. أدخل VBA Macro لفرز عمود واحد برأس

في القسم السابق ، كان لدينا مجموعة بيانات لعمود واحد بدون رأس ، ولكن لدينا الآن a عمود برأس .

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

الخطوات:

  • بنفس الطريقة السابقة ، افتح محرر Visual Basic من علامة التبويب Developer و أدخل a Module في إطار التعليمات البرمجية.
  • في إطار التعليمات البرمجية ، انسخ الكود التالي والصقه.
8722

كودك جاهز الآن للتشغيل.

هنا ،

  • Key1: = Range (“ B5 ”) → محدد B5 للسماح للكود بمعرفة العمود المطلوب الفرز.
  • Order1: = xlDescending → هذه المرة سنقوم بفرز العمود في ترتيب تنازلي لذلك حدد الترتيب كـ xlDescending .
  • Header: = xlYes → نظرًا لأن عمودنا يحتوي على رأس هذه المرة ، لذلك حددناه بـ xlYes خيار .

  • قم بتشغيل هذا الرمز وستحصل على العمود برأس مرتبة بترتيب تنازلي .

قراءة المزيد: كيفية فرز ListBox باستخدام VBA في Excel (دليل كامل)

قراءات مماثلة:

  • كيفية فرز عنوان IP في Excel (6 طرق)
  • [محلول!] Excel Sort لا يعمل (حلان)
  • كيفية إضافة زر الفرز في Excel (7 طرق)
  • فرز النطاق e استخدام VBA في Excel (6 أمثلة)
  • كيفية الفرز حسب الاسم في Excel (3 أمثلة)

3. VBA Macro لفرز أعمدة متعددة مع أو بدون رأس

يمكنك أيضًا فرز أعمدة متعددة في مجموعة البيانات الخاصة بك باستخدام رمز VBA.

الخطوات:

  • كما هو موضح سابقًا ، افتح محرر Visual Basic من علامة التبويب المطور ثم إدراج a الوحدة النمطية في نافذة التعليمات البرمجية.
  • في نافذة التعليمات البرمجية ، انسخ الكود التالي والصقه.
2772

الكود الخاص بك جاهز الآن للتشغيل.

هنا ،

.SortFields.Add Key: = Range (“B4”)، Order: = xlAscending

.SortFields.Add Key: = Range (“C4 ”) ، الترتيب: = xlAscending

من خلال هذين السطرين ، نحدد الخلية B4 و C4 لفرز عمودين مرتبطين بـ هم بترتيب تصاعدي .

نظرًا لأن لدينا رؤوسًا في مجموعة البيانات الخاصة بنا ، فقد حددنا Header = xlYes ، وإلا لكنا قد كتبنا Header = xlNo داخل الكود.

  • قم بتشغيل هذا الرمز وستحصل على أعمدة مع رأس مرتبة بترتيب تصاعدي .

4. ماكرو لفرز البيانات عن طريق النقر المزدوج على Header في Excel

إذا كنت تريد فرز البيانات بسهولة عن طريق النقر المزدوج على العنوان ، فيمكنك القيام بذلك باستخدام كود VBA .

الخطوات:

  • انقر بزر الماوس الأيمن في علامة تبويب الورقة .
  • من قائمة الخيارات الظاهرة ، انقر فوق عرض الكود .
  • ستظهر نافذة الكود ، انسخ الكود التالي والصقه هناك.
7228
  • احفظ الكود.

  • الآن عد إلى ورقة العمل التي تهمك وإذا انقر نقرًا مزدوجًا فوق الرؤوس سترى الأعمدة يتم إعادة تنظيمها.

اقرأ المزيد: كيفية فرز البيانات وتصفيتها في Excel (دليل كامل)

أشياء يجب تذكرها

  • يمكنك إنشاء نطاق مسمى واستخدامه بدلاً من ذلك عند تمرير نطاق من مراجع الخلايا داخل طريقة الفرز . على سبيل المثال ، إذا كنت تريد فرز النطاق A1: A10 ، بدلاً من تمريره في كل مرة داخل الرمز ، يمكنك إنشاء نطاق مسمى منه ، مثل " SortRange ”واستخدمها مع طريقة Range.Sort مثل Range (“ SortRange ”) .
  • إذا لم تكن متأكدًا مما إذا كانت مجموعة البيانات الخاصة بك تحتوي على رؤوس أم لا ، يمكنك السماح للنظام بتحديده باستخدام المعلمة xlGuess .

الاستنتاج

أوضح لك هذا المقال كيفية قم بفرز العمود في Excel VBA . آمل أن يكون هذا المقال مفيدًا جدًا لك. لا تتردد في السؤال عما إذا كان لديك أي أسئلة بخصوص هذا الموضوع.

هيو ويست مدرب ومحلل إكسل ذو خبرة عالية ولديه أكثر من 10 سنوات من الخبرة في هذا المجال. حاصل على درجة البكالوريوس في المحاسبة والمالية ودرجة الماجستير في إدارة الأعمال. لدى هيو شغف بالتدريس وقد طور منهجًا تعليميًا فريدًا يسهل اتباعه وفهمه. ساعدت معرفته الخبيرة ببرنامج Excel الآلاف من الطلاب والمهنيين في جميع أنحاء العالم على تحسين مهاراتهم والتميز في حياتهم المهنية. من خلال مدونته ، يشارك Hugh معرفته مع العالم ، ويقدم دروسًا مجانية في Excel وتدريبًا عبر الإنترنت لمساعدة الأفراد والشركات على تحقيق إمكاناتهم الكاملة.