القائمة الرئيسية

الصفحات

أخبار المواضيع [LastPost]

الدرس الثاني: التعرف على الماكرو macro (دورة VBA في برنامج الاكسل )



الدرس الثاني: التعرف على الماكرو macro 

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

خلال هذا الدرس سنتعرف على ما يلي:

1- تعريف الماكرو.

2- تطبيق عملي على الماكرو.

3- كيف نحفظ ملف إكسل يحتوي على ماكرو.

تعريف الماكرو

يمكن تبسيط تعريف الماكرو عبر الإكسل، بأنه عملية تسجيل بدون مايكروفون 😊.

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

تطبيق عملي

مثال: لنفترض أنه يوجد لدينا مدرسة فيها 50 صف دراسي، وأرادت الإدارة دراسة علامات الطلاب في مادة اللغة العربية، وقد تم تجهيز صفحة إكسل لكل صف فيها علامات الطلاب فيها، وكانت الدراسة تقتضي عمل ما يلي:

1- تحديد متوسط علامات الطلبة.

2- عمل فرز للعلامات من الأكبر للأصغر، واختيار أكبر 5 علامات ونسخها ولصقها في خلايا مستقلة.

3- عمل تنسيق للعلامات الخمسة (لون أحمر مع خط Bold).
لنتخيل أننا سنكرر هذه الإجراءات بالمرور على صفحة صفحة في ملف الإكسل، أو يمكن اللجوء لفكرة الماكرو، بأن نذهب لكل صفحة ونطلب من الإكسل تنفيذ الماكرو، فيقوم مباشرة بتنفيذ العمليات الثلاث السابقة الذكر.

الكلام كثير وأصبح ممل بدون تطبيق على الإكسل ... الآن نبدأ التطبيق.

الملف التالي يحتوي على علامات طلبة أحد الصفوف الدراسية في مدرسة، والمطلوب تنفيذ العمليات التالية:

  •  عمل تنسيق للخلايا في الجدول (توسيط البيانات داخل الخلية – رسم حدود جدول – تظليل الصف الأول لون رمادي)
  • تفعيل فلترة البيانات.
  • ترتيب البيانات من الأكبر للأصغر.
  •  في الصف رقم 18، وفي الخلية B18 يتم كتابة متوسط القيم Average مع تنسيقها بجعل رقم المتوسط أحمر وغامق وفي المنتصف وعمل حدود لخلية المتوسط.
  • يتم نسخ أول 5 أسماء مع القيم المقابلة لهم ولصقهم في منطقة فارغة بجوار الجدول.
  • عمل تنسيق للجدول الجديد، وتلوين الأسماء باللون الأحمر، وعمل الخط Bold



لتنفيذ عملية تسجيل الماكرو، نتبع ما يلي:

1- تفعيل أوامر المطور (Developer) على شريط الأوامر التابع لبرنامج الإكسل، كما يلي:
· من تبويب File، نختار options.

  • · من النافذة التي ستظهر، نختار Customize Ribbon، ومن الخيارات نفعل Developer ثم OK.

2- بالعودة لصفحة البيانات، ومن تبويب Developer، نختار Record Macro:




3- ستظهر نافذة تسأل عن بعض البيانات حول هذا الماكرو، كما يلي:
  •   Macro name: اسم يتم كتابته من قبل المستخدم عن الماكرو الذي سيسجل فيهم العمليات التي سيقوم بتنفيذها، لبرماح تحتاج لعمل أكثر من ماكرو في نفس الملف، لذا يجب أن يكون اختيار الأسماء بعنياة، هنا في مثالنا، قررت تسميته Test_1، ولاحظ أنه لا يقبل وجود فراغات في التسمية.
  • Shortcut Key: يمكنك البرنامج أن تعمل اختصار بمقتضاه إذا ضغطت على هذا الاختصار وانت تستخدم برنامج الإكسل سيتم تنفيذ ذلك الماكرو، يفضل الحذر لأن الإكسل فيه اختصارات معروفة مسبقا، مثلا Ctrl+c تستخدم لعملية نسخ البيانات، فالحذر أن تستخدم نفس الرمز، فتذهب خاصية النسخ ويتم تطبيق الماكرو الذي سجلته، لذا في البداية لا تستخدم اختصارات معرفة لهذا الماكرو.
  • Store macro in: هنا خطوة متقدمة نسبيا، في توضيح مجال تطبيق ذلك الماكرو، هل ترغب به في هذا الملف، أم في ملفات أخرى، أم صناعة ملف مستقل للماكرو، ليكون مصدر نلجأ له في حال رغبنا في استدعاء الماكرو لأكثر من ملف. سيتم شرح الخطوة لاحقاً، حاليا اختر This Workbook يعني أن ما سنقوم به من عمليات تسجيل، يمكن تطبيقها فقط في هذا الملف بكل ما يحتويه من صفحات.
  • Description: وصف كتابي، يمكن استخدامه لشرح مبسط عن محتوى هذا الماكرو، أو أية تفاصيل تراها مهمة. " لا توجد تفاصيل تراها مهمة ... بكل بساطة لا تكتب شيء في الوصف".
  • نضغط على OK.

4- نبدأ بعمل كل التنسيقات المطلوبة حسب المثال، وعند الانتهاء نضغط على Stop ، في نفس موقع Record Macro. والتي تعني لبرنامج الإكسل أن أي عمليات سيتم تنفيذها لاحقا لا تتبع لهذا الماكرو.


5- اذهب إلى الصفحة Class B، واطلب من الإكسل أن يطبق ذلك الماكرو الذي سجلناه للتو، كما يلي:

  • · من تبويب View، نتجه إلى Macros ثم نختار View Macro

  •  ستظهر نافذة، نختار منها اسم الماكرو الذي سجلناه، ثم نضغط على Run.





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

ملاحظات:

1- توجد طرق أخرى لتفعيل الماكرو وسنتعرف عليها في الدروس القادمة.

2- تعلم الماكرو لا يعني تعلم البرمجة، ولكن عمليا ما سنتعلمه في البرمجة، هو كتابة نصوص تعبر عن الماكرو.

3- أنت عملياً بتلك العمليات قد سجلت كود برمجي عبر VBA، وسنتعلم خطوة خطوة لاحقا كيف أكتب الكود البرمجي لأي عمليات أخرى ترغبها.



حفظ ملف يحتوي على ماكرو

  •  عند تسجيل ماكرو، لا بد من تعريف برنامج الإكسل عند حفظ الملف أننا نريد أن يتم تفعيل هذا الماكرو داخل الملف عند تشغيله مرة أخرى، لذلك عند حفظ الملف سنختار نوع آخر غير المتعارف عليه عند حفظنا للملف، والموضح في الشكل التالي (Excel Macro-Enabled Workbook).

·         عند تشغيل الملف مرة أخرى، ستجد رسالة تحذير في مقدمة الإكسل، بأنه قد أوقف تفعيل تشغيل الماكرو في الملف، ويمكنك كمستخدم الإبقاء على وقف التفعيل، أو إعادة التفعيل.
·         في حال أننا كنا قد حفظنا الملف على الهيئة المعتاد عليها Excel Workbook، ونحن قد أنشأنا فيه macro، فعند إغلاق الملف ستظهر الرسالة التالية:
تفيد الرسالة بأنه إذا رغبت في حفظ الملف وكأنه لم تتم عملية تسجيل الماكرو اضغط على Yes، واذا لم ترغب، اضغط على No ثم اذهب واحفظ الملف وفق ما تم شرحه سابقا Excel Macro-Enabled Workbook، لذا وجب الانتباه حتى لا تضيع كل أعمالك بخطأ في التركيز.
يجب الانتباه أيضا، أن الملف وإن فقد الماكرو الذي تم تسجيله، ولكن العمليات التي تمت من خلاله من تنسيقات ومعادلات ستبقى مطبقة في ملف الإكسل بشكل عادي، إلا أن الماكرو نفسه لن يكون له وجود في الملف.



هل اعجبك الموضوع :

تعليقات