كيفية تنشيط مصنف excel عبر vba؟

عندما تعمل مع مصنفات متعددة في نفس الوقت، أعني، عندما يكون لديك مصنفات متعددة مفتوحة في نفس الوقت، فإنك تحتاج إلى معرفة الطريقة التي يمكن أن تساعدك في تنشيط المصنف الذي تريد العمل عليه.

تنشيط المصنف

لتنشيط مصنف باستخدام VBA، يجب عليك استخدام أسلوب Workbook.Activate. في هذه الطريقة، تحتاج إلى تحديد اسم المصنف باستخدام كائن المصنف. كما يسمح لك باستخدام رقم المصنف بدلاً من اسم المصنف، ولكن يمكنك فقط الرجوع إلى المصنفات المفتوحة.

في هذا البرنامج التعليمي سننظر في طرق مختلفة لاستخدام هذه الطريقة.

خطوات تفعيل المصنف

نوع المجلدات
  1. اكتب “Binders” لاستخدام كائن الموثق.
  2. حدد اسم المصنف بين علامتي اقتباس مزدوجتين.
  3. أدخل نقطة (.) للحصول على قائمة بالخصائص والأساليب.
  4. حدد طريقة التنشيط من القائمة أو يمكنك أيضًا إدخالها.
  5. في النهاية، قم بتشغيل الكود لتنشيط المصنف.
 Sub vba_activate_workbook() Workbooks("Book3").Activate End Sub

ملاحظة: إذا حاولت تنشيط مصنف غير مفتوح، فسيعرض VBA خطأ.

vba-سوف تظهر-خطأ

ذات صلة: تنشيط جدول بيانات باستخدام VBA

روابط مفيدة: تشغيل ماكرومسجل الماكرو – محرر Visual Basic – دليل وحدات الماكرو الشخصية

تنشيط المصنف باستخدام الرقم

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

 Sub vba_activate_workbook() Workbooks(2).Activate End Sub
تفعيل الموثق باستخدام الرقم

وإذا حاولت تنشيط مصنف باستخدام رقم غير موجود، فسيظهر لك VBA خطأ وقت التشغيل ‘9’ (منخفض خارج النطاق).

vba-سوف-يظهر-خطأ-وقت التشغيل-9

تنشيط هذا المصنف

يمكنك الرجوع إلى المصنف الذي تكتب فيه التعليمات البرمجية باستخدام خاصية ThisWorkbook. لنفترض أن لديك خمسة مصنفات مفتوحة في نفس الوقت ولكنك تعمل على “Book1.xlsm”، لذلك عند تشغيل التعليمات البرمجية التالية فإنه سيتم تنشيط “Book1.xlsm”.

 Sub vba_activate_workbook() ThisWorkbook.Activate End Sub

تحقق قبل تنشيط المصنف

كما قلت، عندما تحاول تنشيط مصنف غير مفتوح، يظهر لك VBA خطأ. لحل هذه المشكلة، أفضل طريقة هي التحقق أولاً من اسم المصنف (سواء كان مفتوحاً أم لا) ثم تنشيطه.

 Sub vba_activate_workbook() Dim wb As Workbook For Each wb In Workbooks If wb.Name = "Book3.xlsx" Then wb.Activate MsgBox "Workbook found and activated" Exit Sub End If Next wb MsgBox "Not found" End Sub

باستخدام الكود أعلاه يمكنك تحديد اسم مصنف وهذا سوف يقوم أولاً بالتحقق من هذا المصنف في جميع المصنفات المفتوحة، وإذا وجد المصنف فسوف يقوم بتنشيطه.

تعليقات

  • عند استخدام اسم المصنف، تأكد من استخدام ملحق الملف الصحيح
  • إذا كنت تريد تنشيط مصنف لم يتم حفظه بعد، فيجب عليك استخدام اسم هذا المصنف فقط دون إضافة ملحق الملف.
ما هو فبا

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

اضف تعليق

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