مشاركة: دورة كاملة في شرح vba وتطبيقاته في إكسيل من تحت الصفر
الدرس الثاني
الجزء الثاني ( الماكــرو Macro )
في هذا الجزء سوف تتعلم :
** عملية تسجيل الماكرو ..
** كيفية جعل مهمة معينة عملية أوتوماتيكية ..
1) تسجيل أول ماكرو لك ...
يمكنك استخدام مسجل الماكرو الموجود أصلا في إكسيل ليترجم إجراءاتك في محرر أوامر VBA ، وبعد انتهاءك من تسجيل الماكرو يمكنك أن ترى أكواد هذه العلمية في مستعرض الأكواد Module window ، وقبل عملك للماكرو قم بتحديد الخطوات والإجراءات والأوامر التي تريد من الماكرو أدائها ، واعلم جيداً أن أية حركة أو إجراء ولو بسيط تقوم بعمله أثناء تسجيل الماكرو سيتم تسجيله في محرر VBA تلقائيا واعتبارها عملية أو أمر من الأوامر ..
** في هذا المثال ، سنقوم بتسجيل ماكرو يقوم بتحديد لون خلفية الخلية إلى اللون الأصفر. لتسجيل الماكرو ، اتبع الخطوات التالية :
أ) حدد المدى على ورقة العمل ثم اختر تسجيل ماكرو جديد... ( من قائمة أدوات ثم ماكرو ثم تسجيل ماكرو جديد )
ب) في مربع حوار تسجيل ماكرو ، أكتب "SetBackgroundColor" في مربع نص اسم الماكرو . اترك باقي الخيارات الافتراضية كما هي ثم انقر على زر موافق وهذا يبدأ تسجيل الماكرو ..
ج) في لوحة لون التعبئة ، اختر مربع اللون الأصفر الفاتح وهذا العمل سوف يحدد اللون الأصفر كلون خلفية لمجموعة خلايا قمت بتحديدها .
د) لإيقاف عملية تسجيل الماكرو ، انقر على زر إيقاف التسجيل (مستطيل أزرق داكن) على شريط أدوات تسجيل ماكرو.
نعم أنت الآن قمت بعمل ماكرو جديد ، وأعطيته اسم معين ، ومهمة أو إجراء معين يقوم بعمله ..
والآن فإن الماكرو المسجل قابل للاستخدام ويمكنك تشغيله ، وقبل استخدامه دعنا نلقي نظرة على بناء الجملة داخل VBE ..
قم بالضغط على [Alt] + [F11] في نفس الوقت لفتح محرر VBA ، قم بتوسيع مستعرض وحدات المشروع Module1 في مجلد Project Explorer بالنقر على علامة (+) .
انقر نقرا مزدوجا فوق مجلد Module1 حتى يمكنك أن ترى الماكرو ..
وكما يبين الشكل فإن :
1- اسم الماكرو هو (SetBackgroundColor )
2- رقم اللون المختار كخلفية ( 36 )
3- نمط الخلفية (solid ) أي سادة .
ملاحظة مهمة :
حرف الفاصلة باللون الأخضر بمقدمة السطر تعني أنه مجرد تعليق وسيقوم VBA بتجاهله ، يمكنك دائما إدراج التعليقات عن طريق القيام بذلك .
2) تشغيل الماكرو الذي قمت بتسجيله ..
يمكننا تشغيل الماكرو داخل VBE ، ولكننا الآن سنقوم بتشغيل الماكرو داخل ورقة العمل .
أ) في أي ورقة عمل قم بتحديد نطاق معين ..
ب) تشغيل الماكرو المسجل عن طريق اختيار قائمة أدوات --- ماكرو --- وحدات ماكرو أو اضغط على [Alt] + [F8] في نفس الوقت
ج) يتم عرض مربع حوار ماكرو . ولما كان هناك واحد فقط في وحدات الماكرو ، افتراضيا الماكرو الوحيد ، يتم اختيار SetBackgroundColor. وهو اسم الماكرو الذي قمنا بتسجيله ، انقر على زر تشغيل لتشغيل الماكرو .
د) سيتم تلوين الخلايا الآن باللون الأصفر الفاتح كما نريد .
هـ) يمكنك تعديل الماكرو ، وذلك من خلال محرر VBA ، ثم نستعرض أكواد الماكرو ( نافذة الأكواد ) ومن ثم نعدل في البرمجة الخاصة بهذا الماكرو ففي مثالنا هذا يمكننا تغيير ColorIndex = 3 أي أن اللون بدلا من أن يصبح أصفر فاتح يصبح أحمر مثلا .
و) يمكننا كذلك أن نضيف ماكرو في شريط الأدوات ، وذلك من خلال عمل زر أمر ( قائمة عرض View– أشرطة الأدوات Toolbars – -- مربع أدوات التحكمControl Toolbox. ) ، ثم بعد ذلك اختيار زر أمر ، وبعد ذلك عمل هذا الزر على ورقة العمل ، بمجرد عمل هذا الزر سيطلب البرنامج تعيين ماكرو من قائمة وحدات الماكرو ليكون الخاص بهذا الزر ( أي أننا نخصص ماكرو معين يتم تشغيله بمجرد الضغط على هذا الزر )
ز) يمكنك بعد ذلك تغيير اسم الزر ، أو حتى الدخول إلى VBE عن طريق هذا الزر وتعديل الماكرو كل ذلك عن طريق الضغط بالزر الأيمن للفارة على زر الأمر واختيار تحرير النص لتغيير اسم الزر ، أو تعيين ماكرو وبعدها تحرير لتدخل في VBE .
ح) الآن بمجرد ضغطك على زر الأمر فإنك تعطي أمر بتشغيل الماكرو الذي سجلته .
ملحوظات هامة :
1-يمكنك استخدام ماكرو التنفيذ المتكرر ، وذلك بإضافة سطر أمر لكود الماكرو كالتالي : ActiveCell.Offset(1,0).Select
عند النقر على الزر الآن فإنه بعد تنفيذ أمر تغيير الألوان للخلايا النشطة فإنه سينزل صف واحد لأسفل …
2- لماذا في بداية تسجيل الماكرو قمنا بتحديد أي نطاق أولا وبعد ذلك قمنا بما فعلناه من خطوات ؟ ذلك أننا بذلك أعطينا أمر للماكرو بأن يتم التطبيق فقط على الخلايا النشطة من ورقة العمل .
3) الملخص ..
هكذا قمنا بعمل ماكرو ، وتشغيله ، وربطه بزر على ورقة العمل ، وقمنا بالتنفيذ المتكرر .