كيفية إنشاء VBA ماكرو أو برنامج نصي في Excel

يمكّن Microsoft Excel(Microsoft Excel) المستخدمين من أتمتة الميزات والأوامر باستخدام وحدات الماكرو والبرمجة النصية Visual Basic for Applications ( VBA ). VBA هي لغة البرمجة التي(VBA is the programming language Excel) يستخدمها Excel لإنشاء وحدات الماكرو. سيقوم أيضًا بتنفيذ أوامر مؤتمتة بناءً على شروط محددة.

وحدات الماكرو عبارة عن سلسلة من الأوامر المسجلة مسبقًا. يتم تشغيلها تلقائيًا عند إعطاء أمر محدد. إذا كانت لديك مهام في Microsoft Excel تقوم بها بشكل متكرر ، مثل المحاسبة أو إدارة المشروع أو كشوف المرتبات ، فإن أتمتة هذه العمليات يمكن أن يوفر الكثير من الوقت.

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

في هذا المقال سوف نشرح ما يلي:

  • تمكين البرامج النصية ووحدات الماكرو
  • كيفية إنشاء ماكرو في Excel
  • مثال محدد لماكرو
  • تعرف على المزيد حول VBA
  • قم بإنشاء زر(Button) لتبدأ مع VBA
  • أضف(Add Code) رمزًا لمنح وظيفة الزر(Button Functionality)
  • هل نجحت؟

تمكين البرامج النصية ووحدات الماكرو(Enabling Scripts & Macros)

قبل أن تتمكن من إنشاء وحدات ماكرو أو برامج نصية لـ VBA في (VBA)Excel ، يجب عليك تمكين علامة التبويب Developer في قائمة (Developer )الشريط(Ribbon) . لا يتم تمكين علامة المطور(Developer) افتراضيًا. لتمكينه:

  • افتح ورقة عمل Excel.
  • انقر فوق ملف(File ) > خيارات( Options ) > تخصيص الشريط.( Customize Ribbon.)

  • ضع علامة في المربع المجاور لـ Developer .

  • انقر فوق علامة التبويب Developer من قائمة (Developer)الشريط(Ribbon) .

  • بعد ذلك ، انقر فوق Macro Security وحدد المربع بجوار Enable all macros (غير مستحسن ؛ يمكن تشغيل التعليمات البرمجية التي من المحتمل أن تكون خطيرة). (Enable all macros (not recommended; potentially dangerous code can run). )
  • ثم انقر فوق "موافق".( OK.)

سبب عدم تشغيل وحدات الماكرو افتراضيًا وتأتي مع تحذير هو أنها رمز كمبيوتر قد يحتوي على برامج ضارة.

تأكد(Make) من أن المستند من مصدر موثوق إذا كنت تعمل في مشروع مشترك في Excel وبرامج (Excel)Microsoft الأخرى .

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

قم بإنشاء ماكرو في Excel(Create a Macro in Excel)

تتم إضافة جميع الإجراءات التي تتخذها في Excel أثناء تسجيل ماكرو إليها. 

  • من علامة التبويب Developer ، انقر فوق "تسجيل ماكرو"(Record Macro) .

  • أدخل اسم ماكرو(Macro name) ومفتاح اختصار(Shortcut key) ووصف . (Description. )يجب أن تبدأ أسماء الماكرو(Macro) بحرف ولا تحتوي على مسافات. يجب أن يكون مفتاح الاختصار حرفًا.

حدد المكان الذي تريد تخزين الماكرو فيه من الخيارات التالية:

  • مصنف الماكرو الشخصي(Personal Macro Workbook) : سيؤدي هذا إلى إنشاء مستند Excel مخفي مع وحدات ماكرو مخزنة لاستخدامها مع أي مستندات Excel .
  • مصنف جديد(New Workbook) : سيتم إنشاء مستند Excel جديد لتخزين وحدات الماكرو التي تم إنشاؤها.
  • هذا المصنف(This Workbook) : سيتم تطبيق هذا فقط على المستند الذي تقوم بتحريره حاليًا.

عند الانتهاء ، انقر فوق "موافق"(OK)

  • قم بتنفيذ(Run) الإجراءات التي تريد أتمتتها. عند الانتهاء ، انقر فوق إيقاف التسجيل(Stop Recording)
  • عندما تريد الوصول إلى الماكرو الخاص بك ، استخدم اختصار لوحة المفاتيح الذي قدمته له.

مثال محدد لماكرو(Specific Example Of a Macro)

لنبدأ بجدول بيانات بسيط للعملاء ومقدار الديون المستحقة عليهم. سنبدأ بإنشاء ماكرو لتنسيق ورقة العمل.

لنفترض أنك قررت أن جميع جداول البيانات يجب أن تستخدم تنسيقًا مختلفًا مثل وضع الاسم الأول والأخير في أعمدة منفصلة. 

يمكنك تغيير هذا يدويًا. أو يمكنك إنشاء برنامج باستخدام ماكرو لتنسيقه تلقائيًا بشكل صحيح من أجلك.

سجل الماكرو(Record The Macro)

  • انقر فوق تسجيل ماكرو(Record Macro) . دعنا نسميها Format_Customer_Data وانقر فوق موافق(OK)
  • للحصول على التنسيق الذي نريده ، سنقوم بتغيير اسم العمود الأول إلى الاسم الأول(First Name)
  • ثم أدخل عمودًا بجوار A وقم بتسميته اسم العائلة(Last Name)
  • قم بتمييز(Highlight) جميع الأسماء في العمود الأول (والتي لا تزال تتضمن الاسم الأول والأخير) ، وانقر فوق البيانات(Data) من شريط التنقل.
  • انقر فوق نص إلى أعمدة(Text to Columns) .

  • حدد علامة > التالي(Next ) > افصل (Delimited)بمسافة(Separate by Space) > التالي(Next ) > إنهاء(Finish) . انظر لقطة الشاشة أدناه وكيف تم فصل الاسمين الأول والأخير من خلال العملية المذكورة أعلاه.

  • لتنسيق حقل الرصيد المستحق(Balance Due) ، قم بتمييز المبالغ. انقر فوق(Click) الصفحة الرئيسية(Home ) > التنسيق الشرطي(Conditional Formatting) > تمييز قواعد الخلية(Highlight Cell Rules) > أكبر من(Greater Than ) > 0 .

سيؤدي هذا إلى إبراز الخلايا التي لها رصيد مستحق. أضفنا عددًا قليلاً من العملاء بدون رصيد بسبب زيادة توضيح التنسيق.  

  • ارجع إلى المطور(Developer ) وانقر على إيقاف التسجيل(Stop Recording) .

تطبيق الماكرو(Apply The Macro)

لنبدأ بجدول البيانات الأصلي قبل تسجيل الماكرو لتنسيقه بشكل صحيح. انقر فوق(Click) وحدات الماكرو(Macros) ، وحدد وتشغيل(Run) الماكرو الذي أنشأته للتو.

عند تشغيل ماكرو ، يتم إجراء جميع التنسيقات نيابة عنك. يتم تخزين هذا الماكرو الذي أنشأناه للتو في محرر Visual Basic(Visual Basic Editor) .

يمكن للمستخدمين تشغيل وحدات الماكرو بعدة طرق مختلفة. اقرأ تشغيل ماكرو(Run a macro) لمعرفة المزيد.  

تعرف على المزيد حول VBA(Learn More About VBA)

للتعرف على VBA ، انقر فوق Macro من علامة التبويب Developer . ابحث عن واحد قمت بإنشائه وانقر فوق تحرير.(Edit.)

الكود الذي تراه في المربع أعلاه هو ما تم إنشاؤه عندما قمت بتسجيل الماكرو الخاص بك. 

إنه أيضًا ما ستقوم بتشغيله عندما تريد تنسيق جداول بيانات دفع العملاء الآخرين بنفس الطريقة.

قم بإنشاء زر لتبدأ مع VBA(Create a Button To Get Started With VBA)

باستخدام نفس جدول البيانات أعلاه مع العملاء والمبلغ المستحق عليهم ، فلنقم بإنشاء محول العملات.

  • To insert a button element, navigate to the Developer tab. 
  • Select ActiveX Command Button from the dropdown next to Insert in the Controls section.

  • Drag the button anywhere on the spreadsheet so you can easily access it and change it later if you want.

  • To attach the code, right-click on the button and select Properties. We will keep the Name as CommandButton and the Caption to Convert (this is the button text).

Add Code To Give The Button Functionality

VBA coding doesn’t take place in the Excel interface. It is done in a separate environment.  

  • انتقل إلى علامة التبويب Developer وتأكد من تنشيط وضع التصميم(Design Mode) .

  • للوصول إلى رمز الزر الذي أنشأناه للتو ، انقر بزر الماوس الأيمن فوقه وحدد عرض الرمز(View Code) .

  • بالنظر إلى الكود الموجود في لقطة الشاشة أدناه ، لاحظ أن بداية ( Private Sub ) ونهاية ( End Sub ) للكود موجودان بالفعل.

  • سيقود الرمز أدناه إجراء تحويل العملة.

ActiveCell.Value = (ActiveCell * 1.28)

هدفنا في هذا القسم هو تحويل العملة في جدول البيانات الخاص بنا. يعكس النص أعلاه سعر الصرف من الجنيه الإسترليني(GBP) إلى الدولار الأمريكي(USD) . ستكون القيمة الجديدة للخلية هي ما هو موجود حاليًا مضروبًا في 1.28.

توضح لك لقطة الشاشة أدناه كيف يبدو الرمز في نافذة VBA بعد إدراجه.

  • انتقل إلى ملف(File ) في الجزء العلوي من التنقل وانقر فوق إغلاق والعودة إلى Microsoft Excel(click on Close and Return to Microsoft Excel) للعودة إلى واجهة Excel الرئيسية.(Excel)

هل نجحت؟(Did It Work?)

قبل أن تتمكن من اختبار الكود الخاص بك ، يجب عليك أولاً تعطيل وضع التصميم(Design Mode) (انقر فوقه) لتجنب المزيد من التعديلات وإعطاء وظيفة الزر.

  • اكتب(Type) أي رقم في جدول البيانات الخاص بك ، ثم انقر فوق الزر " تحويل(Convert) " . إذا زادت قيمة رقمك بمقدار الربع تقريبًا ، فقد نجحت.

في هذا المثال ، أضع الرقم 4 في خلية. بعد النقر فوق تحويل(Convert) ، تغير الرقم إلى 5.12. نظرًا لأن 4 مرات 1.28 تساوي 5.12 ، تم تنفيذ الكود بشكل صحيح.

الآن بعد أن فهمت كيفية إنشاء ماكرو أو برنامج نصي في Excel ، يمكنك استخدامها لأتمتة العديد من الإجراءات في Excel .



About the author

"أنا خبير مستقل في Windows و Office. لدي أكثر من 10 سنوات من الخبرة في العمل باستخدام هذه الأدوات ويمكنني مساعدتك في تحقيق أقصى استفادة منها. تشمل مهاراتي: العمل مع Microsoft Word و Excel و PowerPoint و Outlook ؛ إنشاء الويب الصفحات والتطبيقات ؛ ومساعدة العملاء على تحقيق أهداف أعمالهم. "



Related posts