15‏/05‏/2017

انشاء اختصار وصول لأكواد VBA

انشاء اختصار وصول لأكواد VBA


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

1- انشاء اختصار وصول لأكواد VBA من لوحة المفايتح:

يمكنك انشاء اختصار وصول لأكواد VBA – ماكرو لديك عن طريق نسب (او اعطاء) اختصار لوحة مفاتيح مخصص للكود الذي ترغب بانشاء اختصار وصول له كما يلي,
من تبويب المطور – Developer, اختر الأيقونة وحدات الماكرو – Macros, ثم حدد الكود الذي تنوي عمل اختصار له (في حال كان لديك اكثر من كود VBA – ماكرو)

انشاء اختصار وصول لأكواد VBA
ايقونة ماكرو – Macros



انشاء اختصار وصول لأكواد VBA
قائمة الأكواد – ماكرو المتاحة


بعد ذلك, اضغط على زر خيارات – Options وحدد الاختصار الذي ترغب باستخدامه لاستدعاء هذا الكود (مع  اضافة اي شرح قد تود اضافته لتذكيرك بعمل هذا الكود مثلاً كخطوة اختيارية)


انشاء اختصار وصول لأكواد VBA
انشاء اختصار لوحة مفاتيح لكود ماكرو

ملاحظات مهمة:
  • يمكنك الوصول الى نافذة وحدات الماكرو – Macros عن طريق الضغط على اختصار لوحة المفاتيح Alt + F8 حتى وإن كان تبويب المطور – Developer غير ظاهر لديك.
  • في حال كان تبويب المطور – Developer غير ظاهر لديك, يمكنك الاستعانة بالمقال التالي لتوضيح كيفية اظهاره بشكل دائم.
  • من المهم جداً عدم استخدام اي اختصار لوحة مفاتيح مستخدم اصلاً من قبل برنامج اكسل Excel وإلا فإنك ستخسر اختصار اكسل الأصلي. مثلاً لو استخدمت الاختصار Ctrl + C (والمُستخدَم اصلاً من قبل برنامج اكسل Excel لتنفيذ عملية النسخ Copy) فإنه سيعمل بشكل صحيح لاستدعاء الكود لكنه لن يعمل لعملية النسخ. قبل أن تختار أي اختصار, افتح ورقة عمل جديدة وضع فيها بعض البيانات الوهمية ثم حدد هذه البيانات واضغط الاختصار الجديد الذي تفكر باستخدامه, إن لم يستجب اكسل Excel, إذاً فاحتمالية ان الاختصار الذي اخترته غير مستخدم مسبقاً من قبل اكسل ستكون مرتفعة نسبياً (طبعاً هذه طريقة تقريبيّة وليست تأكيديّة). بكل الأحوال, لتفادي هكذا مشكلة, انصحك دائماً باستخدام الزر Shift مع حرف. انا اخترت في مثالي السابق Shift + Q (طبعاً مع Ctrl والتي تعتبر اجباريّة)(عند اختيار الاختصار المناسب, تأكد أن خاصيّة Caps Lock غير مفعّلة لديك كونها تفعل فعل Shift)
  • في حال اخطأت واستخدمت اختصار ما ثم اردت ازالته او تعديله, كرر الخطوات السابقة ثم احذف الاختصار (في حال اردت ازالته) او غير قيمته (في حال أردت تغييره فقط)

2– انشاء اختصار وصول لأكواد VBA – ماكرو باضافة زر ضمن ورقة العمل:

في حال كنت تشك بأنك ستتذكر الاختصار الذي حددته منذ قليل, أو في حال اردت ارسال ورقة العمل (التي تحوي الكود) الى مستخدمين آخرين واحببت ان لاتعقدهم بموضوع اختصار لوحة المفاتيح, فإن اكسل Excel يتيح لك امكانية اضافة ايقونة Icon او زر Button (صورة ببساطة) الى ورقة العمل لديك ومن ثم ربط الكود – الماكرو بها (وكأنها زر Button). الخطوات كالتالي,
من التبويب ادراج –  Insert, اختر الايقونة الصور – Pictures واختر من خلالها الصورة التي ترغب باستخدامها (يمكنك البحث عن اي ايقونة أو صورة بمقاسات صغيرة مناسبة لغرض الكود من النت, تحميلها ومن ثم استخدامها في ورقة العمل لديك)

انشاء اختصار وصول لأكواد VBA
ايقونة الصور Pictures


بعد ذلك, حدد الصورة التي اضفتها بالنقر اليمين من الفأرة واختر تعيين ماكرو – Assign Macro,

انشاء اختصار وصول لأكواد VBA
اسناد ماكرو الى صورة ضمن ورقة العمل


ستظهر لك النافذة التالية والتي ستختار منها الكود الذي تبحث عنه (في حال كان لديك اكثر من كود – ماكرو) ثم اختر موافق – Ok.

انشاء اختصار وصول لأكواد VBA
اختيار الكود – الماكرو المطلوب


الآن اصبح لديك ايقونة (أو صورة) ضمن ورقة العمل, بالضغط عليها (بزر الفأرة اليسار) ستستدعي الكود (الماكرو) الذي قمت بربطه.
في حال اردت التعديل على مقاس الصورة المستخدمة أو اعداداتها أو في حال اردت تغيير موقعها في ورقة العمل أو حتى حذفها, يمكنك النقر عليها بيمين الفأرة لديك لتحديدها دون تفعيل الكود – الماكرو المرتبط بها ومن ثم قم بالتعديل الذي تريد.

3– انشاء اختصار وصول لأكواد VBA – ماكرو باضافة زر ضمن شريط أدوات الوصول السريع:

قد تحتاج ان تستخدم الكود – الماكرو المطلوب بشكل متواصل وليس فقط في ورقة عمل محددةكما أنك لاتحبذ فكرة اختصار لوحة المفاتيح, لذا ننصحك بهذا الخيار والذي من خلاله, ستضيف اختصار الكود الذي تحتاج استخدامه بشكل مستمر ليظهر كايقونة Icon او زر Button اعلى نافذة اكسل Excel اليسرى (لمستخدمي الواجهة الإنكليزية). الخطوات كالتالي,
لو دققت النظر في الزاويا اليسرى العليا لبرنامج اكسل Excel لديك (بنسخته الإنكليزية) (الزاوية اليمنى العليا للنسخة العربية) ستجد غالباً مجموعة ايقونات صغيرة وبجوارها سهم للأسفل. هذه الأيقونات مجتمعةً تسمى شريط أدوات الوصول السريع – Quick Access Toolbar, اضغط على السهم كما في الصورة ادناه واخترأوامر اضافية – More Commands,

انشاء اختصار وصول لأكواد VBA
انشاء اختصار لماكرو ضمن شريط أدوات الوصول السريع


ستظهر لك النافذة التالية حيث ستكون خطواتنا كما هو موضح ادناه,

انشاء اختصار وصول لأكواد VBA
اضافة الماكرو كايقونة في شريط أدوات الوصول السريع


  1. تأكد من تفعيل الخيار شريط أدوات الوصول السريع – Quick Access Toolbar
  2. من القائمة المنسدلة, اختر وحدات الماكرو – Macros (ليقوم اكسل باظهار كافة اكواد الماكرو المتاحة)
  3. من قائمة الأكواد المتاحة, اختر الكود الذي تنوي استخدامه (غالباً ستجد اسماء الكثير من الأكواد التي لاتعلم عنها أي شئ, لاتهمنا هنا, يمكنك تجاهلها والمتابعة)
  4. اضغط على زر اضافة – Add
  5. بشكل افتراضي, اي زر تضيفه الى شريط أدوات الوصول السريع – Quick Access Toolbar سيظهر في آخر القائمة (أي سيظهر كأول ايقونة من جهة اليمين (النسخة الإنكليزية) ضمن شريط أدوات الوصول السريع – Quick Access Toolbar), يمكنك من هذا المكان تغيير ترتيب هذه الأزرار أو بعضها حسب الحاجة.
  6. عند اضافة كود VBA – ماكرو الى شريط أدوات الوصول السريع – Quick Access Toolbar, فإن اكسل سيُظهِر ايقونة افتراضية كما في الصورة اعلاه. في حال اردت تغييرها, اضغط على زر اعادة تعيين – Modify لتختار من الاشكال الجاهزة المختلفة التي يتيحها اكسل Excel كما يمكنك هنا كتابة اي نص تريده ان يظهر عند مرور مؤشر الفأرة فوق هذه الأيقونة.

انشاء اختصار وصول لأكواد VBA
اختير ايقونة الماكرو


بعد الضغط على زر موافق, ستجد أن هناك ايقونة جديدة ستظهر ضمن شريط أدوات الوصول السريع – Quick Access Toolbar, والتي وبالضغط عليها, ستقوم بتفعيل الكود الذي قمت بربطه بها آنفاً.

يمكن اضافة هكذا زر – ايقونة الى شريط مخصص Customized Tab أو قائمة مخصصة Customized List بخطوات قريبة سيتم التطرق لها لاحقاً لكن فعلياً ستعطي ذات النتيجة (زر – ايقونة أو قائمة تظهر على واجهة برنامج اكسل Excel بشكل دائم) لذلك لم أفردها ضمن خيار منفصل

هل هناك فرق بين الطرق الثلاثة السابقة؟

حسناً, قبل الحديث عن الفروقات بين الأساليب الثلاثة, يجب توضيح نقطة مهمة جداً. انشاء اختصار وصول لأي كود لديك لايعني بالضرورة امكانية استدعاءه او تنفيذه في أي لحظة تريد فذلك يعتمد على مكان حفظ الكود (راجع المقال التالي لمزيد من المعلومات حول هذه النقطة).
الآن وبناءاً على فهم النقطة السابقة وعلى افتراض أن الكود محفوظ في ملف الماكرو الشخصي لديك Personal, فإن الإسلوب الأول (اختصار لوحة المفاتيح) والثالث (ايقونة على واجهة البرنامج) سيُمكِّناك من الوصول الى كودك المفضّل بمجرد تشغيل برنامج اكسل Excel. أما الإسلوب الثاني (ايقونة ضمن ورقة العمل نفسها) ستتيح اختصار الوصول فقط من خلال ورقة العمل هذه إذ يجب ان تفتح الورقة أولاً لتضغط على الزر الموجود ضمنها (مع ملاحظة أن هذا اختصار للكود أما الكود نفسه فيمكن تشغيله بطرغ تشغيل أكواد VBA – ماكرو الاعتياديّة مثلاً ضغط الاختصار Alt + F8 ومن ثم اختيار الكود المطلوب ثم تشغيل – Run).
بقي أن نشير إلى انك لاتحتاج انشاء اختصار وصول الى جميع أنواع اكواد VBA – ماكرو وإنما ستحتاجه فقط للتي تستدعي تشغيلاً يدوياً لتنفيذ خطوات محددة.