برنامج تعليمي للمبتدئين حول كتابة وحدات ماكرو VBA في Excel (ولماذا يجب أن تتعلم)

برنامج تعليمي للمبتدئين حول كتابة وحدات ماكرو VBA في Excel (ولماذا يجب أن تتعلم)

يمكن أن يوفر لك Excel وحدات الماكرو الكثير من الوقت أتمتة عمليات Excel التي تستخدمها كثيرًا . لكن وحدات الماكرو محدودة للغاية في الواقع. من السهل ارتكاب خطأ باستخدام أداة التسجيل ، وعملية التسجيل محرجة.





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





سنبدأ بالأساسيات.





ما هو VBA؟

VBA هو Visual Basic للتطبيقات ، وهي لغة برمجة يمكنك استخدامها في العديد من تطبيقات Microsoft. Visual Basic هي لغة برمجة ، و VBA هو الإصدار الخاص بالتطبيق منها. (أوقفت Microsoft Visual Basic مرة أخرى في عام 2008 ، لكن VBA لا يزال قويًا).

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



ومع ذلك ، يستغرق VBA بعض الوقت لتعتاد عليه.

مزايا وحدات ماكرو VBA في Excel

إذا كان VBA أكثر صعوبة من تسجيل ماكرو ، فلماذا تستخدمه؟ الإجابة المختصرة هي أنك تحصل على طاقة أكبر بكثير من وحدات ماكرو VBA.





بدلاً من النقر حول جدول البيانات وتسجيل هذه النقرات ، يمكنك الوصول إلى مجموعة الوظائف والإمكانيات الكاملة لبرنامج Excel. تحتاج فقط إلى معرفة كيفية استخدامها.

جهاز الكمبيوتر الخاص بي لن يتعرف على هاتفي

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





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

لنلقِ نظرة على ماكرو VBA بسيط لنرى كيف يعمل.

مثال على ماكرو VBA في Excel

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

سيضيف هذا الماكرو المبيعات ربع السنوية من كل متجر ويكتب هذه الإجماليات إلى الخلايا في جدول البيانات (إذا لم تكن متأكدًا من كيفية الوصول إلى مربع حوار VBA ، فراجع تجول VBA الخاص بنا هنا ):

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

قد يبدو هذا طويلاً ومعقدًا ، لكننا سنقسمه حتى تتمكن من رؤية العناصر الفردية ومعرفة القليل عن أساسيات VBA.

إعلان Sub

في بداية الوحدة ، لدينا 'Sub StoreSales ()'. يعرّف هذا فرعًا جديدًا يسمى StoreSales.

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

في نهاية الوحدة النمطية ، لدينا 'End Sub' ، والذي يخبر Excel أننا انتهينا من استخدام ماكرو VBA.

إعلان المتغيرات

تبدأ الأسطر الأولى من التعليمات البرمجية في البرنامج النصي الخاص بنا بكلمة 'خافت'. Dim هو أمر VBA للإعلان عن متغير.

لذلك ، يُنشئ 'Dim Sum1' متغيرًا جديدًا يسمى 'Sum1'. ومع ذلك ، نحتاج إلى إخبار Excel بنوع المتغير هذا. نحن بحاجة إلى اختيار نوع البيانات. هناك العديد من أنواع البيانات المختلفة في VBA --- يمكنك العثور على ملف القائمة الكاملة في مستندات تعليمات Microsoft .

نظرًا لأن ماكرو VBA الخاص بنا سيتعامل مع العملات ، فإننا نستخدم نوع بيانات العملة.

تخبر العبارة 'Dim Sum1 As Currency' برنامج Excel بإنشاء متغير عملة جديد يسمى Sum1. يحتاج كل متغير تعلنه أن يكون له عبارة 'As' لإخبار Excel بنوعه.

بدء For Loop

الحلقات هي بعض من أقوى الأشياء التي يمكنك إنشاؤها بأي لغة برمجة. إذا لم تكن معتادًا على الحلقات ، فتحقق من شرح حلقات Do-while. في هذا المثال ، نستخدم حلقة For ، والتي تمت تغطيتها أيضًا في المقالة.

إليك ما تبدو عليه الحلقة:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

هذا يخبر Excel بالتكرار خلال الخلايا الموجودة في النطاق الذي حددناه. لقد استخدمنا ملف كائن النطاق ، وهو نوع معين من الكائنات في VBA. عندما نستخدمه بهذه الطريقة - النطاق ('C2: C51') - يخبر Excel أننا مهتمون بهذه الخلايا الخمسين.

يخبر خيار 'For each' Excel أننا سنفعل شيئًا مع كل خلية في النطاق. تأتي 'الخلية التالية' بعد كل شيء نريد القيام به ، وتخبر Excel ببدء الحلقة من البداية (بدءًا من الخلية التالية).

لدينا أيضًا هذه العبارة: 'إذا كانت فارغة (خلية) ، فاخرج من أجل'.

هل يمكنك تخمين ماذا يفعل؟

ملحوظة: بالمعنى الدقيق للكلمة، ربما كان استخدام حلقة while هو الخيار الأفضل . ومع ذلك ، من أجل التدريس ، قررت استخدام حلقة For مع خروج.

كيفية تغيير رمز ملف windows 10

عبارات If-Then-Else

يقع جوهر هذا الماكرو المحدد في عبارات If-Then-Else. إليك تسلسل العبارات الشرطية لدينا:

If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If

بالنسبة للجزء الأكبر ، ربما يمكنك تخمين ما تفعله هذه العبارات. قد لا تكون على دراية بـ ActiveCell. يخبر `` ActiveCell.Offset (0، -1) '' Excel أن ينظر إلى الخلية الموجودة في عمود واحد على يسار الخلية النشطة.

في حالتنا ، هذا يخبر Excel أن يستشير عمود رقم المتجر. إذا عثر Excel على 1 في هذا العمود ، فإنه يأخذ محتويات الخلية النشطة ويضيفها إلى Sum1. إذا عثرت على 2 ، فإنها تضيف محتويات الخلية النشطة إلى Sum2. وما إلى ذلك وهلم جرا.

يمر Excel عبر كل هذه العبارات بالترتيب. إذا كان عبارة شرطية مقتنع ، فإنه يكمل بيان إذن. إذا لم يكن كذلك ، فإنه ينتقل إلى ElseIf التالي. إذا وصل الأمر إلى النهاية ولم يتم استيفاء أي من الشروط ، فلن يتخذ أي إجراء.

تركيبة الحلقة والشرطية هي ما يدفع هذا الماكرو. تخبر الحلقة Excel بالمرور عبر كل خلية في التحديد ، وتخبرها الشرطية بما يجب فعله بهذه الخلية.

كتابة قيم الخلية

أخيرًا ، نكتب نتائج حساباتنا إلى الخلايا. فيما يلي الأسطر التي نستخدمها للقيام بذلك:

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

باستخدام '.Value' وعلامة يساوي ، قمنا بتعيين كل من هذه الخلايا على قيمة أحد المتغيرات الخاصة بنا.

وهذا كل شيء! نخبر Excel أننا انتهينا من كتابة هذا الجزء الفرعي باستخدام 'End Sub' ، وأن ماكرو VBA قد اكتمل.

عندما نقوم بتشغيل الماكرو بامتداد وحدات الماكرو زر في مطور علامة التبويب ، نحصل على المبالغ لدينا:

تجميع اللبنات الأساسية لـ VBA في Excel

عندما تنظر لأول مرة إلى ماكرو VBA أعلاه ، فإنها تبدو معقدة للغاية. ولكن بعد تقسيمه إلى أجزائه المكونة ، يصبح المنطق واضحًا. مثل أي لغة برمجة نصية ، يستغرق الأمر وقتًا للتعود على بناء جملة VBA.

ولكن مع الممارسة ، ستنشئ مفردات VBA الخاصة بك وستكون قادرًا على كتابة وحدات الماكرو بشكل أسرع وأكثر دقة وبقوة أكبر بكثير مما كنت تستطيع تسجيلها في أي وقت مضى.

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

بمجرد أن تشعر بالراحة تجاه الأساسيات ، يمكنك البدء في استخدام VBA لأشياء مثل إرسال رسائل بريد إلكتروني من Excel وتصدير مهام Outlook وعرض معلومات جهاز الكمبيوتر الخاص بك.

انتل i3 مقابل i5 مقابل i7
يشارك يشارك سقسقة بريد الالكتروني إليك سبب إصدار مكتب التحقيقات الفيدرالي (FBI) تحذيرًا بشأن Hive Ransomware

أصدر مكتب التحقيقات الفيدرالي (FBI) تحذيرًا بشأن سلالة سيئة للغاية من برامج الفدية الضارة. إليك سبب حاجتك إلى توخي الحذر بشكل خاص من Hive ransomware.

اقرأ التالي
مواضيع ذات صلة
  • إنتاجية
  • جدول
  • مايكروسوفت اكسل
  • مايكروسوفت أوفيس 2016
  • وحدات الماكرو
  • دروس الترميز
نبذة عن الكاتب ثم أولبرايت(تم نشر 506 مقالات)

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

المزيد من Dann Albright

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك