مجدى يونس Admin
عدد المساهمات : 3773 تاريخ التسجيل : 22/02/2013 العمر : 69
| موضوع: إضافة أكواد الـ VBA في ملف الإكسل الثلاثاء أكتوبر 03, 2017 11:04 am | |
| من خلال مطالعة المواضيع المنشورة على الويب يقع تحت أيدينا أكواد تؤدي وظائف لا توجد بشكل إفتراضي في الإكسل مثل دالة تفقيط الأرقام أو كود يقوم بإرسال نسخة من الملف عبر الإيميل أو حصر أسماء الشيتات التي بالملف مع إضافة رابط Hyperlink لكل شيت؛ لإستخدام هذه الأكواد فلابد لنا من إضافتها للملف المستخدم لكي نتمكن من الإستفادة منها، وفي سبيل ذلك سنستعرض النقاط التالية:
إظهار التبويب Developer الإنتقال إلى محرر الأكواد Visual Basic Editor إضافة الكود و إستخدامه
إظهار القائمة Developer [ نسختي 2007 و 2010 ]
إذا كانت القوائم الظاهرة لديك لا تشتمل على القائمة Developer فإنك بحاجة لتفعيل أمر إظهار القائمة لأن الوضع الإفتراضي أنها تكون مخفية، ولإظهارها لابد من الوصول لإعدادت البرنامج (الإختصار Alt+F+I)
مايكروسوفت إكسل2007 من القائمة Popular نقوم بتفعيل الإختيار Show Developer Tab in the Ribbon Add VBA Code 2 your workbook 11 مايكروسوفت إكسل 2010 من القائمة Customize Ribbon نقوم بتفعيل الأمر Developer على الجانب الأيمن من شاشة إعدادت البرنامج Add VBA Code 2 your workbook 12
بعد تفعيل القائمة Developer ستجد أنه أصبح لديك قائمة جديدة كالتالي
الإنتقال إلى محرر الأكواد Visual Basic Editor
بعد إظهار القائمة Developer يمكننا الأن الإنتقال لمحرر الأكواد Visual Basic Editor ويختصر في VBE وذلك من خلال الأمر Visual Basic في Developer » Code » Visual Basic أو من خلال إستخدام (الإختصار ALT+F11)
في حالة إستخدامك لنسخة 2003 يمكنك الوصول لل VBE من خلال القائمة Tools » Macro » Visual Basic Editor
بذلك سننتقل لمحرر الأكواد كما في الشكل التالي
لا تقلق من هذه الواجهة الجديدة فبإذن الله سيتم إعداد موضوع خاص عن عناصر واجهة ال Visual basic Editor إضافة الكود و إستخدامه
الأن وصلنا لمحرر الأكواد ولم يتبق لنا إلا إضافة الكود الذي لدينا ومن ثم تشغيله، ولإضافة الكود لابد من التعرف على المواضع التي يمكن إضافة الكود بها
شيت محدد في الملف Sheet ملف الإكسل This Workbook وحدة نمطية Module يوزر فورم User Form Class Module
لإضافة الكود في أحد المواضع (الكائنات Objects) السابقة نقوم بالنقر المزدوج Double Click عليها ليظهر لنا الموضع الذي سندرج الكود به وهو النافذة Code
لاحظ أن الوضع الإفتراضي للملف في بيئة VBE يشتمل على كائن لكل شيت في الملف Sheet1 , Sheet2 بالإضافة لكائن خاص بالملف ككل وهو ThisWorkbook لكننا هنا لن نُضيف الكود في هذه الكائنات بل سنقوم بإضافتها في كائن مستقل يُسمى بالوحدة النمطية Module.
لإضافة وحدة نمطية Moduleجديدة ننتقل للقائمة Insert ونختار Module بذلك سيتم إضافة Module جديد في الملف الحالي
الأن بالنقرالمزدوج Double Click على الوحدة النمطية الجديدة سيتم تفعيل نافذة الكود Code وبها ندرج الكود المراد إستعماله
Sub UnhideAll() ‘ Unhide all sheets at once ‘ Source : ‘ http://www.automateexcel.com/2004/12/14/excel_vba_unhide_all_worksheets/ Dim WS As Worksheet For Each WS In Worksheets WS.Visible = True Next End Sub
الكود السابق يقوم بإظهار جميع الشيتات المخفية Unhide مرة واحدة.
الأن نعود مرة اخرى للإكسل بواسطة الإختصار (alt+q)
لتنفيذ الكود نذهب لمربع الحوار Macros من خلال الضغط على (الإختصار Alt+F8) ثم نقوم بتحديد الكود الذي نريد تشغيله ثم نضعط على Run.
الأن نقوم بحفظ الملف بالإمتداد المناسب الذي يمكننا من حفظ الكود في الملف
الإمتداد XLS » إمتداد نسخة 2003 وبه سيتم حفظ كود الماكرو دون حذف الكود الإمتداد XLSX » إمتداد ملف الإكسل الخاص ببنسخة 2007 وما يليها لكن لا يمكن إضافة أكواد في ملف بهذا الإمتداد الإمتداد XLSM » إمتداد خاص بملفات الإكسل التي تشتمل على اكواد وهو أحد الإمتداد الجديدة المصاحبة لنسخة 2007 ومايليها.
_________________ لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك | |
|