جدول المحتويات
يوضح البرنامج التعليمي كيف يمكنك فرز أوراق عمل Excel بسرعة بترتيب أبجدي باستخدام رمز VBA وأداة Workbook Manager.
يوفر Microsoft Excel عددًا من الطرق السريعة والسهلة للترتيب أعمدة أو صفوف بالترتيب الأبجدي. ولكن هناك طريقة واحدة فقط لإعادة ترتيب أوراق العمل في Excel - اسحبها إلى الموضع المطلوب على شريط علامة تبويب الورقة. عندما يتعلق الأمر بترتيب علامات التبويب أبجديًا في مصنف كبير حقًا ، فقد تكون هذه طريقة طويلة وخاطئة. هل تبحث عن بديل يوفر الوقت؟ يوجد اثنان فقط: كود VBA أو أدوات من جهة خارجية.
كيفية ترتيب علامات التبويب أبجديًا في Excel باستخدام VBA
أدناه ستجد ثلاثة أمثلة على رموز VBA لفرز Excel الأوراق تصاعديًا وتنازليًا وفي أي اتجاه بناءً على اختيار المستخدم.
مما يدل على أن لديك بعض الخبرة مع VBA ، سنقوم فقط بتحديد الخطوات الأساسية لإضافة ماكرو إلى ورقة العمل الخاصة بك:
- في مصنف Excel ، اضغط على Alt + F11 لفتح محرر Visual Basic.
- في الجزء الأيمن ، انقر بزر الماوس الأيمن فوق ThisWorkbook ، ثم انقر فوق إدراج & gt؛ الوحدة النمطية .
- الصق رمز VBA في نافذة التعليمات البرمجية.
- اضغط F5 لتشغيل الماكرو.
من أجل الإرشادات التفصيلية خطوة بخطوة ، يرجى الاطلاع على كيفية إدراج وتشغيل رمز VBA في Excel.
نصيحة. إذا كنت تريد الاحتفاظ بالماكرو لمزيد من الاستخدام ، فتأكد من حفظ الملف كمصنف Excel ممكن بماكرو (.xlsm).
بدلاً من ذلك ، يمكنك تنزيل نموذجنا لمصنف Alphabetize Excel Tabs ، وتمكين المحتوى إذا طُلب منك ذلك ، وتشغيل الماكرو المطلوب مباشرةً من هناك. يحتوي المصنف على وحدات الماكرو التالية:
- TabsAscending - فرز الأوراق أبجديًا من A إلى Z.
- TabsDescending - ترتيب الأوراق في ترتيب عكسي ، من Z إلى A.
- AlphabetizeTabs - فرز علامات تبويب الأوراق في كلا الاتجاهين ، تصاعديًا أو تنازليًا.
مع نموذج المصنف الذي تم تنزيله وفتحه في Excel الخاص بك ، افتح المصنف الخاص بك حيث تريد ترتيب علامات التبويب أبجديًا ، واضغط على Alt + F8 ، وحدد الماكرو المطلوب ، وانقر فوق تشغيل .
فرز علامات تبويب Excel أبجديًا من A إلى Z
هذا الماكرو الصغير يرتب الأوراق في المصنف الحالي ترتيب أبجدي رقمي تصاعدي ، أوراق العمل الأولى التي تبدأ أسماؤها بالأرقام ، ثم الأوراق من الألف إلى الياء.
علامات التبويب الفرعية 1 إلى Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 إذا كان UCase $ (Application.Sheets (j) .Name) & gt؛ UCase $ (Application.Sheets (j + 1) .Name) ثم Sheets (j). الانتقال بعد: = Sheets (j + 1) End If Next Next MsgBox "تم فرز علامات التبويب من A إلى Z." End Subترتيب علامات تبويب Excel من Z إلى A
إذا كنت تريد فرز الأوراق في ترتيب أبجدي رقمي تنازلي (من Z إلى A ، ثم الأوراق ذات الأسماء الرقمية) ، فاستخدم الكود التالي:
Sub TabsDescending () For i = 1 ToApplication.Sheets.Count لـ j = 1 إلى Application.Sheets.Count - 1 إذا كان UCase $ (Application.Sheets (j) .Name) & lt؛ UCase $ (Application.Sheets (j + 1) .Name) ثم Application.Sheets (j). الانتقال بعد: = Application.Sheets (j + 1) End If Next Next MsgBox "تم فرز علامات التبويب من Z إلى A. " End Subترتيب علامات التبويب أبجديًا تصاعديًا أو تنازليًا
يتيح هذا الماكرو للمستخدمين تحديد كيفية فرز أوراق العمل في مصنف معين ، أبجديًا من الألف إلى الياء أو بالترتيب العكسي.
منذ مربع الحوار القياسي (MsgBox) في Excel VBA يسمح فقط بالاختيار من بين عدد قليل من الأزرار المحددة مسبقًا ، وسننشئ النموذج الخاص بنا (UserForm) بثلاثة أزرار مخصصة: A to Z ، Z to A و إلغاء .
لهذا ، افتح محرر Visual Basic ، وانقر بزر الماوس الأيمن فوق ThisWorkbook ، وانقر فوق إدراج & gt؛ UserForm . قم بتسمية النموذج الخاص بك SortOrderFrom ، وإضافة 4 عناصر تحكم إليه: تسمية وثلاثة أزرار:
بعد ذلك ، اضغط على F7 (أو انقر نقرًا مزدوجًا فوق النموذج ) لفتح نافذة كود ولصق الكود أدناه هناك. نقرات زر اعتراض الكود وتعيين علامة فريدة لكل زر:
Private Sub CommandButton1_Click () Me.Tag = 1 Me.Hide End Sub Private Sub CommandButton2_Click () Me.Tag = 2 Me.Hide End Sub Private Sub CommandButton3_Click () Me.Tag = 0 Me.Hide End Subبناءً على ما إذا كان المستخدم ينقر فوق الزر A إلى Z أو Z إلى A في النموذج الخاص بك ، قم بفرز علامات التبويب فيترتيب أبجدي تصاعدي (محدد افتراضيًا) أو ترتيب أبجدي تنازلي ؛ أو أغلق النموذج ولا تفعل شيئًا في حالة إلغاء . يتم ذلك باستخدام رمز VBA التالي ، والذي تقوم بإدراجه بالطريقة المعتادة عبر Insert & gt؛ Module .
Sub AlphabetizeTabs () Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 ثم قم بإنهاء Sub من أجل x = 1 إلى Application.Sheets.Count لـ y = 1 إلى Application.Sheets.Count - 1 إذا كان SortOrder = 1 ثم إذا كان UCase $ (Application.Sheets (y) .Name) & gt؛ UCase $ (Application.Sheets (y + 1) .Name) ثم Sheets (y). الانتقال بعد: = Sheets (y + 1) End If ElseIf SortOrder = 2 ثم إذا UCase $ (Application.Sheets (y) .Name) العلامة & lt؛ UCase $ (Application.Sheets (y + 1) .Name) ثم Sheets (y). الانتقال بعد: = Sheets (y + 1) End If End If Next Next End Sub Function showUserForm () As Integer showUserForm = 0 تحميل SortOrderForm SortOrderForm .Show (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm End Functionإذا لم تكن مرتاحًا جدًا لـ VBA حتى الآن ، يمكنك ببساطة تنزيل نموذج مصنفنا لترتيب علامات التبويب أبجديًا ، وافتحه في Excel إلى جانب الملف الخاص بك حيث تريد لفرز علامات التبويب وتشغيل الماكرو AlphabetizeTabs من المصنف:
اختر ترتيب الفرز المفضل ، على سبيل المثال ، A إلى Z ، ولاحظ النتائج:
نصيحة. باستخدام VBA ، يمكنك أيضًا إنشاء نسخ من أوراق عمل Excel الخاصة بك. الكود متاح هنا: كيفورقة مكررة في Excel مع VBA.
كيفية فرز علامات تبويب Excel أبجديًا باستخدام Ultimate Suite
لا يتعين على مستخدمي Ultimate Suite for Excel التعامل مع VBA - لديهم العديد - مدير مصنف وظيفي تحت تصرفهم:
مع إضافة هذه الأداة إلى شريط Excel ، يتم ترتيب علامات التبويب الأبجدية بنقرة زر واحدة ، تمامًا كما ينبغي!
إذا كنت مهتمًا باستكشاف هذا وأكثر من 70 أداة أكثر احترافًا لبرنامج Excel ، يتوفر إصدار تجريبي من Ultimate Suite للتنزيل هنا.
أشكر أنت للقراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!