كيفية إنشاء الوظيفة الإضافية الخاصة بك لبرنامج Microsoft Excel

حتى إذا كنت لا تعرف كيفية البرمجة ، فهناك العديد من الأماكن (الكتب والمواقع والمنتديات) حيث يمكنك العثور على كود ماكرو VBA جاهز لعدد كبير من المهام النموذجية في Excel. من واقع خبرتي ، يقوم معظم المستخدمين ، عاجلاً أم آجلاً ، بتجميع مجموعتهم الشخصية من وحدات الماكرو لأتمتة العمليات الروتينية ، سواء كانت ترجمة الصيغ إلى قيم ، أو عرض المجاميع في الكلمات ، أو تجميع الخلايا حسب اللون. وهنا تبرز المشكلة - يجب تخزين رمز الماكرو في Visual Basic في مكان ما لاستخدامه لاحقًا في العمل.

الخيار الأسهل هو حفظ رمز الماكرو مباشرة في ملف العمل بالانتقال إلى محرر Visual Basic باستخدام اختصار لوحة المفاتيح قديم+F11 وإضافة وحدة فارغة جديدة عبر القائمة إدراج - وحدة:

ومع ذلك ، هناك العديد من العيوب مع هذه الطريقة:

  • إذا كان هناك الكثير من ملفات العمل ، وكان هناك حاجة إلى ماكرو في كل مكان ، مثل ماكرو لتحويل الصيغ إلى قيم ، فسيتعين عليك نسخ الكود في كل كتاب.
  • لا يجب نسيانه حفظ الملف بتنسيق ممكّن بماكرو (xlsm) أو بتنسيق كتاب ثنائي (xlsb).
  • عند فتح مثل هذا الملف حماية الماكرو سيصدر في كل مرة تحذيرًا يحتاج إلى الاعتراف به (حسنًا ، أو قم بتعطيل الحماية تمامًا ، وهو ما قد لا يكون مرغوبًا دائمًا).

سيكون الحل الأكثر أناقة هو الإبداع الوظيفة الإضافية الخاصة بك (Excel Add-in) - ملف منفصل بتنسيق خاص (xlam) يحتوي على كافة وحدات الماكرو "المفضلة". مزايا هذا النهج:

  • وسوف يكون كافيا ربط الوظيفة الإضافية مرة واحدة في Excel - ويمكنك استخدام إجراءات ووظائف VBA الخاصة به في أي ملف على هذا الكمبيوتر. إعادة حفظ ملفات العمل الخاصة بك بتنسيقات xlsm- و xlsb ، وبالتالي ، ليس مطلوبًا ، لأن. لن يتم تخزين شفرة المصدر فيها ، ولكن في ملف الوظيفة الإضافية.
  • حماية لن تتضايق من وحدات الماكرو أيضًا. الإضافات هي بحكم التعريف مصادر موثوقة.
  • يمكن القيام به علامة تبويب منفصلة على شريط Excel بأزرار لطيفة لتشغيل وحدات الماكرو الإضافية.
  • الوظيفة الإضافية هي ملف منفصل. له يسهل حملها من كمبيوتر إلى كمبيوتر ، شاركه مع الزملاء أو حتى بيعه 😉

دعنا نتصفح العملية الكاملة لإنشاء الوظيفة الإضافية Microsoft Excel خطوة بخطوة.

الخطوة 1. قم بإنشاء ملف الوظيفة الإضافية

افتح Microsoft Excel بمصنف فارغ واحفظه تحت أي اسم مناسب (على سبيل المثال MyExcelAddin) بتنسيق الوظيفة الإضافية باستخدام الأمر ملف - حفظ باسم أو مفاتيح F12مع تحديد نوع الملف وظيفة Excel الإضافية:

يرجى ملاحظة أنه افتراضيًا يقوم برنامج Excel بتخزين الوظائف الإضافية في المجلد C: UsersYour_nameAppDataRoamingMicrosoftAddIns ، ولكن ، من حيث المبدأ ، يمكنك تحديد أي مجلد آخر يناسبك.

الخطوة 2. نقوم بتوصيل الوظيفة الإضافية التي تم إنشاؤها

الآن الوظيفة الإضافية التي أنشأناها في الخطوة الأخيرة MyExcelAddin يجب أن يكون متصلاً بـ Excel. للقيام بذلك ، انتقل إلى القائمة ملف - خيارات - إضافات (ملف - خيارات - الوظائف الإضافية)، انقر فوق الزر من نحن (يذهب) في الجزء السفلي من النافذة. في النافذة التي تفتح ، انقر فوق الزر التقيم (تصفح) وحدد موقع ملف الوظيفة الإضافية الخاص بنا.

إذا فعلت كل شيء بشكل صحيح ، فعندئذ لدينا MyExcelAddin يجب أن تظهر في قائمة الوظائف الإضافية المتاحة:

الخطوة 3. أضف وحدات الماكرو إلى الوظيفة الإضافية

الوظيفة الإضافية الخاصة بنا متصلة بـ Excel وتعمل بنجاح ، ولكن لا يوجد ماكرو واحد فيها حتى الآن. دعونا نملأها. للقيام بذلك ، افتح محرر Visual Basic باستخدام اختصار لوحة المفاتيح قديم+F11 أو عن طريق الزر Visual Basic علامة التبويب المطور (مطور). إذا كانت علامات التبويب المطور غير مرئي ، يمكن عرضها من خلال ملف - خيارات - إعداد الشريط (ملف - خيارات - تخصيص الشريط).

يجب أن تكون هناك نافذة في الزاوية اليسرى العليا للمحرر حملات التبرع (إذا لم يكن مرئيًا ، فقم بتشغيله من خلال القائمة عرض - مستكشف المشروع):

تعرض هذه النافذة جميع المصنفات المفتوحة وتشغيل الوظائف الإضافية لـ Microsoft Excel ، بما في ذلك وظائفنا. مشروع VBAProject (MyExcelAddin.xlam) حدده بالماوس وأضف وحدة نمطية جديدة إليه عبر القائمة إدراج - وحدة. في هذه الوحدة ، سنخزن رمز VBA لوحدات الماكرو الإضافية الخاصة بنا.

يمكنك إما كتابة الكود من البداية (إذا كنت تعرف كيفية البرمجة) ، أو نسخه من مكان جاهز (وهو أسهل بكثير). دعنا ، للاختبار ، أدخل رمز ماكرو بسيط ولكنه مفيد في الوحدة النمطية الفارغة المضافة:

بعد إدخال الرمز ، لا تنس النقر على زر الحفظ (القرص المرن) في الزاوية اليسرى العليا.

الماكرو لدينا الصيغ إلى القيم، كما يمكنك أن تتخيل بسهولة ، يحول الصيغ إلى قيم في نطاق محدد مسبقًا. أحيانًا يتم استدعاء وحدات الماكرو هذه أيضًا الإجراءات. لتشغيله ، تحتاج إلى تحديد الخلايا مع الصيغ وفتح مربع حوار خاص وحدات الماكرو من علامة التبويب المطور (المطور - وحدات الماكرو) أو اختصار لوحة المفاتيح قديم+F8. عادةً ، تعرض هذه النافذة وحدات الماكرو المتوفرة من كافة المصنفات المفتوحة ، ولكن وحدات الماكرو الإضافية غير مرئية هنا. على الرغم من ذلك ، يمكننا إدخال اسم الإجراء الخاص بنا في الحقل اسم الماكرو (اسم الماكرو)ثم انقر فوق الزر يجري (يجري) - وسيعمل الماكرو الخاص بنا:

    

هنا يمكنك أيضًا تعيين اختصار لوحة مفاتيح لتشغيل وحدة ماكرو بسرعة - الزر مسؤول عن ذلك المعلمات (خيارات) في النافذة السابقة الماكرو:

عند تعيين المفاتيح ، ضع في اعتبارك أنها حساسة لحالة الأحرف وحساسة لتخطيط لوحة المفاتيح. لذلك إذا قمت بتعيين مجموعة مثل CTRL+Й, then, in fact, in the future you will have to make sure that you have the layout turned on and press additionally تغيرللحصول على الحرف الكبير.

للراحة ، يمكننا أيضًا إضافة زر لماكرو إلى شريط أدوات الوصول السريع في الزاوية اليسرى العليا من النافذة. للقيام بذلك ، حدد ملف - خيارات - شريط أدوات الوصول السريع (ملف - خيارات - تخصيص شريط أدوات الوصول السريع)، ثم الخيار في القائمة المنسدلة أعلى النافذة وحدات الماكرو. بعد ذلك الماكرو لدينا الصيغ إلى القيم يمكن وضعها على اللوحة باستخدام الزر أضف (إضافة) وحدد رمزًا لها بالزر التغيير (تحرير):

الخطوة 4. أضف وظائف إلى الوظيفة الإضافية

لكن الماكرو الإجراءات، هناك أيضا وظيفة وحدات الماكرو أو كما يطلق عليهم UDF (وظيفة محددة من قبل المستخدم = وظيفة محددة من قبل المستخدم). لنقم بإنشاء وحدة منفصلة في الوظيفة الإضافية (أمر القائمة إدراج - وحدة) والصق رمز الوظيفة التالية هناك:

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

لاحظ أن بناء جملة الدالة يختلف عن الإجراء:

  • يستخدم البناء دور …. وظيفة النهاية بدلًا من ذلك Sub… End Sub
  • بعد اسم الوظيفة ، تتم الإشارة إلى وسيطاتها بين قوسين
  • في جسم الوظيفة ، يتم إجراء الحسابات اللازمة ومن ثم يتم تخصيص النتيجة لمتغير باسم الوظيفة

لاحظ أيضًا أن هذه الوظيفة غير ضرورية ، ومن المستحيل تشغيلها مثل إجراء الماكرو السابق من خلال مربع الحوار وحدات الماكرو والزر يجري. يجب استخدام دالة الماكرو هذه كدالة قياسية في ورقة العمل (SUM ، IF ، VLOOKUP ...) ، أي أدخل فقط في أي خلية ، مع تحديد قيمة المبلغ مع ضريبة القيمة المضافة كوسيطة:

... أو الدخول من خلال مربع الحوار القياسي لإدراج وظيفة (زر fx في شريط الصيغة) ، تحديد فئة تعريف المستخدم (تعريف المستخدم):

اللحظة الوحيدة غير السارة هنا هي غياب الوصف المعتاد للوظيفة في أسفل النافذة. لإضافته سيتعين عليك القيام بما يلي:

  1. افتح محرر Visual Basic باستخدام اختصار لوحة المفاتيح قديم+F11
  2. حدد الوظيفة الإضافية في لوحة المشروع واضغط على المفتاح F2لفتح نافذة متصفح الكائنات
  3. حدد مشروع الوظيفة الإضافية من القائمة المنسدلة الموجودة أعلى النافذة
  4. انقر بزر الماوس الأيمن فوق الوظيفة التي تظهر وحدد الأمر عقارات.
  5. أدخل وصفًا للوظيفة في النافذة الوصف
  6. احفظ ملف الوظيفة الإضافية وإعادة تشغيل إكسل.

بعد إعادة التشغيل ، يجب أن تعرض الوظيفة الوصف الذي أدخلناه:

الخطوة 5. قم بإنشاء علامة تبويب الوظيفة الإضافية في الواجهة

ستكون اللمسة النهائية ، وإن لم تكن إلزامية ، ولكنها لطيفة هي إنشاء علامة تبويب منفصلة بها زر لتشغيل الماكرو الخاص بنا ، والذي سيظهر في واجهة Excel بعد توصيل الوظيفة الإضافية الخاصة بنا.

المعلومات حول علامات التبويب التي يتم عرضها بشكل افتراضي موجودة في الكتاب ويجب تنسيقها في كود XML خاص. أسهل طريقة لكتابة وتحرير هذه التعليمات البرمجية هي بمساعدة برامج خاصة - محررات XML. يعد برنامج Maxim Novikov أحد أكثر البرامج ملاءمةً (ومجانيًا) محرر XML الشريط.

خوارزمية العمل معها هي كما يلي:

  1. أغلق جميع نوافذ Excel حتى لا يكون هناك تعارض بين الملفات عندما نقوم بتحرير كود XML للوظيفة الإضافية.
  2. قم بتشغيل برنامج Ribbon XML Editor وافتح ملف MyExcelAddin.xlam فيه
  3. مع زر علامات التبويب في الركن الأيمن العلوي ، أضف مقتطف الشفرة لعلامة التبويب الجديدة:
  4. تحتاج إلى وضع علامات اقتباس فارغة id لدينا علامة التبويب والمجموعة (أي معرفات فريدة) ، وفي ملصق - أسماء علامة التبويب الخاصة بنا ومجموعة الأزرار الموجودة عليها:
  5. مع زر زر في اللوحة اليمنى ، أضف رمزًا فارغًا للزر وأضف علامات إليه:

    - ضع الكلمة المناسبة هو النص الموجود على الزر

    - صورة - هذا هو الاسم الشرطي للصورة على الزر. لقد استخدمت أيقونة زر حمراء تسمى AnimationCustomAddExitDialog. يمكن العثور على أسماء جميع الأزرار المتاحة (وهناك عدة مئات منها!) على عدد كبير من المواقع على الإنترنت إذا كنت تبحث عن الكلمات الرئيسية "imageMso". بالنسبة للمبتدئين ، يمكنك الذهاب هنا.

    - onAction - هذا هو اسم إجراء رد الاتصال - ماكرو قصير خاص يقوم بتشغيل الماكرو الرئيسي لدينا الصيغ إلى القيم. يمكنك استدعاء هذا الإجراء ما تريد. سنضيفه بعد قليل.

  6. يمكنك التحقق من صحة كل شيء باستخدام الزر بعلامة اختيار خضراء أعلى شريط الأدوات. في نفس المكان ، انقر فوق الزر الذي يحتوي على قرص مرن لحفظ جميع التغييرات.
  7. أغلق محرر XML للشريط
  8. افتح Excel ، وانتقل إلى محرر Visual Basic وأضف إجراء رد إلى الماكرو الخاص بنا قتل الصيغبحيث يتم تشغيل الماكرو الرئيسي لدينا لاستبدال الصيغ بالقيم.
  9. نقوم بحفظ التغييرات ، والعودة إلى Excel ، تحقق من النتيجة:

هذا كل شيء - الوظيفة الإضافية جاهزة للاستخدام. املأها بالإجراءات والوظائف الخاصة بك ، وأضف أزرارًا جميلة - وسيصبح استخدام وحدات الماكرو في عملك أسهل بكثير.

  • ما هي وحدات الماكرو ، وكيفية استخدامها في عملك ، ومكان الحصول على تعليمات برمجية الماكرو في Visual Basic.
  • كيفية عمل شاشة البداية عند فتح مصنف في Excel
  • ما هو كتاب الماكرو الشخصي وكيفية استخدامه

اترك تعليق